1、本地化介紹
1疾层、本地化分類
使用本地化功能将饺,可以輕松地將應(yīng)用程序翻譯成多種語言,甚至可以翻譯成同一語言的多種方言痛黎。原理是當(dāng)本地化的應(yīng)用程序需要載入某一資源時予弧,如圖像、屬性列表湖饱、nib文件掖蛤,應(yīng)用程序會檢查用戶的語言和地區(qū),并查找相匹配的本地化文件夾井厌。如果找到了相應(yīng)的文件夾蚓庭,就會載入這個文件夾中的資源
Xcode 8 iOS 10
- 1、xib和storyBoard本地化
- 2仅仆、App應(yīng)用名稱本地化
- 3器赞、圖片本地化
- 4、字符串本地化
2墓拜、Demo
2港柜、stroyBoard本地化
一、創(chuàng)建好中文咳榜、英文和日本語的本地化文件夾
二夏醉、配置lable的文字
三、顯示效果
2贿衍、App應(yīng)用名字本地化
一授舟、Info.plist中有個叫CFBundleDisplayName的key決定了應(yīng)用程序的名稱
讓應(yīng)用程序支持名稱本地化,Info.plist就會去InfoPlist.strings加載CFBundleDisplayName對應(yīng)的字符串,(這里需要注意不能直接本地化Info.plist贸辈,因為這樣做之后Info.plist文件會存在各自的本地化文件夾中(像en.lproj)中释树,這樣系統(tǒng)會報Info.plist文件不存在的問題肠槽,雖然可以去指定Info.plist文件的位置,但是這樣就不能實現(xiàn)本地化的目的了奢啥,所以需要用到InfoPlist.strings文件)
二秸仙、配置App名稱
三、App名稱顯示效果(日語)
3桩盲、圖片本地化
一寂纪、Xcode配置需要本地化的素材
二、Clean然后重新跑起來
不要問我怎么clean, command + option + shift +K
三赌结、顯示效果(美國)
注意: 使用Assets.xcassets或者Images.xcassets管理圖片本地化
因為iOS暫不支持.xcassets的本地化捞蛋,所以這里需要結(jié)合字符串的本地化來處理(這里也放在后面介紹)
4、字符串的本地化
一柬姚、字符串資源文件名Localizable.strings
也可以使用其他名字拟杉,但是需要終端生成Xcode可識的字符串資源文件文件,具體可參考本文末尾鏈接量承,這里只使用Localizable.strings
在代碼中使用NSLocalizedString(key, comment)來讀取本地化字符串搬设,key是Localizable.strings文件中等號左邊的字符串,comment純粹是注釋撕捍。
二拿穴、讀取Localizable.strings中的key
注意:Xcode只能讀取字符串和單個單詞的key,所以通一用" "來表示key,這樣不容易錯,畢竟資源文件是沒有查錯功能的
如果沒有對字符串進(jìn)行本地化 或者 找不到key對應(yīng)的值忧风,NSLocalizedString將直接返回key這個字符串