iOS开发——高级技术本地化与国际化详解
生活随笔
收集整理的這篇文章主要介紹了
iOS开发——高级技术本地化与国际化详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本地化與國(guó)際化詳解 效果如下: 英語(yǔ):??????????????????????????????????????????????????????????????????? 中文:
?????????????
?????????????????????? 具體實(shí)現(xiàn)如下: 一。先做準(zhǔn)備:設(shè)置程序本地化 在xcode點(diǎn)擊程序圖標(biāo):點(diǎn)擊Info選項(xiàng)->Localizationn,點(diǎn)擊“+”,選擇要添加的語(yǔ)言,簡(jiǎn)體中文選擇Chinese(zh-Hans) 你會(huì)在你工程目錄下發(fā)現(xiàn)多了個(gè)文件夾,“zh-Hans.lproj",x-code使用.lproj作為其本地化文件夾的擴(kuò)展名。
CFBundleDisplayName = "Localization";? 復(fù)制代碼 CFBundleDisplayName = "本地化"; 復(fù)制代碼
效果圖:
labelName.text = NSLocalizedString(@"Name", @"The name is ");? labelPassword.text? = NSLocalizedString(@"Password:",@"The password is"); 復(fù)制代碼 NSlocalizeString 第一個(gè)參數(shù)是內(nèi)容,第二個(gè)參數(shù)將會(huì)轉(zhuǎn)化為字符串文件里的注釋。 轉(zhuǎn)化方法如下 :先關(guān)閉項(xiàng)目,打開(kāi)終端,進(jìn)入到項(xiàng)目的目錄,輸入genStrings 文件名.m就可以將該文件中的宏轉(zhuǎn)化為相應(yīng)的字符串文件,
效果如下:會(huì)看到生成"Localizable.strings", 打開(kāi)文件,就可以交給翻譯人員去翻譯了
(對(duì)于內(nèi)部應(yīng)用的字符串就用不著本地化了)
第一個(gè)參數(shù)是key的名字,第二個(gè)參數(shù)是對(duì)這個(gè)“鍵值對(duì)”的注釋,在用genstrings對(duì)象生成Localizable.strings文件時(shí)會(huì)主動(dòng)加上去。
1. 啟動(dòng)終端,進(jìn)入工程地點(diǎn)目次。
2. 新建兩個(gè)目次,推薦放在資料目次下。
目次名會(huì)感化到Localizable.strings文件對(duì)應(yīng)的說(shuō)話(huà),不克不及寫(xiě)錯(cuò)了。這里zh-Hans指簡(jiǎn)體中文,重視不克不及用zh.lproj默示。
*.m,掃描所有的.m文件。這里支撐的文件還包含.h, .java等。
5. 在新建的group中添加方才生成的Localizable.strings文件。
6. 最后在Localizable.strings文件中,批改每個(gè)key所對(duì)應(yīng)的內(nèi)容,就大功成功了。
1. 在代碼里用NSLocalizedString獲取要本地化的字符串
2. 用genstrings掃描代碼文件,生成Localizable.strings,然后加到工程中。
?????????????
?????????????????????? 具體實(shí)現(xiàn)如下: 一。先做準(zhǔn)備:設(shè)置程序本地化 在xcode點(diǎn)擊程序圖標(biāo):點(diǎn)擊Info選項(xiàng)->Localizationn,點(diǎn)擊“+”,選擇要添加的語(yǔ)言,簡(jiǎn)體中文選擇Chinese(zh-Hans) 你會(huì)在你工程目錄下發(fā)現(xiàn)多了個(gè)文件夾,“zh-Hans.lproj",x-code使用.lproj作為其本地化文件夾的擴(kuò)展名。
?
二。設(shè)置xib文件本地化, 圖像本地化的方法是一樣道理的,可以根據(jù)用戶(hù)的顯示語(yǔ)言加載不同的xib文件 操作:點(diǎn)擊xib文件,在IB窗口中選擇選項(xiàng)選擇“File Inspecter",也就是第一個(gè)選項(xiàng),選擇“Localization->"+"選擇添加的語(yǔ)言, 效果如下,原來(lái)的xib文件就會(huì)出現(xiàn)三角形,其下有兩個(gè)文件,因?yàn)槲业臑閟toryboard,但效果是一樣的。就可以實(shí)現(xiàn)將其本地化了,非常簡(jiǎn)單吧?
?
三。設(shè)置應(yīng)用程序名本地化, ?????? 設(shè)置應(yīng)用程序名存儲(chǔ)在應(yīng)用程序的Info.plist文件中,我們例子實(shí)際上為L(zhǎng)ocalize-Info.plist,選擇文件,并不需要對(duì)文件進(jìn)行 本地化,而是使"Info.strings"本地化就可以了,在Localize.Info.plist,空白處右鍵,選擇Show Raw Keys/Values,就會(huì)看到應(yīng)用程序名實(shí)際為CFBundleDisplayName,我們只需要在對(duì)應(yīng)的 Info.plist中添加以下代碼就可以了 英文版:C代碼C代碼
效果圖:
效果如下:會(huì)看到生成"Localizable.strings", 打開(kāi)文件,就可以交給翻譯人員去翻譯了
?
(2)創(chuàng)建一個(gè)InfoPlist.strings文件,里面寫(xiě)如下內(nèi)容: "CFBundleDisplayName"="你軟件的名稱(chēng)"; "CFBundleName"="你軟件的名稱(chēng)"; (3)本地化這個(gè)文件即可。 3、本地化資源,不必細(xì)說(shuō)了,網(wǎng)上資料很多,這里我只說(shuō)下我的疑惑:圖片資源貌似只能用zh-Hans。 4、本地化icon,目前不支持,所以不要費(fèi)勁的去本地化icon了。 5、商店的本地化,也不必細(xì)說(shuō)了,很簡(jiǎn)單,按照蘋(píng)果需要的填就可以了。
應(yīng)用genstrings和NSLocalizedString實(shí)現(xiàn)App文本的本地化
Admin
2012年3月20日
?
在不推敲本地化的景象下,我們?nèi)羰窃诖a中給一個(gè)Button定義title,一般會(huì)如許寫(xiě):
btn.titleLable.text = @"Example Button";
(對(duì)于內(nèi)部應(yīng)用的字符串就用不著本地化了)
btn.titleLable.text = NSLocalizedString(@"btn_title", nil);
第一個(gè)參數(shù)是key的名字,第二個(gè)參數(shù)是對(duì)這個(gè)“鍵值對(duì)”的注釋,在用genstrings對(duì)象生成Localizable.strings文件時(shí)會(huì)主動(dòng)加上去。
?
當(dāng)我們把所有的.m文件都修發(fā)好了,就該genstrings對(duì)象出場(chǎng)了。1. 啟動(dòng)終端,進(jìn)入工程地點(diǎn)目次。
2. 新建兩個(gè)目次,推薦放在資料目次下。
目次名會(huì)感化到Localizable.strings文件對(duì)應(yīng)的說(shuō)話(huà),不克不及寫(xiě)錯(cuò)了。這里zh-Hans指簡(jiǎn)體中文,重視不克不及用zh.lproj默示。
mkdir zh-Hans.lproj
mkdir en.lproj
genstrings -o zh-Hans.lproj *.m
genstrings -o en.lproj *.m
*.m,掃描所有的.m文件。這里支撐的文件還包含.h, .java等。
?
4. 右鍵點(diǎn)擊工程的Resources目次,選擇“New Group”,添加兩個(gè)目次zh-Hans.lproj和en.lproj。5. 在新建的group中添加方才生成的Localizable.strings文件。
6. 最后在Localizable.strings文件中,批改每個(gè)key所對(duì)應(yīng)的內(nèi)容,就大功成功了。
1. 在代碼里用NSLocalizedString獲取要本地化的字符串
2. 用genstrings掃描代碼文件,生成Localizable.strings,然后加到工程中。
五. 圖片和其他資源文件
選中需要本地化的資源文件 -> 打開(kāi)右邊工具欄(Utilites) -> 在“Localization”欄目加入需要支持的語(yǔ)言。xcode會(huì)把資源文件拷貝到新加入語(yǔ)言的的目錄下,把準(zhǔn)備好的本地化文件替換掉xcode自動(dòng)拷貝的文件即可。
轉(zhuǎn)載于:https://www.cnblogs.com/LifeTechnologySupporter/p/4762656.html
總結(jié)
以上是生活随笔為你收集整理的iOS开发——高级技术本地化与国际化详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AppScan安装教程
- 下一篇: 最新可用NOD32免ID升级服务器