要使應用多語言化在Xcode中實現起來其實是相當容易的。對於大多數的應用,多語言化主要在於文字的多語言化,其他的諸形,介面的多語言化一般的應用並不會涉及。當然,這些在Xcode中都可以實現。下面主要介紹一下文字多語言化的方法。
Step 1:為應用添加多語言版本
這個很簡單,在project中info下有localizations,點擊+添加所需要的版本,這時會彈出對話方塊顯示要添加語言版本的內容。
這裡麵包含了storyboard,infoPlist.strings。如果要實現產品名稱的多語言化,應包含infoPlist.strings。同時也可以看到我們可以直接在storyboard中實現比如按鈕,圖片的多語言。對於Localizable.strings,是針對文字的多語言,在下面會講到。這個要手動添加。
Step 2:編程中的變化
要實現多語言,在編程中就不能直接用NSString 了,而是使用
NSLocalizedString(key, comment)
介紹一下基本用法:key是對應顯示的NSString,comment則為注釋。基本的原理就是有不同版本的Localizable.strings,相同的注釋在不同語言版本中key不一樣,這樣顯示的時候不同的語言介面顯示的語言就不一樣。
Step 3:擷取Localizable.strings
開啟Terminal終端:
然後將地址換到工程所在檔案夾。基本方法是輸入“cd ”然後將工程檔案夾拉進其視窗。
然後輸入 genstrings ./LocalizeMe/*.m 這裡LocalizeMe是我這裡例子的項目名稱。要改成你項目的名稱。 斷行符號,然後開啟工程檔案夾,你就可以看到Localizable.strings檔案,將其拉進Xcode項目中。
開啟檔案可以看到如下類似內容,Localizable.strings 包含你的項目中所有使用NSLocalizedString的內容。
這裡的注釋就是comment,而下面的“Three”=“Three”,左邊的字串就是Key。
Step 4:編輯Localizable.strings
如果你這時候還沒有針對Localizable.strings這個檔案進行多語言化也沒關係。如:
點擊這個檔案,然後開啟屬性,可以看到右邊有Localization選項,比如我要添加中文版,那就在Chinese上打鉤,這樣這個檔案就會自動添加一個Chinese版本。
接下來就是點擊這個Chinese版本進行編輯:
把每個對應的key的內容改成中文的就OK了。
現在運行程式,如果手機是中文的,那麼顯示的就是中文內容,如果是英文的,那就是英文內容。
Step 5:應用程式名稱多語言化
這個很簡單,在infoPlist.strings中輸入
CFBundleDisplayName = "應用程式名稱";
就可以了。
以上就是最基本的實現多語言化的方法。要更進一步的話,還有資料類型多語言化,比如貨幣,時間等等, 這些內容有待深入研究!