使用 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 的整个概念背道而驰。
我需要本地化一个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 的整个概念背道而驰。