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