我有一个模块,可以在JavaScript中显示一些文本,如下所示:
success: function (data) {
$('#contact-container .contact-loading').fadeOut(200, function () {
$('#contact-container .contact-title').html('Thank you!');
msg.html(data).fadeIn(200);
});
},
如何将此文本添加到我的翻译文件中?
感谢
答案 0 :(得分:1)
您必须使用PHP生成此文档(并通过Magento的翻译工具传递),或者在JS中引用您通过PHP在其他地方生成的变量。
这类似于在 app / design / adminhtml / default / default / template / page / head.phtml 中设置的BLANK_URL和BLANK_IMG变量:
<script type="text/javascript">
var BLANK_URL = '<?php echo $this->getJsUrl() ?>blank.html';
var BLANK_IMG = '<?php echo $this->getJsUrl() ?>spacer.gif';
var BASE_URL = '<?php echo $this->getUrl('*') ?>';
var SKIN_URL = '<?php echo $this->getSkinUrl() ?>';
var FORM_KEY = '<?php echo $this->getFormKey() ?>';
</script>
事实上,可以在布局XML中声明和翻译此脚本。另一种选择是翻译版本依赖于主题后退 - 我倾向于喜欢DRY,特别是当翻译是唯一的区别时。
答案 1 :(得分:0)
不幸的是,Magento的翻译系统无法管理Javascript文件(应该如此)。
处理此问题的一种方法是使用默认的外观文件夹来存储CSS和JS,这样您的不同stoer视图就会回退到此文件夹,您可以在默认文件夹中进行所有CSS更改。然后,例如,使用德语商店视图,将Skin (Images / CSS)
下的System >> Config >> Design
文件夹指定为例如。 german
我们基本上拥有一个后备系统,您可以将德语Javascript文件上传到该文件夹,同样可以将其他商店视图上传到不同语言。
每个商店不需要不同的所有其他资产都位于默认文件夹下,因此无需上传x次,其中x是您的商店数量。
希望这是有道理的,如果没有,请告诉我!