淺談iPhone中使用NSLocalizedString實(shí)現(xiàn)國(guó)際化
淺談iPhone中使用NSLocalizedString實(shí)現(xiàn)國(guó)際化是本文要介紹的內(nèi)容,不多說(shuō),我們先來(lái)看內(nèi)容。
一、獲取系統(tǒng)所支持的國(guó)際化信息
在國(guó)際化之前,你可以在iphone中的”設(shè)置->通用->多語(yǔ)言環(huán)境->語(yǔ)言”中來(lái)查看你的iphone支持哪些語(yǔ)言,當(dāng)然也可以寫(xiě)一段代碼測(cè)試一下你的iphone都支持哪些語(yǔ)言.測(cè)試代碼如下:
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
- NSLog(@"%@", languages);
注:NSUserDefaults類用來(lái)取得用戶人默認(rèn)信息.
二、在Xcode中建立多語(yǔ)言文檔
1.在Resources分類下新建文檔(右鍵/Add/New File…)
2.在模板對(duì)話框中選擇Other,然后再選擇Strings File
3.將文件保存名設(shè)置為L(zhǎng)ocalizable.strings
4.在Localizable.strings 文件上按右鍵并選擇 Get Info
5.點(diǎn)擊信息界面的Make File Localizable,然后再將Tab標(biāo)簽切換到General
6.輸入新的語(yǔ)言名稱 zh 後按 Add,些時(shí)有English與zh兩種語(yǔ)言,你還可以增加其它語(yǔ)言.
三、在源代碼中使用NSLocalizedString來(lái)引用國(guó)際化文件
//括號(hào)里***個(gè)參數(shù)是要顯示的內(nèi)容,與各Localizable.strings中的id對(duì)應(yīng)
//第二個(gè)是對(duì)***個(gè)參數(shù)的注釋,一般可以為空串
- [_alertView setTitle:NSLocalizedString(@"Submitted successfully",@"")];
四、使用Terminal的genstrings命令進(jìn)行生成資源文件
打開(kāi)Terminal,然后cd到工程所在的目錄,然后使用genstrings來(lái)生成自動(dòng)從源代碼中生成資源文件.
例如,項(xiàng)目的目錄為:/user/project/test01,則命令如下:
- genstrings -o English.lproj ./classes/*.m
- genstrings -o zh.lproj ./classes/*.m
五、編輯各Localizable.strings文件
從第四步中得到了與代碼對(duì)應(yīng)的資源文件,***我們需要對(duì)這些資源文件翻譯成對(duì)應(yīng)的語(yǔ)言就可以了.如在Localizable.strings(zh)中,把等號(hào)后的文字進(jìn)行編譯成中文.
- "Submitted successfully" = "提交成功"
重新編譯整個(gè)工程后,就會(huì)在不同的語(yǔ)言環(huán)境下得到相應(yīng)的語(yǔ)言顯示.
小結(jié):淺談iPhone中使用NSLocalizedString實(shí)現(xiàn)國(guó)際化的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!