1

現在、スペイン語で動作するAppEngine/Python/Djangoアプリケーションを開発しました。多言語サポートで国際化を進めています。それは基本的にデートするウェブサイトで、人々が他のプロフィールをブラウズしてメッセージを送ることができます。プロファイルを異なる言語で表示すると、選択された言語でテキスト(メニューなど)の一部が表示されますが、ユーザーが作成したコンテンツ(ユーザープロファイルまたはメッセージ)は、書き込まれた元の言語で表示されます。複数言語のウェブサイト - 異なる言語に必要な固有のURL(キャッシュを防止するため)?

私の質問は、同じページを異なる言語で表示するために一意のURLを使用する必要があるのか​​、別の言語で表示されている特定のページに対して同じURLをオーバーロードしても問題ありません。特に、複数の言語に同じURLを使用すると、一部のページがキャッシュされている可能性があります(Googleまたは他のプロキシによって認識されない可能性があります)。ユーザに表示される。

これが正当な懸念事項であるかどうか知っていますか、それとも起こりそうなことについて心配していますか?

答えて

4

、あなたはキャッシュが動作し、ユーザーに間違った言語を提供しないようにする方法を制御するためにContent-LanguageVaryレスポンスヘッダとAccept-Languageリクエストヘッダを使用することができます。

しかし、実際にはAccept-Languageはブラウザで間違って設定されることが多く、ほとんどのサイトがそれに頼っていないか、少なくともセカンダリメカニズムを提供しています。キャッシュは、Varyヘッダーを尊重することについて同様に信頼性が低い可能性がありますが、わかりません。言語固有のURLを使用することは確かに実用的な方法であり、キャッシュに関する潜在的な問題を回避します。

3

私は、これはジャンゴでどのように動作するかわかりませんが、一般的なウェブ開発の観点からそれを見て、あなたは可能性:

  • (例えば/foo/bar/page.py?lang=en)言語を決定するためにクエリパラメータを使用します
  • urlパスに言語コード(例:/foo/bar/en/page.py)を追加し、必要に応じてmod_rewriteを使用して、パスのその部分がクエリパラメータとしてスクリプトに渡されるようにします。原則として

関連する問題