Magento中Javascript的语言环境语言

vie*_*ean 3 magento

我们可以配置Magento设置语言环境语言并使用函数$this->__(string $test)进行翻译.

这个功能怎么样javascript呢?例如,当我使用validation.js和获取一些错误时,它将显示带有我设置的语言环境语言的消息.

validation.js文件位于: src/js/prototype/prototype.js

在文件内部,我们将看到一些东西:

Validation.addAllThese([
    ['validate-select', 'Please select an option.', function(v) {
                return ((v != "none") && (v != null) && (v.length != 0));
            }],
    ['required-entry', 'This is a required field.', function(v) {
                return !Validation.get('IsEmpty').test(v);
            }],
    ['validate-number', 'Please enter a valid number in this field.', function(v) {
                return Validation.get('IsEmpty').test(v) || (!isNaN(parseNumber(v)) && !/^\s+$/.test(parseNumber(v)));
            }]
]
Run Code Online (Sandbox Code Playgroud)

所以,我怎么能翻译的消息This is a required field.,Please select an option.

OSd*_*ave 10

我不确定这是不是你要问的,但是javascript消息的翻译是在app/code/Core/Mage/Core/Helper/Js.php - >中设置的,_getTranslateData()并在app/design/package /中调用主题 /template/page/html/head.phtml<?php echo $this->helper('core/js')->getTranslatorScript() ?>

我只需要自己,让我重新思考:

  1. 在phtml中添加你需要翻译的字符串:

    <script type="text/javascript">
        //<![CDATA[
            Translator.add('String to translate', '<?php echo $this->__('String to translate'); ?>');
        //]]>
    </script>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在您的javascript文件中,使用:

    Translator.translate('String to translate');
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在您可以使用您的csv翻译文件