让我们一起探讨下在app应用内如何做国际化语言切换
要求:app内如果设置过本地语言下次启动应用就显示设置的语言,如果未设置过就显示手机系统语言。
我只做了中文和日语 所以只有两个.lproj的文件
难点:如何在本地找设置的语言并显示在应用上
如何添加文字国际化和图片国际化我就不说了 请自己百度
我只说怎么找到本地存的.lproj文件并显示对应的语言
NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"];
self.currentBundle = [NSBundle bundleWithPath:path];
传入self.currentBundle调用系统方法 NSLocalizedStringFromTableInBundle(key, table, self.currentBundle, @"")
这样就可以获取对应的语言了
获取图片的方法
UIImage *image = [UIImage imageNamed:imageName inBundle:self.currentBundle compatibleWithTraitCollection:nil];
本地语言切换的时候可以在本地存储一个字段记录选择的语言
切换语言的时候要把根视图刷新 否则会出现已加载的界面不会刷新
我是刷新了Tbabarcontroller
因为是公司项目不能上传 就不提供demo了