iOS 实现国际语言本地化功能

实现国际语言本地化切换功能,
1、app名称跟随系统语言变化,
2、应用程序内部可自行切换语言。

步骤:

1、在PROJECT - Info - Localizations 中配置所需支持的语言,系统默认支持English。
iOS 实现国际语言本地化功能_第1张图片
1529031007298.jpg

2、新建strings file文件,命名为InfoPlist.strings。

3、选中.strings文件,点击Localize,勾选所需支持的语言,Base是否勾选都可以,
iOS 实现国际语言本地化功能_第2张图片
3.jpg

勾选支持语言后,左侧会自动生成以下文件
iOS 实现国际语言本地化功能_第3张图片
4.png

4、在InfoPlist.strings文件中 添加key-value


iOS 实现国际语言本地化功能_第4张图片
5.jpg

iOS 实现国际语言本地化功能_第5张图片
6.jpg

5、新建分类#import "NSBundle+LKLanguage.h"
iOS 实现国际语言本地化功能_第6张图片
7.png

iOS 实现国际语言本地化功能_第7张图片
屏幕快照 2018-06-15 上午11.39.19.png

6、在appdelegate中保存上次修改的语言。


iOS 实现国际语言本地化功能_第8张图片
8.jpg

7、在切换语言的地方,重新设置修改的语言并保存;重新设置根视图,并跳转至当前界面。


iOS 实现国际语言本地化功能_第9张图片
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";

GitHub地址:https://github.com/sfandy126/LKLocalizedDemo.git

你可能感兴趣的:(iOS 实现国际语言本地化功能)