歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

iPhone App的國際化

iphone的app的國際化可以通過創建不同語言版本的Localizable.strings文件來完成。

通過以下函數來讀取Localizable.strings文件時,會自動選擇與手機系統語言相匹配的Localizable語言版本。這樣就實現了系統語言與軟件語言匹配的國際化功能。

這就是使用Localizable實現程序國際化的基本思想。

  1. #define NSLocalizedString(key, comment) \   
  2.     [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]  
  3. #define NSLocalizedStringFromTable(key, tbl, comment) \   
  4.     [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]  
  5. #define NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment) \   
  6.     [bundle localizedStringForKey:(key) value:@"" table:(tbl)]  
  7. #define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) \   
  8.     [bundle localizedStringForKey:(key) value:(val) table:(tbl)]  

具體做法大致如下:

1.創建Localizable.strings文件

 右鍵-》New File-》Resource-》String File


創建名字為Localizable.strings的文件:

2.增加不同語言版本的Localizable.strings文件

選中Localizable.strings文件,看Localizable對應的xcode最右邊的窗口中的show the File Inspector窗口:


選擇Localization項的+號,添加你自己想要的語言版本:


可以通過+,-號增加語言的版本,對應的Localizable.strings會自動生成:


ok,至此就已經完成創建多語言版本的Localizable的工作。

3.在Localizable文件中寫入不同版本的語言


右鍵,Add Row,可以添加map形式的數據了。


添加數據如下:

Localizable.strings(English)添加信息:



Localizable.strings(Chinese)添加信息:


當你在程序中使用指定函數調用時,就會自動匹配系統語言,輸出不同結果:

  1. NSString*strHello = NSLocalizedString(@"hello", @"");  
  2. NSLog(strHello);  
如果系統語言是英文,會輸出:hello

如果系統語言是中文,會輸出:你好!

國際化的過程大致如此。

Copyright © Linux教程網 All Rights Reserved