在 Magento 中翻译一个 escapeHtml($message) 变量
Translating a escapeHtml($message) variable in Magento
我在 magento 中翻译字符串时遇到问题:
"The minimum quantity allowed for purchase is %s."
我尝试了不同的翻译变体,包括 %d 和 *.
所以我尝试翻译语言文件中的字符串,用于 Mage_Api 和 Mage_Catalog 以及 Mage_Catalog 清单。我之前已经翻译了很多字符串,但是这个字符串不想被翻译。
所以我想手动翻译字符串,但是我 运行 遇到了问题。我找到了以下代码,其中呈现了消息:
<?php if ($messages = $this->getMessages()): ?>
<?php foreach ($messages as $message): ?>
<p class="item-msg <?php echo $message['type'] ?>">* <?php
echo $this->escapeHtml($message['text']) ?></p>
<?php endforeach; ?>
<?php endif; ?>
在渲染后的HTML中,输出如下:
<p class="item-msg error">* The minimum quantity allowed for purchase is 6.</p>
所以我想,我必须在 escapeHtml 函数中翻译一些字符串。该函数的文档不是很有用 (link)
所以我希望有人知道这个字符串在哪里,所以我可以手动覆盖它。
谢谢
帕特里克
在您的主题文件夹中创建一个 locale/[locale]/translate.csv
文件。
示例:app/design/frontend/package/theme/locale/en_US/translate.csv
并粘贴此行:
"Mage_CatalogInventory::The minimum quantity allowed for purchase is %s.","TEST The minimum quantity allowed for purchase is %s."
刷新Translations
缓存,大功告成。如果您仍然得到旧字符串,请检查 core_translate
table.
编辑:
您要查找的字符串在 Mage_CatalogInventory_Model_Stock_Item
class 中定义,位于 app/code/core/Mage/CatalogInventory/Model/Stock/Item.php
if ($this->getMinSaleQty() && $qty < $this->getMinSaleQty()) {
$result->setHasError(true)
->setMessage(
Mage::helper('cataloginventory')->__('The minimum quantity allowed for purchase is %s.', $this->getMinSaleQty() * 1)
)
->setErrorCode('qty_min')
->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products cannot be ordered in requested quantity.'))
->setQuoteMessageIndex('qty');
return $result;
}
我在 magento 中翻译字符串时遇到问题:
"The minimum quantity allowed for purchase is %s." 我尝试了不同的翻译变体,包括 %d 和 *.
所以我尝试翻译语言文件中的字符串,用于 Mage_Api 和 Mage_Catalog 以及 Mage_Catalog 清单。我之前已经翻译了很多字符串,但是这个字符串不想被翻译。
所以我想手动翻译字符串,但是我 运行 遇到了问题。我找到了以下代码,其中呈现了消息:
<?php if ($messages = $this->getMessages()): ?>
<?php foreach ($messages as $message): ?>
<p class="item-msg <?php echo $message['type'] ?>">* <?php
echo $this->escapeHtml($message['text']) ?></p>
<?php endforeach; ?>
<?php endif; ?>
在渲染后的HTML中,输出如下:
<p class="item-msg error">* The minimum quantity allowed for purchase is 6.</p>
所以我想,我必须在 escapeHtml 函数中翻译一些字符串。该函数的文档不是很有用 (link)
所以我希望有人知道这个字符串在哪里,所以我可以手动覆盖它。
谢谢 帕特里克
在您的主题文件夹中创建一个 locale/[locale]/translate.csv
文件。
示例:app/design/frontend/package/theme/locale/en_US/translate.csv
并粘贴此行:
"Mage_CatalogInventory::The minimum quantity allowed for purchase is %s.","TEST The minimum quantity allowed for purchase is %s."
刷新Translations
缓存,大功告成。如果您仍然得到旧字符串,请检查 core_translate
table.
编辑:
您要查找的字符串在 Mage_CatalogInventory_Model_Stock_Item
class 中定义,位于 app/code/core/Mage/CatalogInventory/Model/Stock/Item.php
if ($this->getMinSaleQty() && $qty < $this->getMinSaleQty()) {
$result->setHasError(true)
->setMessage(
Mage::helper('cataloginventory')->__('The minimum quantity allowed for purchase is %s.', $this->getMinSaleQty() * 1)
)
->setErrorCode('qty_min')
->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products cannot be ordered in requested quantity.'))
->setQuoteMessageIndex('qty');
return $result;
}