iPhone 中使用NSLocalizedString實現國際化

一、獲取系統所支持的國際化信息
在國際化之前,你可以在iphone中的”設置->通用->多語言環境->語言”中來查看你的iphone支持哪些語言,當然也可以寫一段代碼測試一下你的iphone都支持哪些語言.測試代碼如下:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; 
NSLog(@"%@", languages);
注:NSUserDefaults類用來取得用戶人默認信息.
二、在Xcode中建立多語言文檔
1.在Resources分類下新建文檔(右鍵/Add/New File…)
2.在模板對話框中選擇Other,然後再選擇Strings File
3.將文件保存名設置爲Localizable.strings
4.在Localizable.strings 文件上按右鍵並選擇 Get Info
5.點擊信息界面的Make File Localizable,然後再將Tab標籤切換到General
6.輸入新的語言名稱 zh 後按 Add,些時有English與zh兩種語言,你還可以增加其它語言.
三、在源代碼中使用NSLocalizedString來引用國際化文件
//括號裏第一個參數是要顯示的內容,與各Localizable.strings中的id對應
//第二個是對第一個參數的註釋,一般可以爲空串
[_alertView setTitle:NSLocalizedString(@"Submitted successfully",@"")];
四、使用Terminal的genstrings命令進行生成資源文件
打開Terminal,然後cd到工程所在的目錄,然後使用genstrings來生成自動從源代碼中生成資源文件.
例如,項目的目錄爲:/user/project/test01,則命令如下:
genstrings -o English.lproj  ./classes/*.m
genstrings -o zh.lproj ./classes/*.m
五、編輯各Localizable.strings文件
從第四步中得到了與代碼對應的資源文件,最後我們需要對這些資源文件翻譯成對應的語言就可以了.如在Localizable.strings(zh)中, 把等號後的文字進行編譯成中文.
"Submitted successfully" = "提交成功"
重新編譯整個工程後,就會在不同的語言環境下得到相應的語言顯示.
 
帶圖版本:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章