この問題はしばらく私を悩ませてきましたが、一度解決したいと思います。
PHP アプリケーションでtwig テンプレート エンジンを使用しています。Poeditの最新バージョン( xgettext 0.18.1 を使用) を使用して、ファイルの翻訳文字列を解析しています。
これらの手順を使用して、小枝で動作するように Poedit をセットアップしました。
すべて問題なく動作しますが、問題は、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
すると、すべて問題ないように見え、twig テンプレートの文字列がカタログに読み込まれます。
翻訳文字列を選択するために最近リリースされた twig 用のgettext-extractorがあることを私は知っています。ただし、次のような問題が発生する可能性があります。
私は symfony 2 フレームワークを使用しておらず、twig の intl 拡張も使用していません (目的に合わせて独自に構築しました)。
gettext 文字列に別の文字を使用します
{{ t('some string') }}
実際にそうでない限り、外部依存関係をさらに導入する必要はありません。 そうしないと、文字列を取得しようとする誰かが twig と gettext エクストラクタをセットアップする必要があります。
この問題を解決するために xgettext に渡すことができるフラグはありますか? 解析は正常に機能します。エラーが gettext によってスローされないようにしたいだけです。