javascript - 如何实现本地化 javascript?

标签 javascript localization

我有一个使用大量 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/

相关文章:

javascript - 如何将数组中的表排列成原型(prototype)?

javascript - crossdomain.xml 配置

javascript - 我可以在 sendgrid 上使用 Javascript 吗?

javascript - 如何保持动态刷新 div 上的滚动位置?

javascript - 当用户点击回车时,出现新的输入

ios - 如何根据语言以外的标准本地化文本

xcode - 使用 Xcode 10 进行基础国际化

swift - 通过 Enum、Struct 或其他方式处理本地化字符串?

C#:获取斯堪的纳维亚语言的字母表中的字母?

c# - 如何从构建过程中删除 App_LocalResources