如何从语言和区域代码中获取短显示名称?

时间:2016-06-29 10:06:22

标签: ios localization

当我使用displayNameForKey时,对于某种语言,返回的字符串太长,与iOS设置应用中的本机语言设置不同。例如:

let locale = NSLocale(localeIdentifier: "zh-Hant")
let key = NSLocaleIdentifier
print(locale.displayNameForKey(key, value: "zh-Hans")!, locale.displayNameForKey(key, value: "zh-Hant-HK")!)
// return 中文(簡體)and 中文(繁體,中華人民共和國香港特別行政區)
// but what I want is like the native language settings: 簡體中文 and 繁體中文(香港)

如何获得短语名称?

1 个答案:

答案 0 :(得分:0)

在iOS10中,现在可以使用NSLocale的localizedString(forLanguageCode :)方法来获取短语言名称。

在Swift 3中

    let langName = NSLocale.preferredLanguages[0]
    let locale =  NSLocale(localeIdentifier: "zh-Hant")
    let fullName = locale.localizedString(forLanguageCode: lang)!