我有两个视图,英语和阿拉伯语默认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.'); ?>
-在线主动翻译
-翻译
做完了