首页 文章

当语言不存在时,本地化如何默认? [EXPLAINED]

提问于
浏览
0

Update: Solution

你支持英语和西班牙语 .

如果“设置”应用中的语言列表是葡萄牙语,西班牙语,英语,则会向用户显示西班牙语 . 如果列表是葡萄牙语,英语,西班牙语,那么将向用户显示英语 .

有关详细信息,请查看接受的答案 .


Original Post

我正在本地化一个仍然处于开发状态的应用程序,后面是Ray Wenderlich的tutorial .

到目前为止,一切都很顺利,但我发现当不支持设备配置时,应用程序默认使用了错误的语言 .

例如,我支持英语和西班牙语 . 但是在设备设置为葡萄牙语的情况下运行应用程序时,会加载西班牙语中最后一个有效语言的本地化 .

一般来说,检查'CFBundleDevelopmentRegion'的想法似乎是最常见的建议 . 虽然它被设置为“en”,但应用程序似乎并不关心 . 尝试将其设置为en_US但没有结果 .

从官方文档中,当找不到字符串键时,应该返回键本身,这将是很好的,因为我的键是英语字符串 . 但这似乎也没有发生 .

有谁知道这是如何处理的或我如何解决它?

提前致谢 .

2 回答

  • 3

    显示的语言基于您支持的语言环境以及用户在“设置”应用中选择的语言顺序 .

    运行“设置”应用,转到“常规”,“国际”,“语言” . 从语言列表的顶部开始,然后在列表中向下,直到该语言与您的应用支持的语言之一匹配 . 这就是它的工作原理 .

    你支持英语和西班牙语 .

    如果“设置”应用中的语言列表是葡萄牙语,西班牙语,英语,则会向用户显示西班牙语 . 如果列表是葡萄牙语,英语,西班牙语,那么将向用户显示英语 .

  • 2

    UPDATE:

    对不起我明白了这个问题 .

    是的, when a string key is not found, the key itself should be returned !绝对是这样!如果你用英语设置你的字符串:

    NSLocalizedString(@"Hello",@"");
    

    并且您没有 Portuguese 文件,将返回 Hello .

    ORIGINAL POST:

    language of the default development region 在您的 Info.plist 文件中为目标进行了拼写 .

    enter image description here

相关问题