上代碼:
+ (NSString*)getPreferredLanguage
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSArray * allLanguages = [defaults objectForKey:@"AppleLanguages"];
NSString * preferredLang = [allLanguages objectAtIndex:0];
NSLog(@"當前語言:%@", preferredLang);
return preferredLang;
}
ios系統中,本地語言是存在NSUserDefaults中的一個Key-Value;其中Value是一個數組;數組的第一個元素就是當前語言;所以我們只需要取出數組的第一個元素即可;
下面是打印出當前設備支持的所有語言:(我設置的時英語,所以第一個元素就是en,其中zh-Hans是簡體中文,zh-Hant是繁體中文。。。)
(
en,
"zh-Hans",
fr,
de,
ja,
nl,
it,
es,
pt,
"pt-PT",
da,
fi,
nb,
sv,
ko,
"zh-Hant",
ru,
pl,
tr,
uk,
ar,
hr,
cs,
el,
he,
ro,
sk,
th,
id,
ms,
"en-GB",
ca,
hu,
vi
)
在判斷時,如果值是zh-Hant 則代表iphone 當前的地區語言是 traditional chinese ,即繁體中文
如果值是 zh-Hans 則代表iphone 當前的地區語言是 simple chinese , 即簡體中文。
通常應用在app啟動初始化時,根據ios當前的地區語言,來啟用app的ui語言版本顯示。
e.g
//zh-Hant = Traditional Chinese zh-Hans = Simple Chinese
if([lang isEqualToString:@"zh-Hant"] || [lang isEqualToString:@"zh-Hans"]){ // 當系統語言是中文或繁體中文時
[WifiTools saveKey:SYS_CONFIG_LANG_SETTING value:@"CN"];
}else{ //其它語言的情況下
[WifiTools saveKey:SYS_CONFIG_LANG_SETTING value:@"ENG"];
}