添加要支持的本地化語(yǔ)言
本地化 app name
1、 新建 InfoPlist.strings文件,; 2、選中InfoPlist.strings 點(diǎn)擊 Xcode -> View ->show File Inspector,在Localization中點(diǎn)“+”,,添加要本地化的語(yǔ)言,。然后在InfoPlish.strings 左邊會(huì)多出一個(gè)三角形,點(diǎn)擊展開(kāi)后可以看到InfoPlish.strings(english)和InfoPlish.strings(chinese)兩個(gè)版本的文件等,; 3,、在 InfoPlish.strings(xxx) 中添加 CFBundleDisplayName =“app name”; 4,、編輯Info.plist,添加一個(gè)新的屬性Application has localized display name, 設(shè)置其類型為boolean,,并將其value設(shè)置為YES即可
本地化 字符串
(1)新建 Localizable.strings 文件,; (2)類似 本地化 app name 的第二步: (3)在 Localizable.strings(xxx) 中加入 需要翻譯的
“ key" = "value" <br />
(3)在代碼中使用NSLocalizedString(< key>, < comment>)來(lái)讀取本地化字符串,代碼如下:
Label.text = NSLocalizedString(@"welcome", nil); <br />
注意:如果你的strings文件名字不是Localizable而是自定義的話,,如wang.strings,,那么你就得使用NSLocalizedStringFromTable()來(lái)讀取本地化字符串: NSLocalizedStringFromTable(@“welcome”,@“wang”, nil)
項(xiàng)目默認(rèn)使用英文語(yǔ)言
我們的項(xiàng)目支持 簡(jiǎn)體中文,繁體中文,,英文,,泰文,日文,,韓文 6種語(yǔ)言,,其他語(yǔ)言 默認(rèn)顯示英文。Long long ago(iOS7 之前),,這種需求 是不需要做額外處理的,,因?yàn)橄到y(tǒng) 就是處理的這樣的。But ,,iOS7 之后 天氣變了,,系統(tǒng)選擇了 app 所不支持的語(yǔ)言,默認(rèn)選擇系統(tǒng)上次的語(yǔ)言(當(dāng)然是app 支持的一種啦),。那么怎么讓 app 不支持的語(yǔ)言默認(rèn)顯示英文呢,?看代碼吧
我們?cè)诔绦蛑?直接使用 label.text = LS(@“key”,@““); 就可以了
如何操作導(dǎo)出文件
iOS8 以前的方式 用命令將所有NSLocalizedString返回的字符串格式化到Localizable.strings里。 命令行進(jìn)入工程目錄(我的工程名是LocalizationTest),,運(yùn)行下面命令:
<!-- lang: cpp -->
find . -name \*.m |xargs genstrings -s NSLocalizedString -o tmp.iproj
這樣我們就可以將程序中所有的需要本地化的字符串,,以key-value的形式格式化輸出到 Localizable.strings文件里,然后這個(gè)Localizable.strings 文件就可以送出去翻譯了
iOS8中的方式 在iOS8中 apple 加入了一種國(guó)際通用的xliff文件,,本質(zhì)是xml文件,,全稱是 Localisation Interchange File Format(本地化交換文件格式), 里面就是需要翻譯的東西,。(http://en./wiki/XLIFF) 打開(kāi)xliff文件,,里面 標(biāo)簽中是表示要翻譯的東西。 選中Editor –> Export For Localization就可以導(dǎo)出需要翻譯的字符串,,它會(huì)遍歷整個(gè)工程,,將xib,stroryboard, 代碼中需要本地化字符串導(dǎo)出到.xliff文件中,。小伙伴們?cè)僖膊恍枰謩?dòng)輸入上面的命令將NSLocalizedString對(duì)應(yīng)的需要翻譯的字符串輸出到Localizable.strings里了,。 Import Localizations就是導(dǎo)入翻譯的字符串,并自動(dòng)刷新xib,,.strings,, storyboard中本地化文件
|