2012-12-05 54 views
0

我使用localizable.strings文件设置了一个测试应用程序。在项目设置中,我添加英语 - 英国,法国和法国法国每个国家/地区的Localizable.strings

“法语”字符串文件在应用程序中起作用。我看到当我选择语言“法国”时的本地化版本

但是,当我将语言设置为英语和区域表单到“英国”时,我期望看到来自en-GB字符串文件的字符串。我看到英文版。我显然在这里失去了一些东西。同样当我使用“法国 - 法国”。我希望它使用fr-FR版本的字符串文件。

我有法国法国,法国瑞士等。我如何实现这些?

感谢您的帮助。

+0

这是ios(iPhone)?,进一步请发布您的字符串文件的名称和位置(项目根?) – AlexWien

+1

iPhone不读取国家特定的本地化文件,只有OS X做到这一点。 –

+0

是的,我刚刚发现>。 MobileGuy

回答

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: 

EN-GBFR-FR ,或者其他你需要的目录名称。

我相信这是假设或至少应该选择适当的本地化目录,但似乎没有这样做,这就是为什么我想出了这个解决方案。

相关问题