【问题标题】:Using poEdit to find gettext strings in a JS source file localized with Jed使用 poEdit 在 Jed 本地化的 JS 源文件中查找 gettext 字符串
【发布时间】:2015-02-14 20:36:01
【问题描述】:

我需要本地化一个Javascript源文件,找了一下,我决定用Jed(边问:不用node.js也可以用,对吧?不清楚我正在阅读文档)。我浏览了我的 JS 文件并更改了所有需要本地化的字符串:

 var title = "Bla bla bla";

收件人:

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

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

translate(
i18n.translate

然后我运行“从源更新”... poEdit 没有找到任何东西。

我做错了什么?

【问题讨论】:

    标签: javascript gettext poedit


    【解决方案1】:

    只需将translate 添加到关键字中即可。

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

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

    【讨论】:

    • 感谢您的建议。那么您会推荐哪个 Javascript gettext 库? (我也不介意它是否需要 JSON,我可以轻松地将 .po 转换为 JSON)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2019-01-28
    • 2014-04-22
    • 2016-02-26
    • 2015-07-14
    相关资源
    最近更新 更多