隨著社會發展,各種app應運而生,有些app需要面向國際,這樣就要求不僅在界面設計以及用戶體驗上有很大的優勢,最基本的就是app要素的國際化,即app名稱、關鍵字、圖片等,有些app要求在應用內部就可以切換語言環境。
1、app名稱國際化
只需要手動創建一個 InfoPlist.strings 文件,在不同語言的文件下寫上對應的
CFBundleDisplayName = "中文app";
CFBundleDisplayName = "Application-English";
2、關鍵字
創建 Localizable.strings文件,選中文件,在右邊屬性欄的 反正是勾選你需要國際化的語言,沒有的話可以在project->info下的localizations添加需要的語言環境,同上,在不同語言文件下寫上對應的關鍵字,例如:
"paste" = "paste"; (English)
"paste" = "粘貼"; ? ?(中文)
在使用的時候,NSLocalizedString(@"paste", @“paste”); 其中第一個參數為關鍵字,第二個參數為關鍵字的描述。
3、圖片(有兩種方式)
? a、將需要的圖片(scan.png)添加到項目本地,不是添加到assets中,選中圖片,打開右側邊欄,選中Localize...,如圖
選擇需要的語言,然后在左側邊欄右擊該圖片,showinfinder之后你會看到多個語言環境的文件中包括該圖片,然后將不同環境下的scan.png一一對應放進去即可。
? b、和Localizable.strings類似,圖片資源存放在Images.xcassets里,使用時將不同語言的圖片資源在Localizable.strings里一一對應設置,如下所示:
Localizable.strings (English)
"imageName" = "pic-en";
Localizable.strings (Chinese(Simplified))
"imageName" = "pic-cn";
4、說到內部切換語言,類似微信、支付寶的多語言功能
在網上找到參考項目:
https://github.com/maximbilan/ios_language_manager/blob/master/README.md