项目国际化有两种情况,分别是应用内容国际化,还有一种是StoryBoard或Xib国际化;本文国际化(英语和简体中文)下面分别介绍:
一、应用内容国际化,代码中的设置
- 1.新建一个iOS工程名字叫:iOSLocalization,然后配置文件如下图:
然后点击next,这时候会让你起一个名字,记住名字是固定的叫Localizable,否则不会成功!
创建成功后如下图:
注意:第四步
点击第四步中的选择器可以只有Base和English两种,然后后我们先选择English,因为没有简体中文可选还需要向下图配置;
然后回到项目中加入你需要国际化的语言,如下图
本项目支持简体中文和英文
-
2.然后我们就会看到如下图所示:
然后在两个Localizable.strings中写入需求,我是用一个label作测试:
English中: "TextTm" = "I am a label";
Chinese(Simplified)中:"TextTm" = "我是标签";
以上内容为iOS工程应用内容国际化下图为测试结果:
英文:
中文:
以下为本文唯一代码:
//creat a label
UILabel *labelText = [[UILabel alloc] init];
labelText.backgroundColor = [UIColor yellowColor];
labelText.frame = CGRectMake(120.f, 100.f, 115.f, 40.f);
labelText.text = NSLocalizedString(@"TextTm", nil);
[self.view addSubview:labelText];
二、StoryBoard或Xib国际化
- 1.下面用StoryBoard讲解,Xib同理:
首先配置:如下图
然后
- 1 在Main.string(Chinese(Simplified)) 中设置:
"OjG-4H-fIt.normalTitle" = "我是一个按钮"; - 2 在Main.string(English)中设置:
"OjG-4H-fIt.normalTitle" = "I am a button";
至于为什么这么设置:前面的OjG-4H-fIt,这个是控件的Object-ID,可以向下图查找也可以直接查看它的源代码(XML格式),后面的就是属性。
下面看运行结果:
- 中文:
- 英文:
- 以上算是整个国际化的完整过程,本人菜鸟,第一次写简书,有不对的地方还请见谅! *
部分参考:
iOS 国际化多语言设置 xcode7
iOS多语言本地化(国际化)设置