如何使用poedit解析Timber(twig)模板并检测要翻译的引用字符串

时间:2016-07-29 18:47:29

标签: html internationalization poedit timber

我想用poedit为Timber解析twig模板,我需要翻译引用的内容。问题是我无法找到不跳过引用内容的解析器。

示例:

<htmltag attribute="{{ __('value','textdomain') }}" />

是否有人知道poedit的解析器会检测引用的内容,例如html属性内容?

3 个答案:

答案 0 :(得分:3)

我找到的解决方法是设置变量并将其用作我的属性值。

{% set attr_value = __('value', 'textdomain') %}
<a href='{{ attr_value }}'>link</a>

这样,PHP和Python解析器就可以工作,如Timber documentation中所述。

使用Twig-Gettext-Extractor,由于无法识别的__()函数,我得到了一个Twig-Error-Syntax。

答案 1 :(得分:1)

使用Poedit时,不会自动识别Twig文件。要解决此问题,Timber’s documentation offers three options

  • 使用.twig
  • 启动每个{#<?php#}文件
  • 或者使用The Twig Gettext Extractor,一个«poedit友好工具,从树枝模板中提取翻译»。
  • 或者使用Python解析器。有关如何在Poedit中进行设置的信息,请参阅documentation

我选择了选项3并且效果很好。

答案 2 :(得分:0)

与OSX Sierra有同样的问题,三种解决方案都没有为我工作:

  • 在我的.twig文件上使用{#<?php#}导致poedit不能识别我的字符串
  • 使用Twig-Gettext-Extractor抛出许多错误
  • 使用python编译也会抛出很多错误

我使用第一个选项({#<?php#}在我的.twig文件上解决)但我也编辑了PoEdit PHP提取器,以便它也可以在.twig文件中搜索。 我希望这可以提供帮助,

喝彩!