javascript - 如何在多语言网站中翻译JS中的单词?

标签 javascript jquery translation nopcommerce

我正在使用 nopCommerce,版本 3.50。我的网站是多语言的:俄语、英语、西类牙语。有一个用于显示产品图像的脚本 - magnific-popup。

因此,当您单击照片时,它会出现在脚本框(如 fancybox)中,并且有一些标题,例如“正在加载..、关闭 (Esc)、下一个、上一个、第 1 个,共 2 个”。它们始终为英语,与网站上选择的语言无关。我希望它采用选定的语言。

如何做到这一点?

可以用不同的语言创建字符串并进行翻译,并将它们放入 jquery.magnific-popup.js 文件中。字符串看起来像这样 — @T("magnificpopup.right")。但 JS 会忽略字符串,可能是因为它是一个单独的脚本,不涉及此 CMS。

options: {
    enabled: false,
    arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
    preload: [0,2],
    navigateByImgClick: true,
    arrows: true,

    tPrev: 'Previous (Left arrow key)',
    tNext: '@T("magnificpopup.right")',
    tCounter: '%curr% of %total%'
}

如何在 JS 文件中正确设置这些字符串? 我该如何解决我的问题?

感谢您的帮助。

最佳答案

这里是 Magnific popup l18n 的文档:http://dimsemenov.com/plugins/magnific-popup/documentation.html#translating

根据它,您应该在加载 magnific-popup.js 脚本的行之后页面的 JS 代码中。

var language = //you should get it from browser settings/cookies or server side

if(language == 'ru_RU'){

$.extend(true, $.magnificPopup.defaults, {
  tClose: 'Закрыть (Esc)', // Alt text on close button
  tLoading: 'Загрузка...', // Text that is displayed during loading. Can contain %curr% and %total% keys
//other lines 
  });

} else if (language == 'en_US'){

$.extend(true, $.magnificPopup.defaults, {
  tClose: 'Close (Esc)', // Alt text on close button
  tLoading: 'Loading...', // Text that is displayed during loading. Can contain %curr% and %total% keys
//other lines 
  });
} else if ( // other languages

关于javascript - 如何在多语言网站中翻译JS中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652385/

相关文章:

javascript - 基本整页设置不起作用?

javascript - 为什么我们在一个语句中将函数包裹在括号中两次?

javascript - jQuery 克隆性能

javascript - 在 rails 3 中做 $(document).ready(.....) 的不显眼的方式

获取静态文本和特殊字符的国际化

javascript - 在 disqus 评论脚本中更改语言

image - 在 wordpress 表情符号翻译功能中添加更多字符串...搜索引擎友好吗?

javascript - react native ,单击按钮时加载组件

jquery - datatable 增加表格搜索过滤器宽度

javascript - 为什么 `keyup` 和 `if` 在我的代码中不起作用?