目标 C:如何获取 [[NSLocale currentLocale] objectForKey: NSLocaleLanguageCode] 返回的可能值列表?

Reg*_*_AG 3 macos localization internationalization ios

我用 :

NSString *language = [[NSLocale currentLocale] objectForKey: NSLocaleLanguageCode];
Run Code Online (Sandbox Code Playgroud)

来确定用户语言。

我在哪里可以获得可能的返回值(例如“fr”)和相应语言(例如“french”)的完整列表。

谢谢 !

rob*_*nde 5

有2种方法可以走。

  1. 迭代Locale.isoLanguageCodes并提取所有 2 个字母的代码:
    for languageCode in Locale.isoLanguageCodes {
        print(languageCode) // or print(languageCode.prefix(2))
    }
Run Code Online (Sandbox Code Playgroud)
  1. 迭代Locale.availableIdentifiers并执行Locale.components(fromIdentifier:_)每个项目。
for identifier in Locale.availableIdentifiers {
    let components = Locale.components(fromIdentifier: identifier)
    // ...
 }
Run Code Online (Sandbox Code Playgroud)

完整列表在ISO-639-1列表中标准化