JS ファイルでは、Gettext の翻訳に次の形式を使用します。
var str1 = '!t[The text that should be translated]';
var str2 = '!t[Some more text]';
この JS ファイルは PHP を使用して解析され、解析された文字列は Zend Framework Zend_Translate を介して翻訳されます。生成された JS は次のようになります。
var str1 = 'The text that should be translated';
var str2 = 'Some more text';
翻訳対象の文字列を抽出し、PHP ファイルを翻訳するために Poedit を使用していますが、非常にうまく機能します。Poedit
を使用して翻訳する文字列を解析する方法はありますか?'!t[...]'
問題を解決するのは、正規表現ベースの Poedit パーサーのようなものです。そのようなパーサーはありますか?
別の方法として、言語 PHP をパラメーターとして xgettext に基づいてソース コード パーサーを定義することもできます (xgettext は .js ファイルを認識せず、それらを C ファイルとして扱うため、これを行う必要があります)。次に、JS ファイルで次の形式を使用します。
var str1 = '<?=_t("The text that should be translated")?>';
var str2 = '<?=_t("Some more text")?>';
言うまでもなく、Poedit で文字列を解析できるようにするためだけに、あちこちで php のように見えるコードを使用するのは非常にクールではありません。