国际化——一个程序能支持两种语言以上。
本地化——程序界面显示的字符串随用户操作系统当前语言改变而改变。
1.给项目增加语言支持
选中工程文件,把target目标切换成本工程,选择info选项,找到localization,
2.本地化字符串和故事板
创建本地化文件时命名为Localizable,可选择2种文件.string和.storyboard。
选择故事板文件,就可以在界面里修改字符串为中文。程序在原本英文系统下为英文界面,切到中文再次运行,就显示出中文界面。
选择字符串文件,举例:
Localizable.string文件中添加一句“hello”=你好;
别的对象通过NSLocalizedString:(@“hello”,nil)方法获得“你好”,nil为注释
3.疑惑?
原本有main.storyboard(base),设置了窗口标题1
然后添加main.string(English),找到window对象的id,重新设置标题2
“IQv-IB-iLA.title” = “WindOW”;
最终窗口标题显示为标题2
4.图片本地化
由于资源文件不允许出现相同名称的图片,需要将图片的名称修改为各种语言的名称,然后通过自定义本地化文件的方式,写入到不同语言的本地化文件(Localizable(English),Localizable(Chinese Simplified))中,加载的时候通过UIImage(named: imageNmae)加载图片。
参考自以下博文,致谢作者:
https://www.jianshu.com/p/fc32cca1563c
https://blog.csdn.net/lmyuanhang/article/details/50419971