我正在尝试翻译由邮政编码在任何位置模块返回的错误消息。它们显示在浏览器警报中,因此在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中声明)
许可以下: CC-BY-SA归因
scroll top