【问题标题】:Twig, ZF2 and PoEditTwig、ZF2 和 PoEdit
【发布时间】:2015-08-24 23:11:56
【问题描述】:

将 ZfcTwig 用于 ZF2 和 twig-gettext-extractor,我仍然无法通过 poedit 从 twig 文件中提取要翻译的消息。如果我使用正式的 twig 关键字进行翻译 {% trans(MY_TEXT) %} 但不适用于内置视图助手翻译,我会工作。 {{ translate(MY_Text) }} 进行翻译,但 poedit 只是忽略它。对于新的树枝文件,我希望像往常一样让 poedit 完成这项工作.... 任何解决方案的想法?

【问题讨论】:

    标签: zend-framework2 twig gettext


    【解决方案1】:

    也许您需要编辑目录属性关键字才能对翻译可见。打开 PoEdit,转到目录 -> 属性 -> 源关键字并添加另一个关键字“翻译”。这里我附上截图。

    【讨论】:

    • 这不是线索,但无论如何谢谢。当然,存在关键字,路径和树枝解析器。问题似乎是 twig trans 和 zend 视图助手 translate 之间缺少粘合剂。
    【解决方案2】:

    问题在于您使用的提取器只是缓存文件并通过xgettext 运行它们以提取对 trans/translate/_/.. 的调用(Conti 建议的关键字。唉 ZfcTwig 将交叉编译调用将 ZF2 插件添加到 plugin('translate')->__invoke('Your Text to be translated')。当然,您现在可以将 __invoke 添加为 poedit 中的新关键字,或者您最喜欢使用 xgettext 的 gui,但它现在会找到对所有视图助手的所有调用,而不仅仅是对 @987654326 的调用@。

    我自己也遇到了这个问题,但我还没有找到令人满意的解决方案。 Twig Gettext Extension 看起来很有前途,可以编写您自己的定制 POT 文件生成器,该生成器将处理 translatetranslatePlural 视图助手调用。按原样使用扩展将绕过 ZF2 的所有转换。 ZF2 将 .mo 文件解析为内部结构,而不是使用 php-gettext mod。

    总而言之,我现在放弃了为 ZF2+ZfcTwig 自动生成 po(t) 文件,我回到了 phpArray。

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 1970-01-01
      • 2011-03-19
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      相关资源
      最近更新 更多