次のコードを使用して、言語ロケールで翻訳された言語のリストを取得できます。
目的 C:
NSArray *languages = [NSLocale preferredLanguages];
for (NSString *lang in languages)
{
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:lang];
NSString *translated = [locale displayNameForKey:NSLocaleIdentifier value:lang];
NSLog(@"%@, %@", lang, translated);
}
迅速:
let languages = NSLocale.preferredLanguages()
for lang in languages {
let locale = NSLocale(localeIdentifier: lang)
let translated = locale.displayNameForKey(NSLocaleIdentifier, value: lang)!
print("\(lang), \(translated)")
}
出力:
en, English
fr, français
de, Deutsch
ja, 日本語
nl, Nederlands
...
これがあなたの質問の最初の部分に答え、おそらく2番目の部分に役立つことを願っています.
スウィフト 3 アップデート:
let languages = NSLocale.preferredLanguages
for lang in languages {
let locale = NSLocale(localeIdentifier: lang)
let translated = locale.displayName(forKey: NSLocale.Key.identifier, value: lang)!
print("\(lang), \(translated)")
}