ローカリゼーション ファイルについていくつか検索しました。.po ファイルまたは gettext を使用できることがわかりましたが、javascript と php の両方で機能する独自のソリューションのチュートリアルまたはサンプルはありますか。
JS 言語と PHP 言語の両方で動作する、言語ごとに 1 つのローカリゼーション ファイルのみを維持したいと考えています。
誰かが私にいくつかのリンクやサンプルを教えていただければ幸いです...
ローカリゼーション ファイルについていくつか検索しました。.po ファイルまたは gettext を使用できることがわかりましたが、javascript と php の両方で機能する独自のソリューションのチュートリアルまたはサンプルはありますか。
JS 言語と PHP 言語の両方で動作する、言語ごとに 1 つのローカリゼーション ファイルのみを維持したいと考えています。
誰かが私にいくつかのリンクやサンプルを教えていただければ幸いです...
翻訳可能なテキストが JS 関数内にコード化されている場合、これは通常、問題のある設計の兆候であることがわかりました。JS は、コンテンツではなくロジックを実装するためのものです。コンテンツは PHP によって (通常はテンプレート エンジンを使用して) 提供され、JS によって使用される必要があります。そうすれば、必要なのは PHP のローカリゼーション ソリューションだけです。
(例外は常に発生します) 本当に JS ルーチン内のフレーズを翻訳する必要がある場合は、ajax 呼び出しを使用して翻訳をフェッチします。これにより、翻訳トークンを保持する辞書へのアクセスも単純化されます。これも PHP によって行われるためです。辞書は 1 か所に保管できます。
まず、できれば gettext を避けるようにしてください。これは人気があり安定していますが、翻訳のメンテナンスに負担がかかります:ソース文字列を変更する必要があり、その場合、gettext はすべてのメッセージ キーを更新する必要があり、これにより既存の翻訳が台無しになる可能性があります。一定のメッセージ キーを使用するアプローチは、長期的には維持するのがはるかに簡単です。もう使用しないキーを削除することを忘れないでください。ただし、負担は非常に小さくなります。
PHP と JavaScript で同じ翻訳ストレージ形式を使用できます。私が提案するように、キーベースのアプローチを使用する場合、おそらく JSON ベースの形式になります。JSON は、PHP と JavaScript の両方で簡単にアクセスできます。
JSON ベースの国際化用の既製の JavaScript ライブラリがいくつかあります。私はたまたまそのようなライブラリの開発者です: https://github.com/wikimedia/jquery.i18n。これを PHP に適応させるのはかなり簡単なはずです。