これに取り組むにはいくつかの方法があります。それらのどれも「最良の方法」ではなく、短期的または長期的に問題を抱えています。最初に言うことは、多言語サイトは簡単ではなく、翻訳者や素敵な人々ですが、一緒に仕事をするのは難しく、ほとんどのプログラマーはこの問題を技術的なものとしてのみ見ています。翻訳するのかローカライズするのかについては、この回答の範囲外の別の側面もあります。これには、対象となる聴衆の文化的慣習を見てから、その文化に合わせて言語、スタイル、レイアウト、色、書体などを調整することが含まれます。最後に、MT、機械翻訳、
右。ソリューション。サイトを書き直したくないということに基づいて、所有しているサイトのクローンを作成し、コピーをターゲット言語に翻訳するだけです。コードベースが安定していると仮定すると、VCSを使用してコードの変更を管理できます。サイトの個々の部分をターゲット言語に合わせて調整できます。たとえば、フランス語のテキストは同等の英語のテキストよりも平均30%大きいため、1つのサイトを使用して配信すると、フォーマットの問題が発生し、言語に応じて、異なるcssファイルを入力および出力します。それを行うには不格好な方法に思えるかもしれませんが、サイトはどのくらいの期間存在するのでしょうか。この方法で行うことによる管理オーバーヘッドは、他のオプションよりも少ない可能性があります。
再構築せずに2番目の方法。現在のサイトのすべてのコンテンツをタグに置き換えてから、ファイルまたはデータベーステーブルに別の言語を配置し、ユーザーの希望する言語をスニッフィングします(設定できる登録ユーザーがいますか、ブラウザーの言語タグを取得しますか?選択を行うのはURLdot-comdot-fr、dot-deになります)、タグをターゲット言語に置き換えます。次に、サイズの問題と画像の問題に別々に対処する必要があります。このソリューションは、SymfonyやZendなどのフレームワークがl10nを実装するときに有効になります。
次に、フレームワークまたはgettextを使用して再構築し、よりクリーンなソリューションを使用できますが、フレームワークは翻訳ではなく他の問題を解決するように設計されており、翻訳コンポーネントは完全なソリューションではなく部分的なソリューションとしてフレームワークに組み込まれています。
すべてのソリューションの大きな問題は、継続的なメンテナンスです。コードベースだけでなく、維持する複数の言語ベースもあるからです。すべてを1つのソリューションにまとめることが本当に賢く効果的でない限り、進行中のタスクを実行することは困難です。