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 文件 裏面,處理名稱便可