有没有在iOS应用程序中设置回退本地化语言的官方方法?

时间:2014-07-04 07:28:29

标签: ios xcode ios7 xcode5 localizable.strings

在iOS应用开发中,我找不到设置后备本地化语言的官方方法。 当用户语言未包含在我的应用的本地化中时,我想使用英语。 我尝试使用Base Internationalization,然而,所有语言都不适用。 现在,将base.lproj替换为en.lproj,只有添加到我的应用程序中的语言才能正常运行,但其他语言效果不佳。 (英语不使用,而选择俄语时使用韩语...)

有些网站说,设置具有“本地化本地开发区域”值的后备语言,但是,它运行不正常。 你有什么主意吗?感谢。

1 个答案:

答案 0 :(得分:1)

你的问题听起来很像我遇到的问题。花了很多时间寻找解决方案,直到我最终提出这种方法(我的问题链接和下面的文字)。

iOS Localizable.strings not being retrieved from BASE file


找到一种方法来确定我是否有当前所选语言的本地化文件,如果没有,我可以从 Base 本地化文件中提取。

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], @"");

简单的解决方案,可以完成我需要的一切。

适用于 iOS 6.1 iOS 7.1


如果您没有当前所选语言的本地化文件,或者您想指定特定语言,只需设置 pathForResource 的值,您就应该获得所需的语言。 / p>