Cocoa Touch多語言實現是本文要介紹的內容,開發項目的時候不用管顯示語言的問題,在代碼中任何地方要顯示文字都這樣調用:
- NSLocalizedString(@"aaa", @"bbb");
這裡aaa相當於關鍵字,它用於以後從檔案中取出相應語言對應該的文字。bbb相當於注釋,翻譯人員可以根據bbb的內容來翻譯aaa,這裡的aaa與顯示的內容可以一點關係也沒有,只要程式員自己能看懂就行。比如,一個頁面用於顯示連絡人清單,這裡調用可以這樣寫。
- NSLocalizedString(@"shit_or_anything_you_want", @"連絡人清單標題");
項目寫好後,取出全部的文字內容送給翻譯去翻譯。這裡取出所有的文字列表很簡單。使用Mac的genstrings命令。方法如下:
1. 開啟控制台,切換到項目所在目錄。
2. 輸入命令:genstrings ./Classes/*.m。
3. 這時在項目目錄中會有一個Localizable.strings檔案。其中內容如下:
- /* 連絡人清單標題 */
- "shit_or_anything_you_want" = "shit_or_anything_you_want";
- 4. 翻譯只需將等號右邊改好就行了。這裡如果是英文,修改後如下:
- /* 連絡人清單標題 */
- "shit_or_anything_you_want" = "Buddies";
- 如果是法文,翻譯後如下:
- /* 連絡人清單標題 */
- "shit_or_anything_you_want" = "Copains";
語言檔案翻譯好以後,將英語檔案拖入項目中,再右擊->Get Info,選擇Make Localization。XCode會自動拷貝檔案到English.lproj目錄下。再添加其它語言。
在編譯器後,運行在iPhone上,程式會根據當前系統設定的語言來自動選擇相應的語言套件。
注意:genstrings產生的檔案拖入XCode中可能是亂碼,這時只要在XCode中右擊檔案->Get Info->General->File Encoding下選擇UTF-16即可解決。
小結:Cocoa Touch多語言實現的內容介紹完了,希望本文對你有所協助!