我有一个使用大量 JavaScript 的 Web 应用程序,并且像往常一样,有很多文本常量将嵌入代码本身中显示给用户。
您认为实现本地化的最佳方式是什么?
我知道我需要从代码中删除这些字符串并用常量替换它们,这些常量将被定义到某个外部位置。
对于服务器端,ASP.Net 提供了一些非常巧妙的功能来处理这个问题。
在 Javascript 中最好的做法是什么?
我最好的想法是拥有一个包含网站 JS 的所有字符串常量的 JS 文件(对于每种语言,我都有不同的副本),然后在每个页面上包含此脚本首先,在所有其他人之前。
这看起来是最集中的方式,而且浪费的带宽也最少。
还有其他更好的方法吗?
谢谢!
最佳答案
这是我们的做法(在 ASP.net 中),几乎与您提到的一致: 1) 创建了两个 javascript 文件:一个定义了站点所需的所有 javascript 函数/DOM 操作,第二个称为 Messages.js:定义了所有需要本地化的字符串文字,例如 var ALERT_MSG = "Alert message英文”。
2) 创建了不同版本的 Messages.js,每个版本对应我们支持的每个语言环境并本地化了字符串。本地化的 js 文件使用 messages.locale.js 命名约定命名(例如 messages.fr-FR.js)。
3) 在“ScriptManager”中包含 js 文件,并为 Messages.js 文件提供 ResourceUICultures:这可确保正确的本地化文件嵌入到 html 输出中(如果您不使用 ASP.net,您可以构建通过进行一些文化嗅探并包含适当的 js 文件来实现此基本功能)。
4)瞧!
关于javascript - 如何实现本地化 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921433/