[解決済み] iOSで現在のデバイスの言語を取得するには?
2022-03-22 07:37:46
質問
デバイスUIが現在使用している言語を表示したいのですが。どのようなコードを使用すればよいでしょうか?
として欲しい。
NSString
を完全なスペルアウトのフォーマットで表示します。(@"en_US" ではありません)
EDIT: 車でお越しの方は、新しいiOSのリリースに伴って答えが進化しているため、ここに有用なコメントがたくさんあります。
解決方法は?
提供されている解決策は、実際には、現在選択されている言語ではなく、デバイスの現在のリージョンを返します。これらは多くの場合、同じものです。しかし、もし私が北米に住んでいて、言語を日本語に設定しても、地域は英語(米国)のままです。現在選択されている言語を取得するためには、次のようにします。
NSString * language = [[NSLocale preferredLanguages] firstObject];
英語なら "en"、スペイン語なら "es"、ドイツ語なら "de" などのように、現在選択している言語の2文字コードを返します。その他の例については、Wikipediaの項目(特に639-1列目)を参照してください。
あとは、2文字コードを表示したい文字列に変換するだけです。つまり、"en"であれば、"English"と表示します。
EDIT
NSLocale.hのヘッダー情報を引用する価値があります。
+ (NSArray *)preferredLanguages NS_AVAILABLE(10_5, 2_0); // note that this list does not indicate what language the app is actually running in; the [NSBundle mainBundle] object determines that at launch and knows that information
アプリの言語に興味がある方は、以下のサイトをご覧ください。 マインドビジョンさんの回答
関連
-
[解決済み] デバイスがiOSであるかどうかを検出する
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】(Swiftで)オブジェクトの型を調べるには?)
-
[解決済み】デバイスがiPhone Xであるかどうかを検出します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] UIViewに角丸をつける
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] iOSシミュレータでスクリーンショットを撮る
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] Swiftで配列に要素を追加する