ios - 本地 iOS 语言翻译字符串及其语言代码标识 (LCID)

标签 ios xcode localization nslocale

iOS 如何在翻译后的字符串或语言的区域设置中显示语言列表。

  • 是否有关联的 LCID?
  • 如果是这样,我在哪里可以找到它的映射?
  • 它是如何工作的?
  • 是否有 API 或任何文档可以指导我使用?

我附上了我实际意思的截图: enter image description here

我能找到的就是这个 link

更新: 我想实现这样的目标:

  • 我可以在哪里用它的语言映射国家/地区,这实际上在它的语言环境中。那么有没有 LCID 之类的东西,我可以在其中映射它并使用 iOS API 使用 LCID 获取该 Locale 字符串?

  • 模型如下
    enter image description here

最佳答案

您可以使用以下代码获取在语言环境中翻译的语言列表:

objective-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);
}

swift :

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)")
}

关于ios - 本地 iOS 语言翻译字符串及其语言代码标识 (LCID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992777/

相关文章:

ios - 基于另一个 UIpickerview 的 didSelectRow 返回 UIPickerview 中的 numberOfRowsInComponent 和 titleForRow

iphone - 如何以编程方式增加 iPhone 音量

ios - 如何在代码中提取由 stringsdict 文件本地化的参数?

android - 如何在 Firestore 中为 Android 创建本地化数据方案(按语言)?

ios - 使用 Swift 2 的 NSCalendar 单元标志编译错误

ios - Swift - 内部带有水平堆栈 View 的单元格 TableView 包含不同的文本 - 自动高度

iphone - 无法使用 SDWebImage 显示图像

iphone - 在 UINavigationController 中推送另一个 View ?

iphone - 通过 AppleScript 构建并运行 xcode 项目

windows - 无法让 Windows 使用中性语言 MUI?