好坑呀找了許久的名稱本地化真難找,這里就介紹下應(yīng)用名稱和內(nèi)容本地化
一.iOS名稱本地化(根據(jù)系統(tǒng)語言修改App的名字)
1.新建工程名為"iOS國際化"如圖1-1
圖 1-1 新建文件名為"iOS國際化"的項目
2.添加InfoPlist.strings(注意文件名千萬不能改,我就是因為把"Info"的"I"寫成小寫,弄了半天)如圖1-2 和圖1-3/圖1-4
圖1-2 選擇Strings File
?圖1- 3 這里名字一定要一致
圖1-4 InfoPlist.strings文件創(chuàng)建完畢
3.添加漢語到工程中如圖1-5
圖 1-5 選擇簡易中文到工程中
4.給InfoPlist.strings添加多語言如圖1-6和圖1-7
圖1-6 添加Localize...
圖 1-7 勾選英文和中文
5.添加修改名稱的代碼分別到InfoPlist.strings(English)和InfoPlist.strings(Chinese(Simplified))中如圖1-8和圖1-9
圖1-8 在中文中添加代碼
圖1-9 在英文下添加代碼
OK大功告成了.運(yùn)行結(jié)果分別把設(shè)備調(diào)到英文和中文語言上,如圖1-10和圖1-11
圖1-10 在設(shè)備系統(tǒng)為中文時的app名字
?二.內(nèi)容本地化(程序中的名稱進(jìn)行本地化顯示)
1.在ViewController.swift中加入一個紅色的label如圖1-11
圖1-11 在視圖加入一個紅色label
2.添加一個名字為Localizable.strings(同樣的這個名字是固定的)并對它加入本地化如圖1-11
圖1-12 添加Localizable.strings
3.勾選英文和中文并添加相應(yīng)代碼如圖1-13和1-14
圖1-13 在英文里面寫英文
如圖1-14 在中文里面寫中文(它們的key都是name)
4.在代碼中進(jìn)行應(yīng)用如圖1-15
圖1-15 在代碼中加入NSLocalizedString("name", comment: "name")
OK大功告成了,運(yùn)行下看看結(jié)果,萌萌噠......
圖 1- 16手機(jī)系統(tǒng)是英文
圖1-17手機(jī)系統(tǒng)是中文的
三. 圖像本地化
1. 將需要本地化的圖片拖入工程中如圖1-18
圖1-18加入需要本地化的圖片
2.選中圖片,并在屬性檢查器中選擇Localization進(jìn)行語言添加如圖1-19
圖1-19 添加圖片本地化
3.選中需要更改的圖片,Show in Finder進(jìn)行替換如圖1-20
圖1-20 選擇對應(yīng)的圖片到對應(yīng)的語言文件夾中
4.代碼編寫和上面的一樣用NSLocalizedString如圖1-21
圖1-21 圖片本地化代碼部分
OK我運(yùn)行下效果:
圖1-22 在中文下的圖片為真人圖片
圖1-23 在英文下的圖片為卡通圖片
源代碼 :githhub
??歡迎加入Swift QQ交流群:513653400