Magento :: 从 javascript 文件中翻译文本
Posted
技术标签:
【中文标题】Magento :: 从 javascript 文件中翻译文本【英文标题】:Magento :: Translate text from javascript files 【发布时间】:2011-12-06 18:09:47 【问题描述】:Magento 使用一个系统来翻译模板文件中的文本:
$this->__('text to be translated.');
或
Mage::helper('modulename')->__('text to be translated.');
.
这很好用。 但是当我将文本添加到 javascript 文件时,我不能使用这两种方法。
有没有办法对 javascript 文件的翻译做类似的事情?
【问题讨论】:
这是答案:***.com/questions/1450294/… 这能回答你的问题吗? Magento, translate validation error messages 【参考方案1】:您可以在模板文件 yourfile.phtml 中执行此操作。 JavaScript js/mage/translate.js
文件必须包含在您的 HTML 标头中(Magento 默认会这样做)。
<script type="text/javascript">
Translator.add('You should take care of this confirmation message!','<?php echo Mage::helper('yourmodule')->__('You should take care of this confirmation message!')?>');
</script>
从 Magento 1.7 开始,您可以在 etc/ 文件夹下的模块中添加一个文件 jstranslator.xml 并像这样设置以下字符串:
<jstranslator>
<!-- validation.js -->
<validate-no-html-tags translate="message" module="core">
<message>HTML tags are not allowed</message>
</validate-no-html-tags>
<validate-select translate="message" module="core">
<message>Please select an option.</message>
</validate-select>
</jstranslator>
借助 CSV 文件,然后像为 PHP 所做的那样翻译字符串。这会将翻译添加到 JavaScript 代码中,如下所示 var Translator = new Translate(...)
。
【讨论】:
我之前尝试过,但没有成功。我会再试一次,只是为了确保。 不起作用...不幸的是。我在本地文件夹中为我的一个自定义模块创建了一个新助手。并在我的 .phtml 文件顶部添加了 Js。但这根本行不通。 Translator 是 Magento 的一个 javascript 变量。也许它不见了。在 Javascript 标签中尝试: new Translate('您应该处理这个确认消息!', '__('你应该处理这个确认消息!' )?>' ) 检查你的 HTML 源代码中是否有 var Translator 您能否提供一个代码示例,说明您希望在何处显示已翻译的字符串?【参考方案2】:这是用 .phtml 文件翻译 JavaScript 字符串的正确方法
Translator.add("To be translated":"<?php echo $this->_('To be translated'); ?>");
【讨论】:
【参考方案3】:我只是做了最简单的方法:
let sometext = '<?php echo $this->__('text to be translated.'); ?>' + someVarData;
【讨论】:
【参考方案4】:在 js 文件中使用这个:
Translator.translate('Some phrase');
但要使其正常工作,您应该在 phtml 中定义此翻译:
Translator.add('Some phrase', "<?php echo $this->__('Some phrase'); ?>");
【讨论】:
【参考方案5】:只需在您的脚本中使用以下方法:
Translator.translate('Some phrase');
【讨论】:
以上是关于Magento :: 从 javascript 文件中翻译文本的主要内容,如果未能解决你的问题,请参考以下文章
markdown Magento 2 Javascript笔记(感谢Alan Storm http://alanstorm.com/category/magento-2/)