语言国际化
会根据系统语言自动替换app的语言
添加Localization
,选择地区
新建String File
文件(不能乱写)
- 关于app名称为
InfoPlist.strings
- 关于代码的名称为
Localizable.strings
- 设置
localization
,全选上
InfoPlist.strings
生成的新文件里面写上相应的键值对, 在info
文件里面找到真实的key
值(这里真实的app
名称值为CFBundleDisplayName
),在英文文件和中文文件相应赋值,系统会根据语言自动调用
//中文文件
"CFBundleDisplayName"="微信";
//英文文件
"CFBundleDisplayName"="WeChat";
Localizable.strings
代码国际化,需要手动读值,系统会根据语言自动调用
"title" = "Hello!";
手动读值
NSString *str = NSLocalizedString(@"title",nil);//key/注释
应用内代码国际化
不根据系统语言,而是用户自己选择,不需要添加语言支持
1.建立多个strings,名字随便起 "lan_cn" "lan_en"
2.写key value
3.NSLocalizedStringFromTable(@"key",@"lan_cn",nil);//key/文件名/注释
StoryBoard方式的国际化
更加方便
- 添加
Localization
,选择地区,可以勾选StoryBoard
生效 StoryBoard
设置localization
打勾- 在
StoryBoard
会生成相应的strings
文件,打开改就完事了