[iOS Dev] Localize info.plist 多國語系 InfoPlist.strings

2015-12-12

多年以來(?)的疑惑終於解開

首先開一個新專案
File > New > Project…
選擇 iOS > Application > Single View Application

▼ 接著新增一個檔案 (位置都可以 我是放在最外面的目錄)
File > New > File…
接著在 iOS > Resource 選擇 Strings File

▼ 檔名取作 InfoPlist (一定要這名字 大小寫也必須一樣)
Targets 選擇要使用的 target
(像如果有 widget 就可以依需求選擇主 app 跟 widget 的 target )

▼ 接著開啟這個檔案 (副檔名會是 strings 所以在左邊列表中會是 InfoPlist.strings )
先填入 設定 app 名字

"CFBundleDisplayName" = "English Name";

等號左邊就是 info.plist 中會出現可以設定的名稱 右邊則是要顯示的名稱
可以設定的名稱可以看這 Core Foundation Keys

▼ 接著拉開右邊側邊欄 點擊右方的 Localize… 按鈕 如下圖位置

▼ 會詢問要把原本的檔案轉成哪一個 我是選擇 Base (也就是預設的語言 English)

▼ 完成後 右側欄的 Localization 就會出現目前有的語言

▼ 接著要新增需要的語言 左側欄位點選專案 選擇 PROJECT 裡的專案名稱 注意是在 Info 頁籤裡面
下面有一個 Localizations 點擊加號選擇要的語言
我這邊是選擇 Chinese (Traditional, Taiwan) 在 other 裡面

▼ 再來會問你哪些檔案要 localize 可以看到剛剛建立的檔案 InfoPlist.strings 也在裡面

▼ 完成後 就可以看到左側欄裡的 InfoPlist.strings 變成了兩個檔案了 (看有幾個語言就會有幾個檔案)

▼ 接著就依序修改需要的文字 下圖即是改成中文名稱

這樣就完成了
可以開始編譯測試看看
記得最好先 Clean ( Product > Clean ) 並把原先裝在手機(或模擬器)上的 app 刪掉

示範 app 放在 github