iOS 如何在翻译的字符串或语言的语言环境中显示语言列表。
- 是否有与之关联的 LCID?
- 如果是这样,我在哪里可以找到它的映射?
- 它是如何工作的?
- 是否有 API 或任何文档可以指向我?
我附上我的实际意思的截图:
我能找到的只有这个链接
更新:我想实现这样的目标:
我可以在哪里用它的语言映射国家,这实际上是在它的语言环境中。那么有没有一种 LCID 类型的东西,我可以使用 iOS API 使用 LCID 映射它并获取区域设置字符串?
样机在下面
iOS 如何在翻译的字符串或语言的语言环境中显示语言列表。
我附上我的实际意思的截图:
我能找到的只有这个链接
更新:我想实现这样的目标:
我可以在哪里用它的语言映射国家,这实际上是在它的语言环境中。那么有没有一种 LCID 类型的东西,我可以使用 iOS API 使用 LCID 映射它并获取区域设置字符串?
样机在下面
您可以使用以下代码获取在语言区域设置中翻译的语言列表:
目标-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 ...
我希望这能回答您问题的第一部分,也许对第二部分有所帮助。
斯威夫特 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)")
}