我有两个视图,英语和阿拉伯语默认js验证错误消息需要翻译成阿拉伯语,所以怎么办?另外,我还提供了一些有关如何执行此操作的自定义文字。
我创建了一个阿拉伯语的i18n,如果我在PHTML或PHP文件中执行回显,则工作正常,同样在Magento 2中如何将其桥接到js中
有人帮我
我有两个视图,英语和阿拉伯语默认js验证错误消息需要翻译成阿拉伯语,所以怎么办?另外,我还提供了一些有关如何执行此操作的自定义文字。
我创建了一个阿拉伯语的i18n,如果我在PHTML或PHP文件中执行回显,则工作正常,同样在Magento 2中如何将其桥接到js中
有人帮我
Answers:
您可以像这样翻译js错误消息
require([
'jquery', // jquery Library
'jquery/ui', // Jquery UI Library
'mage/translate' // Magento text translate (Validation message translte as per language)
], function($){ 
    $(window).load(function() {
        alert($.mage.__('Enter Your message here'));
    });
});
Magento2 mage/translate.js用于翻译
这为我工作:
define(
    [
        'mage/translate'
    ],
    function (
        $tr
    ) {
        $tr('<your text>'),
    }
);
深入研究之后,我知道了magento2中的本地化概念
以下是您需要遵循的内容,在我的网站上,我们有两种视图en和ar_kw阿拉伯语
获取所有短语,您需要运行命令ex
php D:\xampp\htdocs\magento2\bin\magento i18n:collect-phrases -o "D:\xampp\htdocs\magento2\app\code\Sugarcode\Test\i18n\ar_KW.csv" D:\xampp\htdocs\magento2\app\code\Sugarcode\Test它会读取我的测试模块并创建一个csv Sugarcode \ Test \ i18n \ ar_KW.csv
它将全部包含__('Some Text') and $.mage.__('Some Text')在js中并准备一个csv
删除var文件夹并运行 bin\magento setup:static-content:deploy en_US ar_KW 
它将在每个主题/ ex luma / ar_KW中创建所有js以及js-translation.json文件,当您看到此文件中显示的错误消息时,js-translation.json将以json格式包含所有js端翻译的数据只要
如果使用__则会引发错误,因此请遵循以下代码
  require([
    'jquery', // jquery Library
    'mage/translate'
   ], function($,$t){ 
        $(window).load(function() {
            alert($t('Enter Your message here'));
        });
    });
我在js翻译中遇到了同样的问题,因此我在app/i18n/...文件夹中创建了一个新的语言包并刷新了缓存。
请参阅JS模板中的翻译问题。
在模板.phtml中添加您的错误消息,例如:
 <?php  echo __('This is a required field.'); ?>
 -在线主动翻译
 -翻译
做完了