Gettext および Poedit ソフトウェアを使用して、PHP で文字列を翻訳しています。翻訳された文字列を JavaScript でも使用したいのですが、コードを HTML ドキュメントにインライン化するのではなく、外部ファイルで使用したいと考えています。インライン JS コードもレンダリングされるため、HTML ドキュメントのインライン化は問題ありません。例:
var hello = <?=_("hello");?>
トランスレータは、php コードと同じ変換テーブルを使用する必要があります (文字列が重複しているため)。
そこで私の考えは、JavaScript ファイルを PHP で「コンパイル」することでした。たとえば、外部 JS ファイルには次のコードがあります。
if (window.confirm("_translate('are_you_sure')")) {
location.href = this.href;
}
PHP スクリプトは上記のコードを読み取り、 内のすべての文字列を見つけます_translate()
。_translate('are_you_sure')
コードは翻訳された文字列に置き換えられます。_translate()
ソースのキーに _translate を追加しても、Poedit ソフトウェアは文字列を見つけられないため、動作しますが、決して翻訳されません。したがって、翻訳対象の翻訳文字列はありません。
だから私の質問は、Poeditに_translate()
javascriptファイル内の文字列を読むべきだと伝える方法ですか?