ios获取当前语言

上代码:

+ (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"];

    }



原文地址:https://www.cnblogs.com/killiancheung/p/4610956.html