2016-06-29 53 views
0

當我使用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 繁體中文(香港) 

如何獲取簡短的語言名稱?

回答

0

在iOS10中,現在您可以使用NSLocale的localizedString(forLanguageCode :)方法來獲取簡短的語言名稱。

在斯威夫特3

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

但結果仍然是不夠的。對於「zh-Hans」和「zh-Hant-HK」,只需返回「中文」(中文)。 – zgjie

相關問題