javascript - 最佳实践 javascript 和多语言

标签 javascript internationalization

使用 javascript 操作 DOM 的多语言网站的最佳实践是什么?我使用 javascript 构建网站的一些动态部分。我的第一个想法是使用一个包含文本字符串和语言代码的数组作为索引。这是个好主意吗?

最佳答案

当我以前建立多语言网站时(不是很大,所以这可能不会很好地扩展),我保留了一系列“语言”文件:

  • lang.en.js
  • lang.it.js
  • lang.fr.js

每个文件都声明了一个对象,它基本上只是一个从关键字到语言短语的映射:

// lang.en.js
lang = {
    greeting : "Hello"
};

// lang.fr.js
lang = {
    greeting : "Bonjour"
};

动态加载其中一个文件,然后您需要做的就是从 map 中引用键:

document.onload = function() {
    alert(lang.greeting);
};

当然,还有很多其他方法可以做到这一点,还有很多方法可以做到这一点,但更好的是:将它们全部封装到一个函数中,这样就可以优雅地处理“字典”中缺失的短语,甚至可以整个过程都使用 OOP,并让它管理文件的动态包含,它甚至可以为您绘制语言选择器等。

var l = new Language('en');
l.get('greeting');

关于javascript - 最佳实践 javascript 和多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228835/

相关文章:

java - 无法将中文字符写入文件名

javascript - 将结束 </a> 标记移动到包含元素的末尾

c# - 如何在 xaml 和 resx 中使用 GNU gettext

ios - 为什么 Apple 使用不同的文件夹结构来进行 bundle 和字符串本地化?

javascript - 我可以在 javascript 中调用 t() 而不是 I18n.t() 吗?

html - 如何在 HTML5 中为一周输入元素指定语言?

javascript - 使用 javascript 将文件附加到输入类型 ="file"

javascript - 使用 javascript 或 jQuery 将 <a> 标签分配给 div

javascript - import 语句如何从reactJS中已安装的节点模块中查找模块?

javascript - JSON过滤属性