Web アプリケーションでユーザーの地域/国の情報を取得するにはどうすればよいですか?
-
25-09-2019 - |
質問
私の主な目的は、異なる国(言語)の人に異なるページを見せることです。ユーザーの地域/国に基づいている必要があると思いますが、IP アドレスから取得できると思いますか?
例:*EN 国の人々にはこれが表示されます。www.example.com
※日本人の場合はこちらに派遣します。www.example.com/jp
また、これらの目的を達成するために、http ヘッダーから取得できる Web ブラウザ言語に基づく最良の方法があると言っている人も見かけました。どちらが良いのか、一般的な方法は何なのか、そしてその理由は何なのかわかりません。
アドバイスありがとうございます!
Flex と Java を使用しています。
解決
Zolo、maxmind の geoip データベースのようなものを使用すると、IP アドレスから地域/国/県を簡単に見つけることができますが、いくつかの欠点があります。
- VPN とキャッシュは誤った値を生成する可能性があります
- ユーザーはそれを簡単にオーバーライドできません。
ブラウザの Accept を使用します。米国のスペイン語を話す人は、IP が「en」になる場合でも、「en」の代わりに「es」を取得するように言語設定を設定できるため、通常はヘッダーが好まれます。
過去にこれを行う必要があったときは、言語選択ロジック内で順序付けされた優先リストが作成され、各レベルが存在する場合は後続のレベルをオーバーライドすることになりました。
- サイト上の旗アイコンをスリックすることでユーザーの好みを表現し、セッションまたは Cookie に保存します
- ドメインの TLD。.com は何も意味しません (例:mycompany.jp は日本語サイトを提供しますが、mycomany.com は「無投票」で次のレベルに進みます
- acceptヘッダーからのブラウザ言語設定
- GeoIP の最良の推測
- 英語へのフォールバック
もちろん、目標は、ユーザーの好みを最も正確に反映するものに基づいて選択することです。
他のヒント
IP2Locationのの申し出いくつかの異なる方法(彼らが行うために必要なデータを持っていますIPアドレス検索)。これは、年間$ 49のコスト、またはあなたが同じ価格のためにそれらから直接データを購入することができ、Webサービスが含まれます。
Web アプリケーションのユーザーが選択する言語を決定することは...
難しいビジネス!
これを参照してください 関連するSOの質問 またはまた これです.
もう 1 つの役立つヒントは、次のキーワードを使用することです。 GeoLocation
, 、 それでも を見つける 位置 そしてその 言語 選択すべきは、関連しているが別個の 2 つの問題です。
たとえば、地理的位置情報がジュネーブのダウンタウンを示している場合、言語としてはフランス語が選択される可能性がありますが、ドイツ語、英語、その他の言語もほぼ同様に選択されます。
前述の SO の質問から次の URL を取得しました。
無料の IP 地理位置情報サービス
- IPGeo:www.ipgeo.com
- MaxMind 地域 IP:http://www.maxmind.com/
商用 IP 地理位置情報サービス
- クオバ: http://クオバ.com/
- Digital Element/Envoy による NetAcuity: http://www.digital-element.com/
(場所ではなく) 言語を識別する場合、便利で、通常はより正確です。 HTTP ヘッダーの「」を使用します。受け入れ言語" しかし、それも誤解を招く可能性があります。日本語版のブラウザをインストールしていても、英語で読むことを好む人もいるかもしれません...
ユーザーにどの言語を提供しても、 デフォルトでは, 、サイトの別のバージョンに簡単に切り替えられるようにしてください (そして可能であれば、サイトに戻ってきたときのためにこの選択を覚えておいてください)。