Reputation: 1352
I am translating a review form. There are some phrases inside form which are predefined in Mage_Review.csv.
No problem so far. But there are two words Overall and Quality inside review form that I can't find their English source inside Mage_Review.csv. I even searched inside Mage_Rating.csv.
This is the form.phtml content. Please take a look:
<div class="form-add">
<h2><?php echo $this->__('Write Your Own Review') ?></h2>
<?php if ($this->getAllowWriteReviewFlag()): ?>
<form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
<fieldset>
<?php echo $this->getChildHtml('form_fields_before')?>
<h3><?php echo $this->__("You're reviewing:"); ?> <span><?php echo $this->htmlEscape($this->getProductInfo()->getName()) ?></span></h3>
<ul class="form-list">
<li>
<label for="nickname_field" class="required"><em>*</em><?php echo $this->__('Nickname') ?></label>
<div class="input-box">
<input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getNickname()) ?>" />
</div>
</li>
<li>
<label for="summary_field" class="required"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label>
<div class="input-box">
<input type="text" name="title" id="summary_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getTitle()) ?>" />
</div>
</li>
<li>
<label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label>
<div class="input-box">
<textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea>
</div>
</li>
</ul>
<?php if( $this->getRatings() && $this->getRatings()->getSize()): ?>
<h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4>
<span id="input-message-box"></span>
<table class="data-table" id="product-review-table">
<col />
<col width="1" />
<col width="1" />
<col width="1" />
<col width="1" />
<col width="1" />
<thead>
<tr>
<th> </th>
<th><span class="nobr"><?php echo $this->__('1 star') ?></span></th>
<th><span class="nobr"><?php echo $this->__('2 stars') ?></span></th>
<th><span class="nobr"><?php echo $this->__('3 stars') ?></span></th>
<th><span class="nobr"><?php echo $this->__('4 stars') ?></span></th>
<th><span class="nobr"><?php echo $this->__('5 stars') ?></span></th>
</tr>
</thead>
<tbody>
<?php foreach ($this->getRatings() as $_rating): ?>
<tr>
<th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th>
<?php foreach ($_rating->getOptions() as $_option): ?>
<td class="value"><input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" /></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<input type="hidden" name="validate_rating" class="validate-rating" value="" />
<script type="text/javascript">decorateTable('product-review-table')</script>
<?php endif; ?>
</fieldset>
<div class="buttons-set">
<button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"><span><span><?php echo $this->__('Submit Review') ?></span></span></button>
</div>
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('review-form');
Validation.addAllThese(
[
['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function(v) {
var trs = $('product-review-table').select('tr');
var inputs;
var error = 1;
for( var j=0; j < trs.length; j++ ) {
var tr = trs[j];
if( j > 0 ) {
inputs = tr.select('input');
for( i in inputs ) {
if( inputs[i].checked == true ) {
error = 0;
}
}
if( error == 1 ) {
return false;
} else {
error = 1;
}
}
}
return true;
}]
]
);
//]]>
</script>
<?php else: ?>
<p class="review-nologged" id="review-form">
<?php echo $this->__('Only registered users can write reviews. Please, <a href="%s">log in</a> or <a href="%s">register</a>', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?>
</p>
<?php endif ?>
Upvotes: 2
Views: 1490
Reputation: 325
What Sergey says is correct. You can translate it there, but if you want to do it via the translation files you will have to fix a minor bug in Magento's review from template. The labels in the review form template aren't passed trough the translation module
find this template:
app/design/frontend/[yourtheme]/[yourskin]/template/review/form.phtml
At line 58 (Magento 1.9) you will find this code:
<th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th>
You will have to add the translation parser ($this->__()) to the code like so:
<th><?php echo $this->__($this->escapeHtml($_rating->getRatingCode())) ?></th>
After you do this you will be able to translate the labels via the translation files
Upvotes: 2
Reputation: 182
You can translate Rating labels in Catalog > Reviews & Ratings > Manage ratings
Upvotes: 2