这个问题困扰了我一段时间,但我想一劳永逸地解决它。
我在我的 PHP 应用程序中使用了twig 模板引擎。我正在使用最新版本的Poedit(它使用 xgettext 0.18.1)来解析我的文件以获取翻译字符串。
我已经使用这些说明设置了 Poedit 以使用 twig 。
一切正常,但问题是当我更新我的 Poedit 目录时,我收到如下错误:
1:24:45 PM: somefile.twig:5: warning: unterminated string
1:24:45 PM: somefile.twig:10: warning: unterminated string
这是对话框:
这是有问题的文件:
{% extends somevar ? 'one.twig' : 'two.twig' %}
{% block blah %}
Blah blah
{% endblock %}
{% block blah2%}
<div id="some-id" class="some-class">
some content
</div>
{% endblock %}
但是,如果我在错误对话框中单击OK
,一切似乎都很好,然后将树枝模板中的字符串加载到目录中。
我知道最近发布了一个gettext-extractor for twig 来挑选翻译字符串。但是,有一些可能的问题:
我没有使用 symfony 2 框架,也没有使用 twig 的 intl 扩展(我们已经构建了自己的以适应我们的目的)。
我们对 gettext 字符串使用不同的字符
{{ t('some string') }}
我们宁愿不必引入更多外部依赖项,除非我们真的有,否则试图获取字符串的人需要设置 twig 和 gettext 提取器。
有没有我可以传递给 xgettext 的标志来解决这个问题?解析工作正常。我只是希望 gettext 不会引发错误。