使用 poEdit 在 Jed 本地化的 JS 源文件中查找 gettext 字符串

Using poEdit to find gettext strings in a JS source file localized with Jed

我需要本地化一个Javascript源文件,找了一下,决定用Jed(附带问题:不用[=25=就可以用],对吗?我看文档时并不清楚)。我浏览了我的 JS 文件并更改了所有需要本地化的字符串:

 var title = "Bla bla bla";

收件人:

var title = i18n.translate("Bla bla bla").fetch();

然后我打开poEdit(版本1.7.4),新建一个目录,在关键字部分,添加:

translate(
i18n.translate

然后我 运行 "Update from sources"... poEdit 没有找到任何东西。

我做错了什么?

只在关键字中添加 translate,效果很好。

没有理由向它添加 (translate( 不是有效的 JavaScript 函数名称!)而且只有一些不一致的理由就更少了关键字,而不是其他关键字。最后,xgettext 的解析器无法识别 i18n. 命名空间,因此添加它没有任何效果。

不过,除非您的需求非常简单,否则您可能需要重新考虑使用 Jed。看看 crazy(在 Jed 术语中:“sane”)API,xgettext 无法解析其处理上下文和复数的方式。 Jed 没有包含自定义工具来处理它,因此如果您想要 contexts/plurals,您似乎只能手动创建 PO(T)——这与 gettext 的整个概念背道而驰。