iPhoneで、ユーザーが言語をフランス語に設定し、地域の形式を米国に設定すると、CurrentCultureはen-USを表します。
ユーザーが地域フォーマットをフランスに設定した場合にのみ、fr-FRを取得します。
ユーザーが言語を設定しているが、リージョン形式は設定していない場合、どうすれば言語を判別できますか?
iPhoneで、ユーザーが言語をフランス語に設定し、地域の形式を米国に設定すると、CurrentCultureはen-USを表します。
ユーザーが地域フォーマットをフランスに設定した場合にのみ、fr-FRを取得します。
ユーザーが言語を設定しているが、リージョン形式は設定していない場合、どうすれば言語を判別できますか?
のような文字列を取得するなどNSLocale
、を見たいとします。これにより、iOS が使用している正確な値が得られます。NSLocale.CurrentLocale.Identifier
en-US
.NET と iOS の両方に、これらの値を取得するための API が似ていますが、微妙に異なります。iOS データのみを使用して .NET と完全に互換性を持たせることは困難です (完全に適合するわけではありません)。場合によっては、たとえば、 iOS が提供するデータを使用して .NET クラスをブートストラップRegionInfo
することができました。より多くの機能が利用可能になるにつれて、将来的に他のタイプでも同じことができるようになるかもしれません.
NSLocale.CurrentLocale
言語ではなく、地域の形式を指定します。
言語を取得するには、NSLocale.PreferredLanguages[0]
代わりに使用します。結果は、選択した言語のfr
またはのような文字列になります。en-US
詳細については、「iOS で現在のデバイス言語を取得していますか?」を参照してください。.