1. 程式人生 > >全面解析iOS中App的名稱和內容以及啟動頁三大板塊的國際化方案

全面解析iOS中App的名稱和內容以及啟動頁三大板塊的國際化方案

在做iOS專案時,App的國際化(I18N)幾乎是必做的一件事。App的國際化主要有應用名稱的國際化、內容的國際化,以及啟動頁的國家化。趁著週末有空在網上整理了一些比較全面的資料,給老鐵們分享下。Demo連結:https://pan.baidu.com/s/1eSgQrvk 沒理解我說的步驟可以參考這個Demo。

一、應用名稱的國際化

1.首先建立Strings檔案並且命名為InfoPlist:


2.然後在Localizations欄中新增你想要的國際化語言(這裡以英文和簡體中文為例):


3.再就是為InfoPlist檔案新增你想要國際化的檔案(file):


4.如果有多個,在新增完第一個後就可以在右側勾選你想要的語言了:


5.最後一步就是在InfoPlist.strings檔案中為"CFBundleDisplayName"這個鍵新增對應的值,這裡以在InfoPlist.strings(English)檔案中新增 CFBundleDisplayName = "App Name";在InfoPlist.strings(Chinese)檔案中新增CFBundleDisplayName = "應用名稱";為例,顯示效果如下:

二、內容的國際化

內容的國際化跟應用名稱的國際化大同小異,都是建立Strings檔案,不過內容國際化建立的是Localizable.strings檔案(命名不同了)。操作流程就是上面應用名稱國際化的第1、3、4步(注意第1步要把原來的InfoPlist.strings改成Localizable.strings),建立完成的效果:


然後在Localizable.strings(English)檔案中新增"key" = "Value";的程式碼,在Localizable.strings(Chinese(Simplifled))檔案中新增"key"="值";的程式碼。以以下程式碼為例,得到測試效果:


⚠️注意:前方高能

三、啟動頁的國際化

啟動頁的國際化是重頭戲,放在最後說。首先找到info欄目下的Custom iOS Target Properties 屬性,找到UILaunchStoryboardName這個鍵:


如果沒有可以右鍵這個屬性列表,在彈出框中單擊Show Raw Keys/Values這個選項,如果還是沒有那就只能手動建立了:


完成以上步驟後再建立兩個Storyboard檔案,分別命名為LaunchScreen-English.storyboard和LaunchScreen-Chinese.storyboard。這兩個Storyboard檔案分別用來載入英文和中文環境下的啟動頁。建立完成之後分別拖入ViewController和用於渲染圖片的UIImageView,並新增適配條件和兩種環境下的圖片:


然後還要勾選兩個ViewController的 Is Initial View Controller屬性:


最後還要在應用名稱本地化時建立的InfoPlist.strings(English)檔案中鍵入"UILaunchStoryboardName" = "LaunchScreen-English";程式碼,在另一個InfoPlist.strings(Chinese(Simplified))檔案中鍵入"UILaunchStoryboardName" = "LaunchScreen-Chinese";程式碼。然後得到如下執行效果: