XCODE 4.5 IOS多語言設置


轉: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的方式不起作用,這里要注意;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM