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