Storyboard建立APP 的國際化操做html
最近在看《X-code江湖錄》這本書,看到了APP 國際化這點,剛剛也簡單的實踐了一下。如今和你們分享分享!ui
寫的這個簡單的Demo全都是用 Storyboard 寫的,用 Storyboard 作項目孩紙們也知道咱們這個最重要的就是 mian.Storyboard 這個文件了。UI建立也全是在這個文件裏面,那這個文件國際化了,你建立的導航,標籤等等也就上面的文字也就相應的國際化了。首先給你的項目添加 你須要的語言,我這裏添加的是日語,固然不是我喜歡日語,我是想看看島國剽竊的大中華的多少文字!!(其實,純屬無聊,哈哈)。。。spa
特別強調!!
翻譯
**** 你們特別注意一下,我選中這個target 以後,選的不是 Target 下面的 StoryboardTest 這個項目。選中的是 Project 下面的 Storyboard !!選錯了就找到的不是相應的 info 和 Build Setting 了。。3d
選中以後就能夠點擊 info 去尋找 Localizations 這一項,在裏面添加你須要的相應的國際化語言,好比,寶寶添加的 「日語」!code
好了,添加完了,你就能夠在你項目的 mian.Storyboard 這個文件夾下面看到下面這些文件! htm
點擊(Japanese)文件進去,哎呀··本身用 Storyboard 建立的那些UI 上面的標題 還有其餘文字都幫我翻譯好了,惋惜,翻譯的是什麼鬼!!哈哈哈blog
這裏再說一點,文件內容你們能夠看到有註釋,須要的內容是以 Key —— Value 的形式存在的!教程
這裏面的紅圈圈起來的兩個地方是我本身改的,一個是 「下一頁」 ,一個是 「久久爲伴」。 你改完以後 把你的模擬機的語言環境改爲日語的去看看,沒問題了!圖片
你們對比一下在簡體中文環境下和日語環境下的不一樣吧。
還有一種狀況, 好比在項目中咱們的一些文字,好比你 Label 上的文字,或者你 Button 的名字再或者裏面的一段文字說明什麼的,你是寫在本身代碼裏的,那怎麼辦呢,下面來講說。 你的去建立一個 .String 文件了,Command + N 你懂得! Resource ——> Strings File
***** 這裏強調一下,這個文件的命名吧。你就用 「Localizable」 這個名字吧,緣由我在書中又看到,你在後面的代碼中要用到 NSLocalizedString 這個方法,這個方法默認就是前往 本地化項目內部的應用程序包中找名爲 「Localizable.Strings」 的文件,否則就要本地化失敗了!
上面重要的地方我也都作了標註了,找到 Localization 勾選你須要的 國際化語言,而後在左邊的 「Localizable.Strings」 文件下面就多出了 相應的語言文件!
在這裏相應的語言文件下面,就能夠添加你須要的字符串了,在日語文件裏面我添加了這樣一句,這裏添加的形式是以 Key - Value 的形式添加的!前面的是鍵,後面的是值了!
"GOOD_morning" = "おはようございます";
在簡體中文的文件下面我添加的是
"GOOD_morning" = "早上好";
而後就是一段在調用的一段代碼調用了,就寫了一個 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]; }
最後對比看看效果,和前面的同樣,切換你本身的模擬機的語言環境!
上面就是一些簡單的國際化的操做,其實還有 圖片的國際化處理,比較的少見,但知道有這個處理,有須要的就能夠作相應的處理了。
參考: http://www.cocoachina.com/industry/20140526/8554.html (Cocoachina 的國際化教程)