一般在開發 App 的時候,除非是只想在單一國家上架,不然基本上都會做多國語系,來讓 App 可以根據系統語言來切換 App 內元件顯示的語言,所以今天要來介紹,如何讓你的 App 與世界接軌
首先,打開專案的 xcodeproj,點擊「PROJECT」,找到「Localization」,將你想要新增的語系新增進去,這邊是示範新增「繁體中文跟韓文」這兩種語系
接著在左邊檔案列表內新增一個資料夾叫做「Localizable」,用來分類各國語系,然後新增一個 Strings 檔案,Strings 檔案的檔名一定要叫做「Localizable」
接著點開 Localizable.strings,在右側點擊「Localize...」,選擇你要支援的其中一種語系,這邊是選擇「English」
接著將右側 Localization 裡要支援的語系打勾
這時候,Localizable.strings 裡就會出現所有有打勾的語系檔
下面就示範繁體中文跟韓文的部分,其他語系也是一樣的做法
新增的方法,很簡單,在對應語言的 Localizable.strings 加入 Key 和 Value,每行最後都要加分號,下面是範例
"Hello" = "你好"; // 繁體中文範例
"Hello" = "안녕하세요"; // 韓文範例
接著在你有需要多國語系的元件,改成下面的程式碼,以 UILabel 做示範
前面的 Hello 就是我們的 Key,後面的 comment 是註解,如果沒有特殊需求的話,打空字串就可以了
label.text = NSLocalizedString("Hello", comment: "")
接著是如何讓 App 顯示名稱也可以多國語系化
這邊可以參考 Apple Developer 官方文件
作法跟前面的基本上是大同小異,唯一有差別的地方是檔名和 Key 的不同
檔名只能取「InfoPlist.strings」,Key 只能打「CFBundleDisplayName」,這是 Apple 規定的
"CFBundleDisplayName" = "本地化 Demo"; // 繁體中文範例
"CFBundleDisplayName" = "현지화 데모"; // 韓文範例
本篇的範例程式碼:GitHub
參考資料