閱讀168 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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)中,把等號後的文字進行編譯成中文.

轉自iOS分享網 https://iosshare.cn

最後更新:2017-04-02 15:15:07

  上一篇:go 架構風格
  下一篇:go 選擇客棧