iOS 默认语言本地化

5
我已经开发了一款iPhone应用程序,最初使用荷兰语文本。我希望将其扩展到其他国家,因此我对应用进行了本地化,并添加了英语。
现在我有两个本地化文件夹en.lproj和nl.lproj。
当我在iPhone上安装该应用并将语言设置为荷兰语时,应用中会显示荷兰语。当我切换到英语时,它会显示英语。但是,当我切换到德语时,它会显示荷兰语。我希望默认情况下没有相应的本地化文件夹时,使用英语作为语言。
我该如何做到这一点?

默认情况下应该是英语...如果您没有明确更改语言... - Adnan Aftab
2个回答

3

虽然略微有些晚了,但最近遇到了这个问题,有人帮助了我,所以在这里分享一下解决方法:

假设您的应用程序支持英语和西班牙语。

如果设置应用中语言列表是葡萄牙语、西班牙语、英语,则用户将看到西班牙语。如果列表为葡萄牙语、英语、西班牙语,则用户将看到英语。

简而言之,语言按顺序加载,因此如果您希望在设置为德语(或任何其他缺失的语言)时加载英语,则您的设置屏幕应该读取:

德语 | 英语 | 荷兰语 | 其他所有语言

但是您不知道用户如何设置语言,英语可能在底部。到目前为止,我找到的最好的解决方案解决方法是在启动时手动更改区域设置顺序,使英语始终位于第二位,从而成为默认语言。


用户无法在iOS上重新排列语言,这适用于OSX 10.8及以下版本。 - Daij-Djan
1
实际上,假设您选择德语作为设备语言。然后将其更改为意大利语,然后再更改为西班牙语。您的设置页面中的语言列表将是:西班牙语|意大利语|德语|剩余语言。因此,在这种情况下,您的应用程序将尝试加载您的西班牙本地化字符串。如果找不到,则加载意大利语本地化字符串,然后再加载德语本地化字符串,以此类推。这至少是我在过去几天中发现的行为。 - Andres C
@andres.cianio 起初,我以为在某个地方配置了默认语言设置不正确。但这不是一个错误,而是一个功能!非常感谢。 - Nimit Pattanasri

2

在您的 Info.plist 文件中,您需要将 本地化开发区域 设置为 英语en),这样就应该可以正常工作了。


2
是的,这是我在各处阅读到的,但它不起作用?是不是我的 plist 中出了问题? - user3215523

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接