我使用localizable.strings文件设置了一个测试应用程序。在项目设置中,我添加英语 - 英国,法语和法语 - 法国
“法语”字符串文件在应用程序中有效。当我选择语言“france”时,我会看到本地化版本
但是,当我将语言设置为英语和Region Form为“United Kingdom”时,我希望看到来自en-GB字符串文件的字符串。我看到了英文版。我显然在这里遗漏了一些东西。当我使用“法国 - 法国”时也一样。我希望它能使用fr-FR版本的字符串文件。
我有法国 - 法国,法国 - 瑞士等。我如何实施这些?
感谢您的帮助。
答案 0 :(得分:0)
我遇到了一个问题,我通过明确设置从中获取字符串的本地化目录解决了这个问题(我的问题链接和下面的文字)。
iOS Localizable.strings not being retrieved from BASE file
NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"];
if (path == nil)
{
path = [[NSBundle mainBundle] pathForResource:@"Base" ofType:@"lproj"];
}
NSLocalizedStringFromTableInBundle(@"TAB_TITLE_Camera", @"Localizable", [NSBundle bundleWithPath:path], @"");
如果您要从中检索字符串的特定本地化目录,则可以替换
pathForResource:
zh-CN , fr-FR ,或您需要的任何其他目录名称。
我认为,或者至少它应该选择正确的本地化目录,但似乎并没有这样做,这就是我提出这个解决方案的原因。