.po文件和gettext VS JSON和自定义i18n库?

时间:2011-11-14 12:27:56

标签: javascript node.js internationalization gettext po

我需要在JavaScript中为浏览器端翻译开发或找到某种轻量级类似gettext的库。如果我想转换服务器端,那么node.js最好使用相同的库。

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

2)是否有任何工作流程/服务允许将可以导出的格式(.po / json)的翻译众包,这些格式可以由JavaScript i18n库使用(gettext实现,Globalize。 js等。)

2 个答案:

答案 0 :(得分:16)

1)但是,使用.po文件和JavaScript gettext库的优缺点是什么? gettext格式很常见: - 所以,如果您的服务器端已使用gettext格式,您可以与客户端共享它 - 翻译人员可能会觉得使用gettext格式(或yaml)比使用json格式更舒服 - 它有很多工具

我个人不喜欢围绕gettext构建的翻译功能 - 对我来说感觉很精致,轻量级javascript库(如http://i18next.com)感觉更好。

你可以使用的Libs:

  • jed附带纯粹的gettext实现
  • i18next支持gettext文件,但使用json方法进行翻译功能

2)是否有任何工作流程/服务允许将可以导出的格式(.po / json)的翻译众包,这些格式可以由JavaScript i18n库使用(gettext实现,Globalize。 js等。)

答案 1 :(得分:1)

使用gettext的优点是有很多可用的工具,翻译人员习惯使用它,你可以轻松地在你的javascript和前端的其他部分之间共享字符串。

您可以使用xgettext从javascript生成.po文件,但默认情况下不支持javascript。如果你使用相同的函数名称并告诉它你正在使用perl(我认为)它的工作更可靠。有一些工具可以将.po转换为json,或者只使用其中一个gettext js实现。