iOS Storyboard创建APP 的国际化操作
? ? ?Storyboard創(chuàng)建APP 的國際化操作
? ? ?最近在看《X-code江湖錄》這本書,看到了APP 國際化這點,剛剛也簡單的實踐了一下?,F(xiàn)在和大家分享分享!
? ? ?寫的這個簡單的Demo全都是用 Storyboard 寫的,用 Storyboard 做項目孩紙們也知道我們這個最重要的就是 mian.Storyboard 這個文件了。UI創(chuàng)建也全是在這個文件里面,那這個文件國際化了,你創(chuàng)建的導(dǎo)航,標(biāo)簽等等也就上面的文字也就相應(yīng)的國際化了。首先給你的項目添加 你需要的語言,我這里添加的是日語,當(dāng)然不是我喜歡日語,我是想看看島國剽竊的大中華的多少文字!!(其實,純屬無聊,哈哈)。。。
?
?
? ? ? ? 特別強調(diào)!!
? ? ?? **** ?大家特別注意一下,我選中這個target 之后,選的不是 Target 下面的 StoryboardTest 這個項目。選中的是 ?Project 下面的 Storyboard !!選錯了就找到的不是相應(yīng)的 info ?和 Build Setting 了。。
? ? ?選中之后就可以點擊 ?info ?去尋找 Localizations 這一項,在里面添加你需要的相應(yīng)的國際化語言,比如,寶寶添加的 “日語”!
?
? ? ? 好了,添加完了,你就可以在你項目的?mian.Storyboard 這個文件夾下面看到下面這些文件! ? ?
點擊(Japanese)文件進去,哎呀··自己用 ?Storyboard 創(chuàng)建的那些UI 上面的標(biāo)題 還有其他文字都幫我翻譯好了,可惜,翻譯的是什么鬼!!哈哈哈
這里再說一點,文件內(nèi)容大家可以看到有注釋,需要的內(nèi)容是以 ?Key —— Value 的形式存在的!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ?
? ?這里面的紅圈圈起來的兩個地方是我自己改的,一個是 “下一頁” ,一個是 “久久為伴”。 你改完之后 把你的模擬機的語言環(huán)境改成日語的去看看,沒問題了!
大家對比一下在簡體中文環(huán)境下和日語環(huán)境下的不同吧。
??? ? ? ? ??
? ? ? 還有一種情況, 比如在項目中我們的一些文字,比如你 Label 上的文字,或者你 Button 的名字再或者里面的一段文字說明什么的,你是寫在自己代碼里的,那怎么辦呢,下面來說說。 你的去創(chuàng)建一個 .String 文件了,Command + N 你懂得! Resource ——> Strings File ?
?
? ? ? ?***** ?這里強調(diào)一下,這個文件的命名吧。你就用 “Localizable” 這個名字吧,原因我在書中又看到,你在后面的代碼中要用到 NSLocalizedString 這個方法,這個方法默認就是前往 本地化項目內(nèi)部的應(yīng)用程序包中找名為 “Localizable.Strings” 的文件,不然就要本地化失敗了!
?
?
? ? ? 上面重要的地方我也都做了標(biāo)注了,找到 Localization 勾選你需要的 國際化語言,然后在左邊的 ?“Localizable.Strings” 文件下面就多出了 相應(yīng)的語言文件!
? ? ? ?在這里相應(yīng)的語言文件下面,就可以添加你需要的字符串了,在日語文件里面我添加了這樣一句,這里添加的形式是以 ?Key - ?Value 的形式添加的!前面的是鍵,后面的是值了!
? ? ? "GOOD_morning" = "おはようございます";
? ? ? 在簡體中文的文件下面我添加的是 ?
? ? ? "GOOD_morning" = "早上好";
? ? ? 然后就是一段在調(diào)用的一段代碼調(diào)用了,就寫了一個 Label 。
?
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.// 國際化NSString * _morning = NSLocalizedString(@"GOOD_morning", nil);UILabel * label=[[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 100)];label.text = _morning;label.textColor=[UIColor redColor];[self.view addSubview:label];}?最后對比看看效果,和前面的一樣,切換你自己的模擬機的語言環(huán)境!
? ?? ? ? ? ? ??
?
? ? ? ?上面就是一些簡單的國際化的操作,其實還有 圖片的國際化處理,比較的少見,但知道有這個處理,有需要的就可以做相應(yīng)的處理了。
? ? ? ?參考:?http://www.cocoachina.com/industry/20140526/8554.html (Cocoachina 的國際化教程)
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhangxiaoxu/p/5421997.html
總結(jié)
以上是生活随笔為你收集整理的iOS Storyboard创建APP 的国际化操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给定入栈序列,判断一个串是否为出栈序列
- 下一篇: checkbox:获取所有已选中的值