由於iPhone,iPad等蘋果產品在全世界範圍內的廣泛流行,那麼通過App Store下載應用程式的使用者也將是來自世界範圍的人們,所以開發人員在開發過程中勢必要考慮到不同語言環境下使用者使用,好在iOS擁有健壯的本地化(localization)體繫結構,使用它可以輕鬆的將應用程式翻譯成多種語言。
多語言在應用程式中一般有兩種做法:
一、程式中提供給使用者自己選擇語言的機會;
二、根據目前使用者當前行動裝置的語言自動將我們的app切換對應語言,這裡在設定中需要設定的內容有兩項:語言(Language)和地區格式(Region Format)。
第一種做法比較簡單完全靠自己的發揮了,這裡主要講第二種做法,主要分一下幾點:
1.本地化應用程式名稱------InfoPlist.plist
2.本地化字串-----Localizable.strings
3.本地化圖片檔案
4.本地化storyboard檔案-----MainStoryboard.storyboard
1、應用程式本地化步驟:
(1)首先需要向項目中添加以上需要本地化的元素,也就是根據項目的需要向項目中添加以上檔案,一般需要添加的是字串檔案和圖片檔案,其它兩個項目中已經自動建立好了的。
- 添加字串檔案Localizable.strings(在Resource中選擇Strings file)其中要注意的是,檔案名稱一定是Localizable
- 添加圖片檔案就比較簡單啦--add file 就可以了
(2)接著分別對新加入的項目進行本地化
(3)添加語言,並選擇需要本地化的內容
(4)這樣基本的xoode操作就完成了。
2、下面需要的是對這些與本地化有關的檔案進行編輯。
(1)首先是設定應用程式的名稱,這個需要在InfoPlist.plist檔案中添加
CFBundleDisplayName =
"應用程式名稱";
(2)接著是本地化字串,在Localizable.strings檔案中添加相應內容(都是一些key-value對)
如下:
/* The number 5 */"LABEL_FIVE" = "Five";/* The number 4 */"LABEL_FOUR" = "Four";/* The number 1 */"LABEL_ONE" = "One";/* The number 3 */"LABEL_THREE" = "Three";/* The number 2 */"LABEL_TWO" = "Two";
(3)本地化圖片檔案
圖片檔案的本地化處理一般是在Finder中直接替換檔案
(4)本地化storyboard檔案
這部分的本地化就比較多樣了,像這個demo是選擇不同的國家國旗。
程式本地化中用到比較多的是這個方法
NSString *NSLocalizedString(NSString *key, NSString *comment)
通過key擷取在字串檔案中的value,comment只是一個解釋字串,用於提示該字串所代表的意義和內容,可以置為nil。
這部分的內容比較簡單,附上一個小demo