iOS 实现国际语言本地化功能
2018-06-15 本文已影响7人
sfandy
实现国际语言本地化切换功能,
1、app名称跟随系统语言变化,
2、应用程序内部可自行切换语言。
步骤:
2、新建strings file文件,命名为InfoPlist.strings。
勾选支持语言后,左侧会自动生成以下文件
4.png
4、在InfoPlist.strings文件中 添加key-value
5.jpg
6.jpg
5、新建分类#import "NSBundle+LKLanguage.h"
7.png
屏幕快照 2018-06-15 上午11.39.19.png
6、在appdelegate中保存上次修改的语言。
8.jpg
7、在切换语言的地方,重新设置修改的语言并保存;重新设置根视图,并跳转至当前界面。
9.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";