错误的语言代码很快

时间:2017-08-02 10:34:26

标签: ios swift localization

我将模拟器的语言设置为法语。为了检查语言代码,我使用了几个解决方案:

let lang = NSLocale.autoupdatingCurrent.languageCode
print(lang)

let pre = Locale.preferredLanguages[0]
print(pre)

结果是:

Optional("en")
fr-US

我期望获得的是:

fr

我怎样才能实现这一目标?

3 个答案:

答案 0 :(得分:4)

尝试以下代码,

let requiredString = pre.components(separatedBy: "-").first ?? pre //fr
/*if pre.contains("-"), then requiredString = before("-") else requiredString = pre*/

答案 1 :(得分:1)

如果你想要Language而不是Language_Region,那么我建议在字符串_之前取一个子字符串来忽略Region。

(如果字符串不包含_则接受整个字符串,因为它不包含其中的区域)

答案 2 :(得分:1)

print(Locale.components(fromIdentifier: Locale.preferredLanguages[0])["kCFLocaleLanguageCodeKey"]!)

这将仅打印语言代码。