iOS - 本地化
準備
項目添加本地化:Project - Info - Localizations - 添加需要的支持
English:默認英文
Chinese(Simplified):簡體中文
Chinese(Traditional):繁體中文
app icon 圖標文字本地化
即提供不同的展示名字;
- 1 添加Resource - Strings File - 注意命名!
InfoPlist.strings - 2 修改InfoPlist.strings文件的 Localization屬性:添加需要的支持
- 3 然后InfoPlist.strings文件的下面會對應包含需要支持的本地化文件:在每個文件里分別添加
CFBundleDisplayName = "英文";
CFBundleDisplayName = "簡體中文";
CFBundleDisplayName = "繁體中文";
注:其實更宏定義很像,就是文本替換;
- 4 聽說需要在 info.plist 中 需要Application has localized display name = YES;(實測好像可以不添加)
字符串本地化
- 1 添加Resource - Strings File - 注意命名!
Localizable.strings - 2 修改Localizable.strings文件的 Localization屬性:添加需要的支持
- 3 然后Localizable.strings文件的下面會對應包含需要支持的本地化文件:在每個文件里分別添加
"OK"="OK";
"OK"="確定";
"OK"="確定";
注:前面的OK,就是開發過程中使用的"OK"字符串,系統會自動識別本地化,替換相應的字符;
使用:NSLocalizedString(@"Cancel", nil);// 會相應替換字符串,圖片名稱也是一樣可用;
- 4 部分修改:
NSLocalizedString(@"OK", @"假的");// 這里的走你,相當于標記,與InfoPlist.strings中對應的注釋。舉例:
/*!
* 假的
*/
"OK"="不 OK";
注:沒有使用標記的 NSLocalizedString 還是會使用原來的字符,只有對應標記的才替換;
storyboard 的本地化
類似Localizable.strings文件,添加Localization的支持,會出現多個storyboard!如果要畫多個sb,我還不如純代碼!為了 偷懶的話,直接在源文件使用字符串本地化,sb就搞一個好了,字符串替換實現簡單的本地化;要是界面都要本地化,真是崩潰啊;