Cocoa Touch多語言實現

來源:互聯網
上載者:User

Cocoa Touch多語言實現是本文要介紹的內容,開發項目的時候不用管顯示語言的問題,在代碼中任何地方要顯示文字都這樣調用:

 
  1. NSLocalizedString(@"aaa", @"bbb"); 

這裡aaa相當於關鍵字,它用於以後從檔案中取出相應語言對應該的文字。bbb相當於注釋,翻譯人員可以根據bbb的內容來翻譯aaa,這裡的aaa與顯示的內容可以一點關係也沒有,只要程式員自己能看懂就行。比如,一個頁面用於顯示連絡人清單,這裡調用可以這樣寫。

 
  1. NSLocalizedString(@"shit_or_anything_you_want", @"連絡人清單標題"); 

項目寫好後,取出全部的文字內容送給翻譯去翻譯。這裡取出所有的文字列表很簡單。使用Mac的genstrings命令。方法如下:

1. 開啟控制台,切換到項目所在目錄。

2. 輸入命令:genstrings ./Classes/*.m。

3. 這時在項目目錄中會有一個Localizable.strings檔案。其中內容如下:

 
  1. /* 連絡人清單標題 */  
  2. "shit_or_anything_you_want" = "shit_or_anything_you_want";  
  3. 4. 翻譯只需將等號右邊改好就行了。這裡如果是英文,修改後如下:  
  4. /* 連絡人清單標題 */  
  5. "shit_or_anything_you_want" = "Buddies";  
  6. 如果是法文,翻譯後如下:  
  7. /* 連絡人清單標題 */  
  8. "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多語言實現的內容介紹完了,希望本文對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.