iOS 国际化多语言设置html
方式一:ios
1. 在storyboard中建立好UI,而后在 project 里面 Localizables 栏目里面,添加你须要的语言;默认是Englist; 好比这里我添加了 简体中文app
2.添加完以后,原来的Main.storyboard 就会多了一个国际化的语言配置文件ui
3. 点击 Main.strings 文件,就能够在这里配置中文的语言;里面自动添加如今storyboard上面建立好的UI控件的代码,直接在这里修改便可;此时sotyboard上设计的理解为 英文状态;这里是运行时的中文状态;spa
/* Class = "UILabel"; text = "LABEL A"; ObjectID = "I0M-DM-Gzt"; */
"I0M-DM-Gzt.text" = "标题 A";
/* Class = "UIButton"; normalTitle = "BUTTON B"; ObjectID = "XJX-jB-S2s"; */
"XJX-jB-S2s.normalTitle" = "按钮 B";
"cRs-Hi-BTS.text" = "标题 C";
4. 那么之后咱们在storyboard上另外添加新的ui控件时,这里的文件不会自动更新怎么办呢;设计
这时咱们就要本身找到新添加控件的 object-id; 就是上面 cRs-Hi-BTS 这样的东西,标识id,而后手动添加上述相似的代码;3d
如何回去已经添加新控件的 object-id; 在storybrad上选中相应的控件,而后右边属性栏里面找 object-idcode
方式二:手动建立 Localizable.strings文件orm
新建文件,建立 Localizable.strings 文件; 先选中一个 English 或是 添加的中文;最后 点击 文件;在右边属性栏的 反正是勾选你须要国际化的语言;htm
我这里就是 中文 和英文;选中以后,一样 Localizable.strings 就会展开变成国际化开发的两个文件
分别在这两个文件 里面以 key = value 写;
english 里面: TName = "Name";
Simplified 里面:TName = "名字";
在代码中使用的时候:
self.titleLabel.text = NSLocalizedString(@"TName", nil);
便可
三:另外关于 app 显示名称的国际化处理
和上面差很少;只须要手动建立一个 InfoPlist.strings 文件;一样选中 须要国际化的语言;
在 English文件和 中文文件 里面;
写上对应的
CFBundleDisplayName = "ABS-EN";
CFBundleDisplayName = "ABS-CN";
便可;
四:另外关于图片的国际化
能够准备多套图片,而后在 strings 文件 里面,处理名称便可