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

根據(jù)當前設(shè)備語言自動切換顯示培遵。

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

1.應(yīng)用名稱

2.文字

3.圖片、素材

4.StoryBoard(Xib)

iOS國際化原理分析

核心思想就是為每種語言單獨定義一份資源选酗。iOS 就是通過xxx.lproj目錄來定義每個語言的資源唯咬,這里的資源可以是圖片凭需,文本染乌,Storyboard瘫辩,Xib等伏嗜。

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

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

1.點擊 + 添加語言

添加語言


2.選擇 Use Base Internationalzation

選擇 Use Base Internationalzation

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

1.在 info 里手動添加一行Bundle display name字段杭朱,bundle display name “XXXX”

添加 bundle display name

2.編輯Info.plist

編輯 Info plist

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

3.創(chuàng)建InfoPlist.string,并進行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這里才會顯示。那為什么這里沒有勾選Base画饥,是因為Base做為一個基礎(chǔ)模板衔瓮,作用于Strings文件是沒有太大意義的,去掉Base意味著在Base.lproj中少了一個strings文件抖甘,APP大小也所有下降热鞍,這點對于圖片的Base也是這樣.

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

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

三.文字國際化

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

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

英文
中文

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

NSLocalizedString(x, nil);

注意:

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

四.國際化圖片

有兩種方式:

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

2.點中你要本地化的圖片柄沮,如“商標.png”

然后XCode-> View-> Utilities -> File Inspector回梧,在Localization中點“+”添加chinese 废岂;在圖片左邊就會出現(xiàn)一個倒三角,點開就會出現(xiàn)(english)和(chinese)的2張圖狱意,并且在項目文件夾中會出現(xiàn)en.lproj文件和zh-Hans.lproj文件湖苞;en.lproj文件存放的是英文版圖片,zh-Hans.lproj存放的是中文版圖片髓涯,中英文圖片名字一樣袒啼,我們在文件夾中直接替換圖片就可以了,最后使用時直接使用正常名字就行了纬纪,如:“main.png”

打開File Inspector

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

設(shè)置語言

選擇語言

選擇語言

多語言下的圖片

不用語言環(huán)境下的圖片
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚓再,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子包各,更是在濱河造成了極大的恐慌摘仅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件问畅,死亡現(xiàn)場離奇詭異娃属,居然都是意外死亡,警方通過查閱死者的電腦和手機护姆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門矾端,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卵皂,你說我怎么就攤上這事秩铆。” “怎么了灯变?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵殴玛,是天一觀的道長。 經(jīng)常有香客問我添祸,道長滚粟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任刃泌,我火速辦了婚禮凡壤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耙替。我一直安慰自己鲤遥,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布林艘。 她就那樣靜靜地躺著,像睡著了一般混坞。 火紅的嫁衣襯著肌膚如雪狐援。 梳的紋絲不亂的頭發(fā)上钢坦,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音啥酱,去河邊找鬼爹凹。 笑死,一個胖子當著我的面吹牛镶殷,可吹牛的內(nèi)容都是我干的禾酱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼绘趋,長吁一口氣:“原來是場噩夢啊……” “哼颤陶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起陷遮,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滓走,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帽馋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搅方,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年绽族,在試婚紗的時候發(fā)現(xiàn)自己被綠了姨涡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡吧慢,死狀恐怖涛漂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娄蔼,我是刑警寧澤怖喻,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站岁诉,受9級特大地震影響锚沸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涕癣,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一哗蜈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坠韩,春花似錦距潘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至氢惋,卻和暖如春洞翩,著一層夾襖步出監(jiān)牢的瞬間稽犁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工骚亿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留已亥,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓来屠,卻偏偏與公主長得像虑椎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俱笛,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容