实现国际语言本地化切换功能,
1、app名称跟随系统语言变化,
2、应用程序内部可自行切换语言。
步骤:
![](https://img.haomeiwen.com/i1840497/28a8e0be661938a1.jpg)
2、新建strings file文件,命名为InfoPlist.strings。
![](https://img.haomeiwen.com/i1840497/8c541564af83d2fb.jpg)
勾选支持语言后,左侧会自动生成以下文件
![](https://img.haomeiwen.com/i1840497/47b8c240b1658234.png)
4、在InfoPlist.strings文件中 添加key-value
![](https://img.haomeiwen.com/i1840497/c712670200152527.jpg)
![](https://img.haomeiwen.com/i1840497/866844c4a672ce35.jpg)
5、新建分类#import "NSBundle+LKLanguage.h"
![](https://img.haomeiwen.com/i1840497/0569cf4533b5e6d1.png)
![](https://img.haomeiwen.com/i1840497/1e0070f753717c65.png)
6、在appdelegate中保存上次修改的语言。
![](https://img.haomeiwen.com/i1840497/35badbe8cd2a6f39.jpg)
7、在切换语言的地方,重新设置修改的语言并保存;重新设置根视图,并跳转至当前界面。
![](https://img.haomeiwen.com/i1840497/180aefba1fcd1d0f.jpg)
总结:
1、PROJECT-Info-Localize 添加所支持的语言。
2、新建InfoPlist.strings文件,选择所支持的语言。
3、在InfoPlist.strings中定义key-value
4、新增分类#import "NSBundle+LKLanguage.h"
5、在appdelegate中设置上一次修改的语言。
6、切换语言事件处理时,重新设置并保存语言,并重新设置根视图,跳转至当前界面。
注意事项:
1、必须为InfoPlist.strings文件名才能跟随系统,如自定义其它名称,第一次安装不会跟随系统语言,其次,appName不会跟随系统变化。
2、InfoPlist.strings文件中设置key-value注意事项
/**
- 格式如:key = "value";
- 注意:
- 1、key 不能包含空格及特殊符号
- 2、每行key-value都需要带上分号;
- 3、各种语言key必须一致
**/
3、注意语言大小写,如zh-hans是不无效的。
static NSString *kChinese = @"zh-Hans";
static NSString *kEnglish = @"en";
网友评论