XCODE 4.5 IOS多語言設定

來源:互聯網
上載者:User

轉:http://blog.csdn.net/samuelltk/article/details/8480403

  前些天升級到Xcode4.5,現在正在用Xcode4.5+IOS6開發項目,當使用國際化時,遇到了一點問題,之前版本Xcode上建立Localizable.strings後,添加語言的“+”號不見了,找了半天無果,自己研究了下,後來在Stackoverflow上找到瞭解決方案,原來Apple把這個“+”號換地方了。下面來看看如何使用。

  首先建立一個名為Localizable.strings的資源檔

   完成後選中該檔案,在屬性選取器中可以看到多了個按鈕:

  點擊這個按鈕後,出現國際化語言選擇框,但只有一個English的選項:

   沒關係,繼續,點擊Localize按鈕,這時只支援英語。Xcode4.5之前的版本會在屬性選取器裡面有個“+”號用來添加其他語言支援,現在沒了,其實是在別的地方。點擊工程根目錄,並選擇PROJECT,然後選擇INFO選項卡,底部我們就看到了Localizations:

   點擊“+”號選擇一門語言添加上,我這裡選的是Chinese,ok,完成了,再看Localizable.strings檔案,就多了兩個子檔案,分別支援英文和漢語:

   在屬性選取器中也看到了English和Chinese:

   這樣,就完成了在Xcode4.5上國際化的設定和操作,下面來看如何使用。

  首先選擇Localizable.strings(English)檔案,添加如下內容:

  "loading" ="Loading...";

  然後選擇Localizable.strings(Chinese)檔案,添加如下內容:

  "loading" ="載入中...";

  內容注意一定要以分號結尾,否則無法識別。然後是在代碼中使用:

  NSString *loading = NSLocalizedString(@"loading",@"");

  系統會根據當前裝置的語言環境來識別使用中文還是英文,到此,在Xcode4.5上國際化的操作就完成了。

  如果在命名.strings檔案為 Localizable.strings 時,那麼你就可以用以下方式調用即可:

  NSLocalizedString(@"title", nil) 

  此時這兩種方法的用途一樣:  

  1. NSLog(@"Local string0: %@", NSLocalizedString(@"str0", nil));  
  2. NSLog(@"Local string1: %@", NSLocalizedStringFromTable(@"str1", @"Localizable", nil));  

  如果建立.strings檔案是自訂的名字的話,如當前我起名為 Internation.strings,那麼調用的方式為:

  NSLocalizedStringFromTable(@”title”,@”Internation”, nil) ;

  當自訂名字後,使用NSLocalizedString的方式不起作用,這裡要注意;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.