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