iOS中獲取語言躏哩、地區(qū)的幾種方法:
NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
NSString *localeIdentifier = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
NSLocale *locale = [NSLocale currentLocale];
NSString *languageCode = [locale objectForKey:NSLocaleLanguageCode];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
下面是打印的結(jié)果:
打印結(jié)果.png
(1)[[[NSBundle mainBundle] preferredLocalizations] firstObject];
- 解析:這個(gè)方法獲取的語言編碼妄均,將會(huì)自動(dòng)拼接當(dāng)前國家的代碼边翁。
(2)[ [NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
- 解析:這個(gè)方法獲取的語言編碼,不會(huì)拼接當(dāng)前國家的代碼雌澄,只是純粹的語言編碼脸哀。
(3)[ [NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
- 解析:這個(gè)方法獲取的是地區(qū)編碼。
注意@バ觥G虻铩!:iOS中的地區(qū)與語言是分開的仓蛆,比如語言選擇了中文睁冬,地區(qū)卻可以選擇意大利。在【設(shè)置/通用/語言與地區(qū)】頁面中看疙,語言與地區(qū)是分開設(shè)置的豆拨;但是安卓的語言與地區(qū),是同時(shí)設(shè)置的能庆,設(shè)置了語言施禾,地區(qū)會(huì)切換至相應(yīng)的那個(gè)地區(qū),比如選擇了意大利語搁胆,地區(qū)也會(huì)切換至意大利弥搞。
(4)[[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
- 解析:這個(gè)方法獲取的是本地標(biāo)識(shí),由“語言_地區(qū)”組成渠旁。