成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發應用關于國際化案例實現

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

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

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

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

運行程序,從 console 中輸出如下內容:

  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開發應用關于國際化案例實現

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

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

iPhone開發應用關于國際化案例實現

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

iPhone開發應用關于國際化案例實現

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

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

iPhone開發應用關于國際化案例實現

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函數根據iPhone的多語言設置獲取國際化的字符串  
  2. label . text = NSLocalizedString ( @"Localizable Test" , @"" ); 

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

iPhone開發應用關于國際化案例實現

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

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

你會發現 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開發應用關于國際化案例實現

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

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

責任編輯:zhaolei 來源: starming社區
相關推薦

2011-08-11 13:26:30

iPhoneNSLocalized

2011-07-20 14:53:28

iPhone NSLocalize 國際化

2011-08-19 10:05:30

iPhone開發

2011-08-15 15:44:46

iPhone開發PDF

2011-08-18 16:24:44

iPhone開發圖片

2010-01-04 13:09:51

Silverlight

2011-08-16 15:48:37

iPhone開發抓圖程序

2011-08-19 11:10:31

iPhone應用

2011-08-19 10:13:05

iPhone開發

2009-12-29 15:05:29

WPF支持國際化

2024-01-17 10:16:22

前端國際化消息鍵

2023-01-31 10:29:26

JavaScript國際化國際化庫

2011-08-16 15:36:47

iPhone應用測試

2024-01-04 08:16:34

Spring國際化標準

2011-08-18 10:39:46

iPhone開發界面

2009-01-19 09:06:31

gettextPHP國際化編程

2011-07-08 11:13:42

Cocoa Touch XCode

2011-08-17 16:12:20

iPhone應用程序

2011-08-09 14:54:29

iPhoneNSDateanotherDate

2023-09-05 15:23:06

開發應用鴻蒙
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩高清一区二区 | 国产二区精品视频 | 精品亚洲一区二区三区四区五区高 | 91一区二区 | 国产成人精品一区二区三区在线 | 中文字幕一区二区三区不卡 | 国产精品国产三级国产播12软件 | 亚洲国产伊人 | 精品国产乱码久久久久久影片 | 久久国产一区二区三区 | 国产91成人| 天天操网 | 欧美一区二区在线观看 | 成人在线视频观看 | 亚洲福利在线视频 | 很很干很很日 | av影音资源 | 福利一区二区 | 日韩成人在线视频 | 精品伊人久久 | 黄网站免费入口 | 91精品国产综合久久久久久丝袜 | 97超碰人人 | 亚州av| 午夜视频免费在线观看 | 91精品久久久久久久久久 | 日韩在线小视频 | 成人免费视频网站在线看 | 中文字幕不卡在线88 | 国产成人精品久久二区二区91 | 黄色成人在线观看 | 范冰冰一级做a爰片久久毛片 | 欧美日韩在线一区 | 欧美综合国产精品久久丁香 | 国产美女精品视频 | 国产一区二区精品在线观看 | 九九热精品免费 | 国产又爽又黄的视频 | 中日韩av| 国产精品无码专区在线观看 | 亚洲精彩免费视频 |