我的应用程序需要本地化为两种语言:德语和英语。德语应该是基础语言。这意味着应用程序应该始终本地化为德语,除非设备上的语言是英语(在这种情况下它应该是英语)
我有用于本地化的自定义 *.string 文件,并使用 localizedStringForKey:value:table 来本地化字符串。
当我只有基本本地化时,一切正常。但是如果我添加英语本地化,出于某种原因 localizedStringForKey:value:table 只是忽略基本本地化并始终使用英语(对于所有语言)
这是我添加英文后的样子:
下面是我如何本地化字符串:
[[NSBundle mainBundle] localizedStringForKey:@"key" value:@"" table:@"Shared"]
我正在模拟器上测试,这是我的语言屏幕:
有谁知道可能是什么问题?提前致谢!
最佳答案
正如我在评论中提到的,您需要将 Info.plist
中的本地化 native 开发区域
( CFBundleDevelopmentRegion
) 设置为您的语言代码。 Xcode 似乎将其设置为 en_GB
或 de_DE
样式的区域代码,将其设置为 de
(无区域)将修复它。请注意,默认情况下它是 en
,但选择 United Kingdom
或 Germany
会将其更改为使用更长的代码。
关于ios - localizedString ForKey :value:table ignores Base localization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273832/