iOS 國(guó)際化多語言設(shè)置

根據(jù)當(dāng)前設(shè)備語言自動(dòng)切換顯示。

幾個(gè)涉及到多語言本地化設(shè)置的:

1.應(yīng)用名稱

2.文字

3.圖片、素材

4.StoryBoard(Xib)

iOS國(guó)際化原理分析

核心思想就是為每種語言單獨(dú)定義一份資源。iOS 就是通過xxx.lproj目錄來定義每個(gè)語言的資源,這里的資源可以是圖片,文本,Storyboard,Xib等。

一.配置多語言環(huán)境

選中項(xiàng)目 --> PROJECT(默認(rèn)是選中TARGETS,切換下選擇項(xiàng)目) --> Info --> Localizations --> 設(shè)置多語言環(huán)境

1.點(diǎn)擊 + 添加語言

添加語言


2.選擇 Use Base Internationalzation

選擇 Use Base Internationalzation

二.應(yīng)用名稱國(guó)際化

1.在 info 里手動(dòng)添加一行Bundle display name字段,bundle display name “XXXX”

添加 bundle display name

2.編輯Info.plist

編輯 Info plist

打開Info.plist,添加一個(gè)新的屬性Application has localized display name, 設(shè)置其類型為boolean,并將其value設(shè)置為YES

3.創(chuàng)建InfoPlist.string,并進(jìn)行Localization配置

command + N,添加InfoPlist.string,注意名稱一定要是InfoPlist,string,添加后放入Supporting Files 下

創(chuàng)建文件
設(shè)置

Localization配置:

工作目錄結(jié)構(gòu)文件下單擊InfoPlist.strings,查看右邊的屬性,在Localization欄添加語言

添加語言
添加語言


選擇語言

選擇語言

Base與前面提過到的開啟Use Base Internationalization是有關(guān)聯(lián)的,只有開啟了全局Use Base Internationalization這里才會(huì)顯示。那為什么這里沒有勾選Base,是因?yàn)锽ase做為一個(gè)基礎(chǔ)模板,作用于Strings文件是沒有太大意義的,去掉Base意味著在Base.lproj中少了一個(gè)strings文件,APP大小也所有下降,這點(diǎn)對(duì)于圖片的Base也是這樣.

4.添加完成后打開對(duì)應(yīng)語言文件

設(shè)置中文名稱
設(shè)置英文名稱

三.文字國(guó)際化

1.創(chuàng)建Localizable.strings文件及配置,通創(chuàng)建配置Infoplist.string相同

2.在對(duì)應(yīng)語言的Localizable.strings中添加key=value;字串(各個(gè)語言文件中key要相同)

英文
中文

3.在代碼中使用NSLocalizedString(key, comment)來讀取本地化字符串,第一個(gè)參數(shù)是key的名字,第二個(gè)參數(shù)是對(duì)這個(gè)“鍵值對(duì)”的注釋,通常為nil

NSLocalizedString(x, nil);

注意:

如果你的strings文件名字不是Localizable而是自定義的話,如other.strings,那么你就得使用NSLocalizedStringFromTable(key, @"other", nil)來讀取本地化字符串,中間那個(gè)是@"other"文件名

四.國(guó)際化圖片

有兩種方式:

1.在不同語言的Localizable.strings中指定不同的圖片名稱,通過NSLocalizedString()獲取不同的圖片名稱后進(jìn)行顯示不同的圖片(文字國(guó)際化類似)

2.點(diǎn)中你要本地化的圖片,如“商標(biāo).png”

然后XCode-> View-> Utilities -> File Inspector,在Localization中點(diǎn)“+”添加chinese ;在圖片左邊就會(huì)出現(xiàn)一個(gè)倒三角,點(diǎn)開就會(huì)出現(xiàn)(english)和(chinese)的2張圖,并且在項(xiàng)目文件夾中會(huì)出現(xiàn)en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版圖片,zh-Hans.lproj存放的是中文版圖片,中英文圖片名字一樣,我們?cè)谖募A中直接替換圖片就可以了,最后使用時(shí)直接使用正常名字就行了,如:“main.png”

打開File Inspector

設(shè)置語言環(huán)境

設(shè)置語言

選擇語言

選擇語言

多語言下的圖片

不用語言環(huán)境下的圖片
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容