我正在开发一个需要国际化功能的单页应用程序(将所有静态字符串翻译成用户的语言并设置日期和货币格式)。
我正在使用 Ember.js,因此大多数静态字符串都在 html 块中(在模板或视图中)或在典型的 Javascript 消息中,例如“您确定要删除 ...”(控制器文件的一部分) .
我正在寻找有关如何从应用程序中抽象出所有这些字符串和其他特定于语言环境的位的最佳实践和经验。
我主要看到一个问题,即用户语言仅在登录后才确定。但是在那一刻,完整的应用程序已经加载(英文),因此“重定向”到另一种语言实际上是不可能的(除非您在应用程序启动时加载所有可能语言的所有字符串 - 但这需要太多数据在开始时加载)。
欢迎任何反馈!
- 更新 -
与此同时,我发现了 ember-i18n 库,我可以使用它来翻译字符串(https://github.com/jamesarosen/ember-i18n)。
然而,我的主要问题仍然存在:如何在登录后动态加载与所选语言相对应或与用户语言相对应的 translation.js 文件?
有没有办法存储选定的语言,以便在下次应用程序启动时,应用程序使用正确的语言(从而在呈现 UI 之前加载正确的翻译文件)。
希望有人可以提供帮助。
马克