.po文件和gettext与JSON和自定义i18n库之间的选择?

22

我需要开发或找到一种类似于JavaScript的轻量级 gettext 库,用于浏览器端翻译。如果我想要在服务器端进行翻译,最好能够使用相同的库。

1) 但是,相对于使用 JSON 和 jQuery Globalize 或类似库,使用 .po 文件和 JavaScript gettext 库真正的优缺点是什么?

2) 是否有任何工作流程/服务可以允许众包翻译,并导出到可用于 JavaScript i18n 库(gettext 实现、Globalize.js 等)的格式(.po/json)?

2个回答

20

1) 但是,使用.po文件和JavaScript gettext库的利弊究竟是什么呢? gettext格式相当普遍: - 如果你的服务器端已经使用了gettext格式,则可以与客户端共享 - 翻译者可能比json格式更喜欢gettext格式(或yaml) - 有许多相关工具可供使用

我个人不喜欢围绕gettext构建的翻译函数 - 对我来说感觉笨拙,而轻量级的JavaScript库(如http://i18next.com)则更好。

可用的库:

  • jed带有纯gettext实现
  • i18next支持gettext文件,但使用json方法进行翻译函数

2) 是否存在一种工作流程/服务,允许众包翻译,并将其导出为JavaScript i18n库(gettext实现,Globalize.js等)可以使用的格式(.po / json)?


有哪些与gettext相关的函数?基本上只有一个,传递字符串并获取本地化版本。 - LtWorf
顺便提一下:还有 locize.com 这个翻译管理系统,由 i18next 的创始人创建。 - adrai

1
使用gettext的优点是有很多可用的工具,翻译人员习惯于使用它,您可以轻松地在JavaScript和前端的其余部分之间共享字符串。
您可以使用xgettext从JavaScript生成.po文件,尽管默认情况下不支持JavaScript。如果您使用相同的函数名称并告诉它您正在使用perl(我认为),它会更可靠地工作。有一些工具可以将.po转换为json,或者只需使用其中一个gettext js实现即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接