iOS本地化(在应用程序中设置)
在我的应用程序中,我必须有两种语言,但问题是它们应该通过按下应用程序中的按钮来切换(在第一个屏幕或屏幕设置上)。据我所知,iOS本地化(在应用程序中设置),ios,iphone,objective-c,localization,Ios,Iphone,Objective C,Localization,在我的应用程序中,我必须有两种语言,但问题是它们应该通过按下应用程序中的按钮来切换(在第一个屏幕或屏幕设置上)。据我所知,本地化(本地化故事板,动态字符串本地化)的所有方法都基于iPhone的语言设置。我想到的唯一选项是,通过NSUserDefault中关于语言首选项的记录,以及viewdiload所有ViewControllers的方法检查关于语言的记录,并根据记录设置字符串、图片等。可以用更聪明的方法来做吗?试试这个: 如果de是用户选择的新语言。还要确保您正在重新初始化当前视图 [[NSU
本地化
(本地化
故事板,动态字符串本地化
)的所有方法都基于iPhone的语言设置。我想到的唯一选项是,通过NSUserDefault
中关于语言首选项的记录,以及viewdiload
所有ViewControllers
的方法检查关于语言的记录,并根据记录设置字符串、图片等。可以用更聪明的方法来做吗?试试这个:
如果de是用户选择的新语言。还要确保您正在重新初始化当前视图
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", nil]
forKey:@"AppleLanguages"];
请参阅下面的链接和源代码
下面是一个示例应用程序的代码
祝您一切顺利。本教程和示例应用程序将为您提供更多帮助
你所遵循的本地化方式不符合标准
请遵循这本漂亮的教程您必须手动将当前选择的语言管理为用户默认语言,并根据所选语言键加载捆绑文件夹,如,我已经这样做了,并且工作得很好
if ([currentLanguage isEqualToString:@"fr"]) { // If French.
languageBundle = nil;
NSString* path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
languageBundle = [NSBundle bundleWithPath:path];
}
你有没有?如果你卡住了,请告诉我们。@Immi,我知道了,谢谢