項(xiàng)目國際化有兩種情況樊零,分別是應(yīng)用內(nèi)容國際化酣难,還有一種是StoryBoard或Xib國際化拖叙;本文國際化(英語和簡體中文)下面分別介紹:
一、應(yīng)用內(nèi)容國際化拍鲤,代碼中的設(shè)置
- 1.新建一個(gè)iOS工程名字叫:iOSLocalization贴谎,然后配置文件如下圖:
Pasted Graphic 1.png
然后點(diǎn)擊next,這時(shí)候會(huì)讓你起一個(gè)名字季稳,記住名字是固定的叫Localizable,否則不會(huì)成功擅这!
創(chuàng)建成功后如下圖:
Pasted Graphic 2.png
注意:第四步
點(diǎn)擊第四步中的選擇器可以只有Base和English兩種,然后后我們先選擇English景鼠,因?yàn)闆]有簡體中文可選還需要向下圖配置仲翎;
然后回到項(xiàng)目中加入你需要國際化的語言痹扇,如下圖
Pasted Graphic 3.png
本項(xiàng)目支持簡體中文和英文
-
2.然后我們就會(huì)看到如下圖所示:
Pasted Graphic.png
然后在兩個(gè)Localizable.strings中寫入需求,我是用一個(gè)label作測(cè)試:
English中: "TextTm" = "I am a label";
Chinese(Simplified)中:"TextTm" = "我是標(biāo)簽";
以上內(nèi)容為iOS工程應(yīng)用內(nèi)容國際化下圖為測(cè)試結(jié)果:
英文:
Pasted Graphic 5.png
中文:
Pasted Graphic 6.png
以下為本文唯一代碼:
//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同理:
首先配置:如下圖
Pasted Graphic7.png
然后
- 1 在Main.string(Chinese(Simplified)) 中設(shè)置:
"OjG-4H-fIt.normalTitle" = "我是一個(gè)按鈕"; - 2 在Main.string(English)中設(shè)置:
"OjG-4H-fIt.normalTitle" = "I am a button";
至于為什么這么設(shè)置:前面的OjG-4H-fIt,這個(gè)是控件的Object-ID,可以向下圖查找也可以直接查看它的源代碼(XML格式),后面的就是屬性玫坛。
Pasted Graphic 8.png
下面看運(yùn)行結(jié)果:
- 中文:
Pasted Graphic 9.png
- 英文:
Pasted Graphic 10.png
- 以上算是整個(gè)國際化的完整過程结笨,本人菜鳥,第一次寫簡書湿镀,有不對(duì)的地方還請(qǐng)見諒炕吸! *
部分參考:
iOS 國際化多語言設(shè)置 xcode7
iOS多語言本地化(國際化)設(shè)置