自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iPhone開發(fā)應用關于國際化案例實現(xiàn)

移動開發(fā) iOS
iPhone開發(fā)應用關于國際化案例實現(xiàn)是本文要介紹的內(nèi)容,主要是來學習在iPhone項目中如何才能國際化,來看詳細內(nèi)容講解。

iPhone開發(fā)應用關于國際化案例實現(xiàn)是本文要介紹的內(nèi)容,主要是來學習在iPhone項目中如何才能國際化?難道同一個項目,非要寫一個英文版的源代碼,再寫一個中文版的源代碼?其實大可不必。我們可以使用iPhone的多語言支持來實現(xiàn)項目的本地(國際)化。

1、新建Windows-base Application。打開main.m文件,在main函數(shù)中增加代碼如下:

  1. // 取得用戶默認信息  
  2. NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];  
  3. // 取得 iPhone 支持的所有語言設置  
  4. NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];  
  5. NSLog ( @"%@" , languages); 

運行程序,從 console 中輸出如下內(nèi)容:

  1. "zh-Hans",   
  2.     en,   
  3.     fr,   
  4.     de,  
  5. "zh-Hant",   
  6. …… 

可以看到, iPhone 設備上支持的所有語言,有英、法、德,還有兩個 ”zh” 開頭的語言(簡體/繁體)。我們知道,以 ”zh” 開頭的就是中文。

2 、在 Resources 上右鍵, Add à New File ,文件類型選擇 Resource->Strings File ,文件名為 Localizable.strings 。在該文件上使用 getInfo 命令,在如下界面中點擊 Make File Localizable 按鈕,如圖:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

然后 , 你去 Finder 中查看工程目錄,會發(fā)現(xiàn)多了一個 English.lproj 的目錄,其下有一個 Localizable.strings 文件(不過其中的內(nèi)容是空的)。

再次打開 getInfo 窗口,顯示如下界面:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

可以看見 Localizations 列表中只有一個語言 English ,我們需要點擊 Add Localization 按鈕,增加中文 zh_CN,如圖:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

這時,你再去 Finder 中查看工程目錄,發(fā)現(xiàn)又多了一個 zh_CN.lproj 的目錄,其下也有一個 Localizable.strings 文件(內(nèi)容也是空的)。

同時,在 Target 下的 Copy Bundle Resources 目錄下多出兩個不同語言版本的 Localizabel.strings 文件(一個 English ,一個 zh_CN ),如圖:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

3 、打開 MainWindow.xib ,拖一個 UILable 到 window 中。

4 、打開 AppDelegate.h 文件,在其中申明 UILable 變量并增加一個 IBOutlet :

  1. UILabel * label ;  
  2. ……  
  3. @property ( nonatomic , retain ) IBOutlet UILabel* label; 

5 、打開 AppDelegate.m 文件,

  1. @synthesize window,label; 

在 ( BOOL )applicationv:application didFinishLaunchingWithOptionsv: 方法中增加代碼:

  1. // 使用NSLocalizedString函數(shù)根據(jù)iPhone的多語言設置獲取國際化的字符串  
  2. label . text = NSLocalizedString ( @"Localizable Test" , @"" ); 

6 、回到 IB ,將 UILable 控件和 IBOutlet 變量 label 進行連接,如圖:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

7 、打開終端程序,進入工程目錄,運行命令:

  1. genstrings -o English.lproj ./classes/*.m 

你會發(fā)現(xiàn) English.lproj 目錄下的那個 Localizable.strings 文件中增加了一行代碼:

  1. "Localizable Test" = "Localizable Test" ; 

再運行命令:

  1. genstrings -o zh_CN.lproj ./classes/*.m 

同樣 , 在 zh_CN.lproj 目錄下的那個 Localizable.strings 文件中也會增加一行代碼:

  1. "Localizable Test" = "Localizable Test" ; 

打開 zh_CN.lproj 目錄下的 Localizable.strings (雙擊),修改為

  1. "Localizable Test" = " 本地化測試 " ; 

這樣,每當源代碼有改變后,我們都需要用 genstrings 命令重新生成 Localizable.strings 文件。但是,每次重新生成后,原來的編輯(翻譯)結果又不見了,我們又必須重頭翻譯。這是個很大的麻煩,建議以后每次 genstrings 之前把文件進行備份,減少重復工作。

8 、運行程序,效果如下(如果模擬器的多語言設置為簡體中文)如圖:

iPhone開發(fā)應用關于國際化案例實現(xiàn)

當你把多語言設置改為 English ,則標簽中的文本顯示為英文了。

小結:iPhone開發(fā)應用關于國際化案例實現(xiàn)的內(nèi)容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: starming社區(qū)
相關推薦

2011-08-11 13:26:30

iPhoneNSLocalized

2011-07-20 14:53:28

iPhone NSLocalize 國際化

2011-08-19 10:05:30

iPhone開發(fā)

2011-08-15 15:44:46

iPhone開發(fā)PDF

2011-08-18 16:24:44

iPhone開發(fā)圖片

2010-01-04 13:09:51

Silverlight

2011-08-19 11:10:31

iPhone應用

2011-08-19 10:13:05

iPhone開發(fā)

2011-08-16 15:48:37

iPhone開發(fā)抓圖程序

2024-01-17 10:16:22

前端國際化消息鍵

2023-01-31 10:29:26

JavaScript國際化國際化庫

2009-12-29 15:05:29

WPF支持國際化

2011-08-16 15:36:47

iPhone應用測試

2024-01-04 08:16:34

Spring國際化標準

2009-01-19 09:06:31

gettextPHP國際化編程

2011-08-18 10:39:46

iPhone開發(fā)界面

2011-07-08 11:13:42

Cocoa Touch XCode

2011-08-17 16:12:20

iPhone應用程序

2023-09-05 15:23:06

開發(fā)應用鴻蒙

2011-08-09 14:54:29

iPhoneNSDateanotherDate
點贊
收藏

51CTO技術棧公眾號