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

Magento Translation of Text Contained in Javascript File

本文关键字:Javascript 文件 包含 文本 翻译 Magento      更新时间:2023-09-26

我有一个模块,显示一些JavaScript文本如下:

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

我该如何将这段文字添加到我的翻译文件中?

谢谢

你必须用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,特别是当翻译是唯一的区别时。

不幸的是,Magento的翻译系统不能管理Javascript文件(尽管它应该)。

处理这个问题的一种方法是使用默认的皮肤文件夹来存储CSS和JS,这样你的不同的存储视图就会回到这个文件夹中,你可以在默认文件夹中进行所有的CSS更改。然后,例如,使用德语商店视图,将System >> Config >> Design下的Skin (Images / CSS)文件夹指定为eg。german

我们本质上拥有的是一个后备系统,您可以将德语Javascript文件上传到该文件夹,同样也可以将其他不同语言的存储视图上传到该文件夹。

所有你的其他资产,不需要不同的每个商店坐在默认文件夹下,所以他们不需要上传x次,其中x是你的商店数量。

希望这是有意义的,如果不让我知道!