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 文件中翻译文本的主要内容,如果未能解决你的问题,请参考以下文章

magento获取商品的图片

markdown Magento 2 Javascript笔记(感谢Alan Storm http://alanstorm.com/category/magento-2/)

text 弹出magento 2 javascript

javascript Magento 2 Minification Gulp Script

Magento Javascript弹出窗口

忽略 GeoIP Htaccess Rewrite 中的 magento 管理目录