需要在程序中判断当前的多语言环境是中文还是英文,在书上看到可以用下面的代码判断
NSLocale *locale = [NSLocale currentLocale];
NSString *localName = [locale localeIdentifier];
结果是localName = en_US
这个en_US是"多语言环境"设置里的 "区域格式"对应的值,并不是"语言"项对应的值。
我现在的现象就是虽然"语言"项设置成"简体中文",但是"区域格式"项设置的是美国印度什么的话,上
面的代码取得的是en_US,en_IN,而不是我想要的zh_XXX , 请高手指点!
问个问题真费劲!自己找到了。
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
preferredLanguages : (
zh-Hans,
en,
ja,
fr,
zh-Hant,
de,
nl,
it,
es,
pt-PT,
da,
fi,
nb,
sv,
ko,
ru,
pl,
pt,
tr,
uk
)
NSLocale *locale = [NSLocale currentLocale];
NSString *localName = [locale localeIdentifier];
结果是localName = en_US
这个en_US是"多语言环境"设置里的 "区域格式"对应的值,并不是"语言"项对应的值。
我现在的现象就是虽然"语言"项设置成"简体中文",但是"区域格式"项设置的是美国印度什么的话,上
面的代码取得的是en_US,en_IN,而不是我想要的zh_XXX , 请高手指点!
问个问题真费劲!自己找到了。
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
preferredLanguages : (
zh-Hans,
en,
ja,
fr,
zh-Hant,
de,
nl,
it,
es,
pt-PT,
da,
fi,
nb,
sv,
ko,
ru,
pl,
pt,
tr,
uk
)