ユーザーがサイトにアクセスすると、国コードを取得できます。これを使用してデフォルトの言語を設定したいと思います(必要に応じて後で変更できます。国に基づいてどの言語を話すかについての一般的な推測にすぎません)。
どこかに存在する国コードから言語コードへの決定的なマッピングはありますか? 私はそれを見つけることができませんでした。特定の国のすべての人が同じ言語を話すわけではないことはわかっていますが、一般的なマッピングが必要なだけです。ユーザーは後で手動で言語を選択できます。
ユーザーがサイトにアクセスすると、国コードを取得できます。これを使用してデフォルトの言語を設定したいと思います(必要に応じて後で変更できます。国に基づいてどの言語を話すかについての一般的な推測にすぎません)。
どこかに存在する国コードから言語コードへの決定的なマッピングはありますか? 私はそれを見つけることができませんでした。特定の国のすべての人が同じ言語を話すわけではないことはわかっていますが、一般的なマッピングが必要なだけです。ユーザーは後で手動で言語を選択できます。
「国の言語マッピング」を検索すると、この「国別の言語」テーブルが表示されます。これは、少しの作業で言語コードに変換できる可能性があります。(200カ国未満です。)
ただし、警告:これを行うと、スイスやカナダなどの多言語の国の多くのユーザーを苛立たせることがほぼ確実になります。このような国では、UIのメインページでユーザーが言語を選択できるようにするのが通例です。いくつかの例については、 GoogleスイスまたはBestBuyCanadaを参照してください。これはまた、駐在員や旅行者を悩ませます。
さらに良いことに、Accept-Language HTTPヘッダーを使用して、使用する言語を決定してみませんか?Accept-Languageヘッダーは、ユーザーの言語を決定するときに確認するのに適切なものです。好みの順にリストが表示されるので、ユーザーがサポートしていない言語に最も堪能であるが、サポートしている他の言語にある程度流暢である場合は、正しくフォールバックできます。Accept-Languageの問題の1つは、ほとんどのユーザーがデフォルト設定のままにしておくことです。ただし、ほとんどのブラウザはデフォルトでプラットフォームの言語設定になっているはずなので、それほど悪くはありません。(一部の古いブラウザーはデフォルトで英語になります。これは、「en」が事実上、Accept-Languageが設定されていないことを意味するため、一種の惨事でした。)
国(または実際には国内の特定の場所/地域)を言語にマッピングしようとする正当な理由があるかもしれませんが、あなたの目的のために、
HTTP リクエスト ヘッダーAccept-Language、
言語選択ヒューリスティックの要素の1つとしてのみ(国コードとともに)簡単で安全な選択になる場合があります...
このアプローチは、特定の Web ブラウザーのインストールに関連付けられている既定の言語が原因でエラーになることがあります (基礎となるユーザーがインストール パッケージを選択する時間を取っていない場合や、好みの自然言語のセットアップを行っていない場合)。一方で、地理位置情報と言語の関連付けが完全に間違っていても、多くの駐在員 (好みの言語に従ってブラウザーをインストール/セットアップしている) には、より良い言語のヒントが提供されます。
一般に、このアプローチは、スイス、ルクセンブルグなどの多くの国や、ニューヨーク、ジュネーブ、マイアミなどの多くの大都市圏で、ジオロケーション (およびルックアップ テーブル) のみに基づく方法よりも優れているはずです...