国际化的作用是防止将本土文化信息(如语言、货币、日期格式、数字格式等)。
需要国际化的包括文本信息国际化、xib和storyboard国际化以及资源文件国际化。
添加语言:点击项目 -> PROJECT -> info -> Localizations -> 点击"+"
添加需要支持的语言
完成后的界面如图
此处Use Base Internationalization开启时,每个国际化资源文件都会有Base选项,主要针对String,Storyboard,Xib
1、App应用名的国际化
首先需要建立一个InfoPlist.strings的文件
然后选中InfoPlist.strings文件,在xcode右边的inspector中点击Localization,下拉中选择语言,确定后,左边的InfoPlist.strings会出现两个对应选择语言的strings文件
在对应语言文件中输入代码
"CFBundleDisplayName" = "中文名字";
运行后,在中文状态下App的应用名就会显示设置的语言文本。
2、内容的国际化
应用内容国际化和应用名的类似
首先需要建立一个文本的strings类型文件
然后将strings文件关联上需要支持的语言
再在对应的语言strings文件中写上要做国际化处理的字符串
调用:
调用时需要使用swift中的函数
public func NSLocalizedString(_ key: String,
tableName: String? = default,
bundle: Bundle = default,
value: String = default,
comment: String) -> String
如:
label?.text = NSLocalizedString("key", comment: "")
运行后,在系统切换语言时,对应的内容如title等就可以随之切换。