級別:★☆☆☆☆
標簽:「AppleLanguages」「zh-Hans-CN」
作者: WYW
審校: QiShare團隊
需求:前段時間項目做本地化,向服務端請求數據的時候,上行參數需要攜帶設備當前語言。故本篇文章記錄一下“iOS 獲取設備當前語言和地區”的方法。
一、獲取設備當前語言和地區的代碼
// iOS 獲取設備當前語言和地區的代碼
NSString *currentLanguageRegion = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] firstObject];
簡體&中國大陸地區環境下的輸出結果:
currentLanguageRegion:zh-Hans-CN
二、切換設備當前語言和地區的方法
通過Xcode修改App語言環境:(優先級高,但不常用)
方法:Edit Scheme -> Options -> Application Language/Application Region通過手機(或模擬器)修改語言和地區:(優先級低,常用)
方法:通用 -> 語言與地區 -> 選擇iPhone語言/地區
分別使用上述兩種設備方式,前者只輸出語言信息,后者會連同地區信息一起輸出。以“簡體&中國大陸地區”為例,輸出結果如下:
- app 語言環境:
zh-Hans
- 設備語言環境:
zh-Hans-CN
三、獲取設備當前語言和地區的其他方法
- 獲取當前語言:
// iOS 獲取設備當前語言的代碼
NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
- 獲取當前地區:
// iOS 獲取設備當前地區的代碼
NSString *localeIdentifier = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
以“簡體&中國大陸地區”為例,輸出結果如下:
- preferredLanguage:
zh-Hans
- localeIdentifier:
zh_CN
PS:以上的三種方法獲取的結果不同,大家可以根據自己的需要,選用合適的方法。
推薦文章:
iOS 繪制漸變·基礎篇
iOS 繪制漸變·實例篇
iOS 編寫高質量Objective-C代碼(七)
奇舞周刊