多言語 PHP Web アプリケーションを開発していますが、gettext で翻訳する必要がある長い (っぽい) テキストがあります。これらは、電子メール テンプレート (通常は短いが数行) とビュー テンプレートの一部 (より長い説明的なテキスト ブロック) です。これらのテキストには、いくつかの単純な HTML が含まれます (強調のための太字/斜体など、おそらくあちこちにリンクがあります)。テンプレートは、出力がキャプチャされる PHP スクリプトです。
問題は、長いテキストを扱うには gettext が非常に扱いにくいように見えることです。一般に、長いテキストは短いテキストよりも時間の経過とともに多くの変更を加えます — msgid を変更し、すべての翻訳でそれを更新するようにします (msgid が長い場合、多くの作業が必要になり、エラーが発生しやすくなる可能性があります)、またはそのままにしておくことができます。 msgid は変更せず、翻訳のみを変更します (これにより、誤解を招く古いテキストがテンプレートに残ります)。また、gettext 文字列に HTML を含めることに対するアドバイスを見てきましたが、それを避けると、テキストの 1 つの自然な断片が多くのチャンクに分割され、翻訳と再構築がさらに大きな悪夢になります。また、反対のアドバイスも見ました。 gettext 文字列を個別の msgid に不必要に分割します。
私が見るもう 1 つのアプローチは、これらの長いテキストに対して gettext を完全に無視し、ロケールごとに外部サブテンプレートでこれらのブロックを分離し、現在のロケール用のものだけを含めることです。欠点は、gettext .po ファイルと完全に別の場所にある個別のテンプレートとの間で翻訳作業を分離していることです。
このアプリケーションは、将来的に他のアプリケーションの出発点として使用されるため、長期的に最適なアプローチを考え出そうとしています. このようなシナリオでのベスト プラクティスについてアドバイスが必要です。同様のケースをどのように実装しましたか?何がうまくいき、何が悪いアイデアになったのでしょうか?