1分鐘教你實(shí)現(xiàn)iOS國際化

官方文檔:
https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.html

國際化的介紹

說到國際化,大家必定聯(lián)想到本地化,個(gè)人的理解,兩者是相輔相成的,本地化是你的APP轉(zhuǎn)化為多種語言的過程,而在本地化之前你的APP必須支持國際化。那么國際化便是使你的APP具有適應(yīng)不同地域的能力。那么為什么要設(shè)置國際化呢?顧名思義根據(jù)不同的地域選擇不同的語言,使得不同語言不同國家的用戶看懂我們的APP所想要傳遞的信息。

下面進(jìn)入正題,完成國際化的設(shè)置

設(shè)置產(chǎn)品所需要的國際化的語言

僅需配置一次,若后來想要加另一種直接點(diǎn)擊加號(hào)即可

※ project--->info---> Localizations,點(diǎn)擊“+”號(hào),添加產(chǎn)品所需的語言

屏幕快照 2016-11-30 下午5.29.44.png

※ 比如選擇繁體中文,然后彈出這個(gè)框,直接點(diǎn)擊finish即可

屏幕快照 2016-11-30 下午5.37.02.png

※ 同理,我添加了簡體中文,繁體中文,法語,作為例子,最終呈現(xiàn)這種效果:

屏幕快照 2016-11-30 下午5.41.45.png

(一)應(yīng)用名稱的國際化

應(yīng)用名稱國際化就是指:在不同的語言設(shè)置下,顯示相應(yīng)的語言,比如系統(tǒng)中的設(shè)置,在簡體中文下是“設(shè)置”,如果設(shè)置成英文語言,那么顯示為“setting”。
※ 選中info.plist--->快捷鍵(control+N)--->彈出框中選擇String File--->點(diǎn)擊next--->Save As名稱寫成InfoPlist(注:名字一定不能錯(cuò),否則無效)--->create

屏幕快照 2016-11-30 下午5.48.45.png
屏幕快照 2016-11-30 下午5.53.30.png

※ 選中上一步創(chuàng)建好的InfoPlist.strings文件(在info.plist文件下面),點(diǎn)擊Xcode右上角按鈕 展示右欄,點(diǎn)擊Localization按鈕,如圖:


屏幕快照 2016-11-30 下午5.57.22.png

※ 在上步的彈出框里 選擇自己要本地化的語言,點(diǎn)擊Localize.如圖:


屏幕快照 2016-11-30 下午6.00.18.png

※ 同樣選中InfoPlist.strings文件,展示右欄,選中自己所要本地化的語言,打上對(duì)勾

屏幕快照 2016-11-30 下午6.03.34.png

※ 這時(shí)你會(huì)發(fā)現(xiàn)InfoPlist.strings變成了一個(gè)目錄,點(diǎn)開三角號(hào),如圖:

屏幕快照 2016-11-30 下午6.06.01.png

※ 我們以英文為例,點(diǎn)開English的strings,我們需要按照CFBundleDisplayName = “ ”這種方式寫入這個(gè)語言所要展示字段,那么比如在英文語言里,名字為“hello,world” 如圖:

屏幕快照 2016-11-30 下午6.49.29.png

※ 同理,在簡體中文,繁體中文,法語中的設(shè)置

屏幕快照 2016-11-30 下午6.50.02.png

屏幕快照 2016-11-30 下午6.50.14.png

屏幕快照 2016-11-30 下午6.50.22.png

※ 到此,產(chǎn)品名稱的國際化算是完成了,大家可以通過改變?cè)O(shè)備的語言,顯示效果

Simulator Screen Shot 2016年11月30日 下午6.42.44.png
Simulator Screen Shot 2016年11月30日 下午6.43.25.png
Simulator Screen Shot 2016年11月30日 下午6.44.12.png
Simulator Screen Shot 2016年11月30日 下午6.45.08.png

產(chǎn)品內(nèi)容 字符串的國際化

顧名思義,如果APP里有個(gè)按鈕title為完后,那么在簡體中文里應(yīng)該是“完成”,在英文設(shè)置則是“finish”

※ 首先和APP名稱準(zhǔn)備是一樣的(注添加語言不用),創(chuàng)建strings文件,不同的是名字必須是Localizable,如圖:

屏幕快照 2016-11-30 下午6.21.41.png

※ 同樣要選中新創(chuàng)建好的Localizable.string文件,點(diǎn)擊Localize,選擇要國際化的語言,然后打上對(duì)勾,結(jié)果如圖:

屏幕快照 2016-11-30 下午6.25.01.png

※ 打開Localizable目錄,設(shè)置不同語言的字段表示,在代碼中運(yùn)用,這里我以button的title為例,如圖

屏幕快照 2016-11-30 下午6.30.02.png
屏幕快照 2016-11-30 下午6.30.29.png
屏幕快照 2016-11-30 下午6.30.51.png
屏幕快照 2016-11-30 下午6.31.22.png

※ 代碼中表示:

[button setTitle:NSLocalizedString(@"buttonTitle", nil) forState:UIControlStateNormal];

※ 運(yùn)行結(jié)果如下:

Simulator Screen Shot 2016年11月30日 下午6.42.29.png
Simulator Screen Shot 2016年11月30日 下午6.43.31.png
Simulator Screen Shot 2016年11月30日 下午6.44.16.png
Simulator Screen Shot 2016年11月30日 下午6.45.15.png

圖片的國際化

有兩種方式:
1.與國際化字符串的方法一樣,通過NSLocalizedString來實(shí)現(xiàn)
2.與第一種方式不同,將圖片加到工程里--->選中圖片--->點(diǎn)擊右側(cè)的 Localize,選擇語言。--->同樣圖片變成目錄--->同樣方式設(shè)置每個(gè)語言下的字段,此步驟與國際化字符串相同,同上。

應(yīng)用內(nèi)部修改語言鏈接推薦

http://blog.csdn.net/shaobo8910/article/details/48396325

喜歡這篇文章的請(qǐng)加關(guān),有不同見解者請(qǐng)?jiān)u論欄留言分享心得,謝謝親的支持?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容