iOS如何在翻译字符串或语言的区域设置中显示语言列表。
我附上了我实际意思的截图:
我能找到的只有link
更新: 我希望实现这样的目标:
我可以使用语言映射国家/地区,这实际上是在其语言环境中。那么有一个LCID类型的东西,我可以映射它并使用iOS API使用LCID获取该Locale字符串?
样机在下面
答案 0 :(得分:10)
您可以使用以下代码获取使用语言区域设置翻译的语言列表:
目标-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 ...
我希望这可以回答你问题的第一部分,也许有助于第二部分。
Swift 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)")
}
答案 1 :(得分:2)
LCID是Windows的概念。在iOS上没有这样的东西。语言通常由ISO 639-1或639-2语言代码识别。
从您构建问题的方式来看,我认为最好先阅读Apple的internationalization and localization文档。 NSLocale将成为你的朋友。