20

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

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

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

4

2 回答 2

19

1) 但是,使用 .po 文件和 JavaScript gettext 库的真正利弊是什么? gettext 格式相当常见: - 因此,如果您的服务器端已经在使用 gettext 格式,您可能会与客户端共享它 - 翻译人员可能会觉得 gettext 格式(或 yaml)比使用 json 格式更舒服 - 有很多工具可以解决它

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

您可以使用的库:

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

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

于 2012-10-17T08:42:37.437 回答
1

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

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

于 2011-11-14T20:25:55.287 回答