多言語の Django Web サイトを作成しています。ユーザーがどの国からウェブサイトにアクセスしているかをサイトで確認し、それに応じて使用する言語を決定したい。
そのために使用するのに適したツールは何でしょうか?
多言語の Django Web サイトを作成しています。ユーザーがどの国からウェブサイトにアクセスしているかをサイトで確認し、それに応じて使用する言語を決定したい。
そのために使用するのに適したツールは何でしょうか?
通常のユーザーの 1 人がラップトップを持って別の国に旅行し、あなたのサイトにアクセスすると、何も理解できず、言語を変更できません。
国を確認することはお勧めしません(おそらくIPによる)。代わりにAccept-Language
、クライアントのブラウザーが送信するヘッダーを探します。ユーザーが言語を手動で変更できるようにするオプションを残す必要があります (たとえば、設定をセッションに保存します)。
もう 1 つのオプションは、ウィキペディア スタイルにして、URL で言語を設定することです (en.example.com、de.example.com または example.com/en/、example.com/de/)。
私のサイトでも同様の問題が発生し、MaxMindIPフリーデータベースをモデルとして使用しました。これはミドルウェアと呼ばれています。
したがって、ユーザーがサイトにアクセスすると、ミドルウェアはIPによって国を検出し、適切な言語にリダイレクトします。
これを行う方法は複数ありますが、適切な解決策はジオターゲティング スイートを使用することです。予算に応じて、無料と有料のソリューションがあります。過去にこの種のことでDigital Element の製品 (NetAcuity) を使用したことがありますが、そのソリューションは一流です。社内サーバー ソリューション (高性能アプリケーション向け。1 秒あたり最大 30k クエリ) と、より一般的なアプリケーション向けの Web サービス ソリューションの両方を提供します。Django 内で使用できる Python を含む多数の言語の API があります。ユーザーの IP アドレスに基づいて、地理的位置、第一言語と第二言語、接続速度などの情報を照会できます。国レベルでの地理的精度は、私の経験に基づいて非常に正確です。
考慮すべき無料のソリューションは MaxMind ですが、私は MaxMind の製品に詳しくありません。