iOS7以下版本的國際化方法
創(chuàng)新互聯(lián)建站專注于北流網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供北流營銷型網(wǎng)站建設,北流網(wǎng)站制作、北流網(wǎng)頁設計、北流網(wǎng)站官網(wǎng)定制、微信小程序服務,打造北流網(wǎng)絡公司原創(chuàng)品牌,更為您提供北流網(wǎng)站排名全網(wǎng)營銷落地服務。
創(chuàng)建一個Localizable.strings文件
code中用字符串的地方使用NSLocalizedString,這與系統(tǒng)語言相關
時間顯示,數(shù)字,金融與地區(qū)相關,所以需要各類NSFormater, 如NSDateFormatter, NSNumberFormatter …
用命令將所有NSLocalizedString返回的字符串格式化到Localizable.strings里。命令行進入工程目錄(我的工程名是LocalizationTest),運行下面命令:
find ./ -name "*.m" -print0 | xargs -0 genstrings -o LocalizationTest/en.lproj
其中LocalizationTest/en.lproj根據(jù)自己的目錄修改
簽SSL證書問題,你可要到沃通CA申請一張免費SSL證書來使用。
Keychain Services 是 OS X 和 iOS 都提供一種安全地存儲敏感信息的工具,比如,存儲用戶ID,密碼,和證書等。存儲這些信息可以免除用戶重復輸入用戶名和密碼的過程。Keychain Services 的安全機制保證了存儲這些敏感信息不會被竊取。簡單說來,Keychain 就是一個安全容器。
Keychain 可以包含任意數(shù)量的 keychain item。每一個 keychain item 包含數(shù)據(jù)和一組屬性。對于一個需要保護的 keychain item,比如密碼或者私鑰(用于加密或者解密的string字節(jié))數(shù)據(jù)是加密的,會被 keychain 保護起來的;對于無需保護的 keychain item,例如,證書,數(shù)據(jù)未被加密。
跟keychain item有關系的取決于item的類型;應用程序中最常用的是網(wǎng)絡密碼(Internet passwrods)和普通的密碼。正如你所想的,網(wǎng)絡密碼像安全域(security domain)、協(xié)議、和路徑等一些屬性。在OSX中,當keychain被鎖的時候加密的item沒辦法訪問,如果你想要該問被鎖的item,就會彈出一個對話框,需要你輸入對應keychain的密碼。當然,未有密碼的keychain你可以隨時訪問。但在iOS中,你只可以訪問你自已的keychain items;
item可以指定為以下的類型:
1、設置信息的保密程度
2、kSecClass 的可選value
KeychainUtil.h
KeychainUtil.m
IOS6完美越獄工具下載: vasi0n(windows版本)(xp、vista、win7等操作系統(tǒng)下使用) 注意事項: 1、本教程只針對IOS6.0/6.0.1/6.0.2/6.1版本(查看固件版本:設置—通用—關于本機) 2、越獄有風險,建議先用iTunes備份好重要的數(shù)據(jù)。連接設備到i...
APP語言本地化,即語言國際化。指的是根據(jù)用戶操作系統(tǒng)的語言設置,自動將APP的語言設置為和操作系統(tǒng)一致的語言環(huán)境。開發(fā)過程中包括以下本地化設置:
注:如果勾選Use Base Internationalization,則如果未特別設置本地化語言,就使用Base選項配置。
應用名稱本地化,是指同一個App的名稱,在手機不同的語言環(huán)境下顯示不同的名稱。比如,微信在簡體中文環(huán)境下App名稱顯示為“ 微信 ”,在英語環(huán)境下顯示為“ weChat ”。
注:以前本地化App名稱,需要在Info.plist文件中增加一個名為“Application has localized display name”的BOOL類型的Key,并且需要將其值設置為YES,目的是讓App支持本地化App名稱。現(xiàn)在這個已經(jīng)不需要配置了
指的是App內(nèi)的字符串文字在不同的系統(tǒng)語言環(huán)境下顯示不同的內(nèi)容,例如“主頁”在簡體中文的語言環(huán)境下顯示“ 主頁 ”,在英語環(huán)境下顯示“ home ”,下面簡單介紹下如何設置本地化。
圖片本地化現(xiàn)在有兩種設置方式。
3分鐘實現(xiàn)iOS語言本地化/國際化
iOS 本地化(IB篇)
App Store介紹頁中顯示的語言列表如何設置
1、本地化xib文件
在XCode中點擊LocalizedDemo項目文件—PROJECT欄—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一項。
點擊Localization下面的加號(+)按鈕,會彈出一個本地化語言列表,選擇需要增加的本地化語言,比如我選Chinese(zh-Hans),這個是簡體中文,然后會彈出一個對話框,里面包括需要本地化為簡體中文的資源,本工程中有ViewController.xib和InfoPlist.strings,點擊Finish。
工程中的ViewController.xib和InfoPlist.strings文件旁就有一個可以展開的三角形了,展開可以看到他們有兩個子項:English和Chinese,English資源位于工程目錄的en.lproj文件夾中,Chinese資源位于工程目錄的zh-Hans.lproj文件夾中。
這樣就完成了xib的本地化。
當iOS設備當前語言是English時,會調(diào)用ViewController.xib(English),
當iOS設備當前語言是中文簡體時,會調(diào)用ViewController.xib(Chinese)。
其他語言xib的本地化類似。
這種方式在于能夠迅速的處理多語言本地化,可以根據(jù)不同語言的文本長度直接在xib中調(diào)整控件大小,但如果需要本地化的語言種類非常多,項目中xib文件也很多,那么項目中就充斥著太多太多的xib資源文件,感覺非常不好。
2、本地化圖像
在步驟1中不同的本地化xib文件中的UIImageView選用不同的圖片就能完成圖片的本地化。
3、本地化應用程序顯示名稱
在步驟1中的不同本地化InfoPlist.strings文件中設置:
CFBundleDisplayName = "APPNAME";
"APPNAME"改成想要顯示的本地化名字即可完成應用程序名稱的本地化。
4、本地化字符串
假設在ViewController.xib有一個UILabel,將其文本賦值如下:
label.text = NSLocalizedString(@”Hello, World”, @”The test label”);
啟動/Application/Utilities/Terminal.app,cd到LocalizedDemo目錄,執(zhí)行如下指令:
genstrings ./LocalizedDemo/*.m
命令執(zhí)行完后將在項目工程目錄下生成一個名為Localizable.strings的新文件,將其導入到工程中。
在Xcode中選中Localizable.strings,選擇XCode菜單—View—Utilities—Show Utilities,選擇Localization,選擇需要本地化的語言,即可完成。
這樣,在Localizable.strings可以看到一個能展開的三角形,展開后能看到所有已經(jīng)本地化的語言。
需要注意的是,還要對Localizable.strings對應的本地化語言做修改,因為它默認是會以某一個語言為模板復制的。比如,中文本地化默認如果以English為模板,英文本地化字符內(nèi)容為:
/* The test label */
"Hello, World" = "Hello, World";
那么中文本地化初始化值也是:
/* The test label */
"Hello, World" = "Hello, World";
需要將中文等號后面的修改:
/* The test label */
"Hello, World" = "你好,世界";
注意等號前面的字符串是本地化字符的key,不能隨意修改,若修改了它,需要重新生成本地化字符串文件。
1、本地化xib文件 在XCode中點擊LocalizedDemo項目文件—PROJECT欄—LocalizedDemo—Info,可以看到Localization部分下面Language只有English一項。 點擊Localization下面的加號(+)按鈕,會彈出一個本地化語言列表,選擇需要增加的本地化語言,比如我選Chinese(zh-Hans),這個是簡體中文,然后會彈出一個對話框,里面包括需要本地化為簡體中文的資源,本工程中有ViewController.xib和InfoPlist.strings,點擊Finish。 工程中的ViewController.xib和InfoPlist.strings文件旁就有一個可以的三角形了,可以看到他們有兩個子項:English和Chinese,English資源位于工程目錄的en.lproj文件夾中,Chinese資源位于工程目錄的zh-Hans.lproj文件夾中。 這樣就完成了xib的本地化。 當iOS設備當前語言是English時,會調(diào)用ViewController.xib(English), 當iOS設備當前語言是中文簡體時,會調(diào)用ViewController.xib(Chinese)。 其他語言xib的本地化類似。 這種方式在于能夠迅速的處理多語言本地化,可以根據(jù)不同語言的文本長度直接在xib中調(diào)整控件大小,但如果需要本地化的語言種類非常多,項目中xib文件也很多,那么項目中就充斥著太多太多的xib資源文件,感覺非常不好。2、本地化圖像 在步驟1中不同的本地化xib文件中的UIImageView選用不同的圖片就能完成圖片的本地化。3、本地化應用程序顯示名稱 在步驟1中的不同本地化InfoPlist.strings文件中設置: CFBundleDisplayName = "APPNAME"; "APPNAME"改成想要顯示的本地化名字即可完成應用程序名稱的本地化。4、本地化字符串 假設在ViewController.xib有一個UILabel,將其文本賦值如下: label.text = NSLocalizedString(@”Hello, World”, @”The test label”);啟動/Application/Utilities/Terminal.app,cd到LocalizedDemo目錄,執(zhí)行如下指令: genstrings ./LocalizedDemo/*.m 命令執(zhí)行完后將在項目工程目錄下生成一個名為Localizable.strings的新文件,將其導入到工程中。 在Xcode中選中Localizable.strings,選擇XCode菜單—View—Utilities—Show Utilities,選擇Localization,選擇需要本地化的語言,即可完成。 這樣,在Localizable.strings可以看到一個能的三角形,后能看到所有已經(jīng)本地化的語言。 需要注意的是,還要對Localizable.strings對應的本地化語言做修改,因為它默認是會以某一個語言為模板復制的。比如,中文本地化默認如果以English為模板,英文本地化字符內(nèi)容為: /* The test label */ "Hello, World" = "Hello, World"; 那么中文本地化初始化值也是: /* The test label */ "Hello, World" = "Hello, World"; 需要將中文等號后面的修改: /* The test label */ "Hello, World" = "你好,世界"; 注意等號前面的字符串是本地化字符的key,不能隨意修改,若修改了它,需要重新生成本地化字符串文件。
分享標題:ios開發(fā)本地化,ios后端開發(fā)
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article0/hojjio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站排名、企業(yè)建站、微信公眾號、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)