重複の可能性:
iOS で現在のデバイス言語を取得しますか?
別のサービスへの呼び出しの一部であるため、 3 文字の言語 ISOコードが必要です。NSLocale.CurrentLocale.Identifier を使用して国コードを取得できますが、デバイスに設定されている言語は取得できません。
重複の可能性:
iOS で現在のデバイス言語を取得しますか?
別のサービスへの呼び出しの一部であるため、 3 文字の言語 ISOコードが必要です。NSLocale.CurrentLocale.Identifier を使用して国コードを取得できますが、デバイスに設定されている言語は取得できません。
あなたができる最善のことは次のとおりです。
[[NSLocale preferredLanguages] objectAtIndex:0];
Appleのドキュメントによると、次のとおりです。
ユーザーの優先言語の順序付きリスト。
言語と地域の設定の確認で説明されているように、ユーザーはデバイスを構成するときに第一言語を選択します。また、優先度の高い言語でローカリゼーションが利用できない場合に使用するために、優先順に 1 つ以上の第 2 言語を指定することもできます。このプロパティを使用して、ロケール識別子文字列の配列として提示される、現在のユーザーの言語の順序付きリストを取得します。
詳細については、 IETF BCP 47を参照してください。
取得したものから同等の ISO 3 文字コードに自分でマッピングできます。iOS 呼び出しから返されるエントリは 47 個しかないため、それほど大きな問題ではありません。