隨著社會(huì)發(fā)展,各種app應(yīng)運(yùn)而生筐眷,有些app需要面向國際黎烈,這樣就要求不僅在界面設(shè)計(jì)以及用戶體驗(yàn)上有很大的優(yōu)勢,最基本的就是app要素的國際化匀谣,即app名稱照棋、關(guān)鍵字、圖片等武翎,有些app要求在應(yīng)用內(nèi)部就可以切換語言環(huán)境烈炭。
1、app名稱國際化
只需要手動(dòng)創(chuàng)建一個(gè) InfoPlist.strings 文件宝恶,在不同語言的文件下寫上對(duì)應(yīng)的
CFBundleDisplayName = "中文app";
CFBundleDisplayName = "Application-English";
2符隙、關(guān)鍵字
創(chuàng)建 Localizable.strings文件趴捅,選中文件,在右邊屬性欄的 反正是勾選你需要國際化的語言霹疫,沒有的話可以在project->info下的localizations添加需要的語言環(huán)境拱绑,同上,在不同語言文件下寫上對(duì)應(yīng)的關(guān)鍵字丽蝎,例如:
"paste" = "paste"; (English)
"paste" = "粘貼"; ? ?(中文)
在使用的時(shí)候猎拨,NSLocalizedString(@"paste", @“paste”); 其中第一個(gè)參數(shù)為關(guān)鍵字,第二個(gè)參數(shù)為關(guān)鍵字的描述征峦。
3迟几、圖片(有兩種方式)
? a、將需要的圖片(scan.png)添加到項(xiàng)目本地栏笆,不是添加到assets中类腮,選中圖片,打開右側(cè)邊欄蛉加,選中Localize...蚜枢,如圖
選擇需要的語言,然后在左側(cè)邊欄右擊該圖片针饥,showinfinder之后你會(huì)看到多個(gè)語言環(huán)境的文件中包括該圖片厂抽,然后將不同環(huán)境下的scan.png一一對(duì)應(yīng)放進(jìn)去即可。
? b丁眼、和Localizable.strings類似筷凤,圖片資源存放在Images.xcassets里,使用時(shí)將不同語言的圖片資源在Localizable.strings里一一對(duì)應(yīng)設(shè)置苞七,如下所示:
Localizable.strings (English)
"imageName" = "pic-en";
Localizable.strings (Chinese(Simplified))
"imageName" = "pic-cn";
4藐守、說到內(nèi)部切換語言,類似微信蹂风、支付寶的多語言功能
在網(wǎng)上找到參考項(xiàng)目:
https://github.com/maximbilan/ios_language_manager/blob/master/README.md