3

我正在使用requireJSJquery Mobile开始研究国际化应用程序的选项。

目前可用的语言(EN/DE/FR)是从数据库中提供的。当用户选择一种新语言时,我正在当前页面设置上进行更改页面jqm option allowSamePageTransition=true,它重新获取页面并将其添加到 DOM(它在 DOM 中两次,但现在没关系。

由于应用程序最终应该离线工作,我想通过 JSON/Javascript 从数据库和存储/服务器中删除语言,所以切换语言会触发相同的事件,只是这次翻译将作为 JSON 提供,我正在构建客户端上的东西。

我一直在尝试使用由i18n提供的插件来执行此操作requireJS,虽然这非常容易设置,但当用户手动切换语言时,我不得不重新加载完整的应用程序以显示新语言,这是不行的去。

问题
我已经阅读了一些关于国际化和建议框架的问题,但不确定该走哪条路,也没有真正找到任何替代方案。

考虑到这些:
- 应该小而快
- 需要与 JQM 一起工作
- 应该使用 JSON/.po 文件 我可以构建服务器端以供下载并保存在缓存/本地存储中
- 复数规则等是可以的,但不是必须的

你推荐使用什么?你的经历是什么?

感谢分享!

4

1 回答 1

4

你可以看看http://i18next.com

  • 相当主要
  • 附带requirejs支持
  • 你可以使用 JSON -> 但有一个 .mo/.po 文件的转换器
  • 适当的复数
  • 更多功能(上下文、stringf、插值、本地存储缓存……)
  • 甚至有一个 UI 来翻译你的东西
  • 应该与 jqm 一起运行

我们个人经常将它与backbone.js 和handlebars 模板引擎结合使用。但也适用于不同的设置。

我开始 i18next 的工作是因为我对目前的情况不满意。大多数图书馆很复杂或不足以提供适当的本地化 - 所以我开始了 i18next - 现在相当流行。

于 2012-12-17T07:39:27.273 回答