正确使用jstranslator.xml
-
16-10-2019 - |
题
我正在尝试翻译由邮政编码在任何位置模块返回的错误消息。它们显示在浏览器警报中,因此在JavaScript中创建。
我设法使用Inline脚本方法来翻译一个:
alert( Translator.translate(error) );
Translator.add('PostalCode Required', '<?php echo $this->__('Translated text here'); ?>');
不过,我真的不喜欢那样,因为这意味着我有内联JavaScript,当我所有其他翻译都保存在全球语言环境文件夹中时,在模板文件中保存了翻译。为了使此清洁剂,我尝试使用较新的Jstranslate方法,但我无法正确运行它。
编辑:这是我遵循的教程的链接: http://en.herveguetin.com/translate-javascript-with-jstranslator-xml.html
我有一个模块config.xml定义一个模块(客户用于隐私目的替换真实名称):
<modules>
<Client_PostcodeAnywhere>
<version>0.0.1</version>
</Client_PostcodeAnywhere>
</modules>
我添加的config.xml文件的前端 - >布局部分:
<jstranslate>
<file>jstranslator.xml</file>
</jstranslate>
在config.xml的前端部分内,我添加了:
<translate>
<modules>
<client_postcodeanywhere>
<files>
<default>Client_PostcodeAnywhere.csv</default>
</files>
</client_postcodeanywhere>
</modules>
</translate>
我已经在与模块config.xml文件的位置相同的位置创建了jstranslator.xml文件:
<jstranslator>
<client-postcodeanywhere-required translate="message" module="client_postcodeanywhere">
<message>PostalCode Required</message>
</client-postcodeanywhere-required>
</jstranslator>
我已经在我的fr_fr文件夹中创建了client_postcodeanywhere.csv文件,在全球语言环境文件夹中(将英语翻译成法语):
"PostalCode Required","Translated text here"
这样做后我没有翻译,我不知道为什么。有人了解Jstranslator文件中的XML标签需要什么吗?我的人被称为“客户 - postcodeanywhere需要”,但我什至不知道这意味着什么。
解决方案 2
我的示例代码确实有效。我认为我可能在命名某个地方的命名不匹配,但现在正常工作。
其他提示
要求
- 必须声明一个模块
- 该模块必须准备好接收翻译(.csv文件 +助手和翻译节点必须在模块的config.xml中声明)