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

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

步骤:

1、在PROJECT - Info - Localizations 中配置所需支持的语言,系统默认支持English。
1529031007298.jpg

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

3、选中.strings文件,点击Localize,勾选所需支持的语言,Base是否勾选都可以,
3.jpg

勾选支持语言后,左侧会自动生成以下文件
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";

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容