Javascript文件中包含的文本的Magento翻译

时间:2013-06-02 22:19:00

标签: javascript magento translation

我有一个模块,可以在JavaScript中显示一些文本,如下所示:

                        success: function (data) {
                            $('#contact-container .contact-loading').fadeOut(200, function () {
                                $('#contact-container .contact-title').html('Thank you!');
                                msg.html(data).fadeIn(200);
                            });
                        },

如何将此文本添加到我的翻译文件中?

感谢

2 个答案:

答案 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是您的商店数量。

希望这是有道理的,如果没有,请告诉我!