Swift-國際化/多語言適配

前言

項目開發(fā)中不同語言環(huán)境需要進行多語言適配

  • 純代碼界面開發(fā)時颊埃,直接添加本地化語言文件班利,并針對鍵值對獲取即可
  • xib界面開發(fā)時榨呆,你也可以通過拖拽UI控件积蜻,間接的調(diào)用本地化語言文件,但這顯然不是最優(yōu)的解決方案纽谒,實際上蘋果已兼容了這種情況如输,可以直接針對對應的xib文件進行本地化語言處理

首先為項目添加國際化語言

全局添加需要適配的多語言

純代碼本地化

1.創(chuàng)建本地化文件澳化,推薦使用localizable命名


創(chuàng)建本地化文件

選擇對應的本地化語言

勾選需要添加的本地化語言

2.在Strings文件中設置Key-Value

/* Localizable.string */
// Localizable (English)
"title" = "title";
// Localizable (Chinese simplified)
"title" = "標題"
// Localizable (Chinese HongKong)
"title" = "標題"

3.調(diào)用本地化方法

// 為String添加轉換擴展缎谷,便于快捷調(diào)用
extension String {
  func localized() {
    return Bundle.main.localizedString(forKey: self, value: nil, table: nil)
  }
}
// 調(diào)用字符串對應的本地化字符
let title = "title".localized()

XIB本地化

1.針對控制器.xib文件添加國際化擴展


為xib添加本地化文件

勾選需要添加的本地化語言

針對勾選的本地化語言會自動生成對應的strings文件

/* Class = "UILabel"; text = "國際化語言"; ObjectID = "kFe-or-R4m"; */
"kFe-or-R4m.text" = "國際化語言";
ObjectID對應位置

2.設置不同的語言對應的文字
此時針對不同語言的strings文件進行文本設置就能達到多語言適配了

/* Class = "UILabel"; text = "國際化語言"; ObjectID = "kFe-or-R4m"; */
// xxxx(English).strings文件
"kFe-or-R4m.text" = "international language";

// xxxx(Chinese (HongKong)).strings文件
"kFe-or-R4m.text" = "國際化語言";

// xxxx(Chinese (Simplified)).strings文件
"kFe-or-R4m.text" = "國際化語言";

3.注意事項
針對新生成的strings酪惭,會自動關聯(lián)相關的UI控件,但后續(xù)添加的UI控件并不會自動加入到strings中春感,此時需要在xib中將對應的語言勾選取消掉后再重新插入,注意對strings文件進行備檔處理

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嫩实,一起剝皮案震驚了整個濱河市甲献,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撵溃,老刑警劉巖锥累,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诲宇,居然都是意外死亡,警方通過查閱死者的電腦和手機姑蓝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門纺荧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宙暇,“玉大人,你說我怎么就攤上這事桃熄⌒桶拢” “怎么了厢汹?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵血崭,是天一觀的道長。 經(jīng)常有香客問我夹纫,道長舰讹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任钻洒,我火速辦了婚禮素标,結果婚禮上,老公的妹妹穿的比我還像新娘头遭。我一直安慰自己癣诱,他們只是感情好,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布鲫惶。 她就那樣靜靜地躺著欠母,像睡著了一般。 火紅的嫁衣襯著肌膚如雪澜术。 梳的紋絲不亂的頭發(fā)上艺蝴,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天,我揣著相機與錄音鸟废,去河邊找鬼猜敢。 笑死,一個胖子當著我的面吹牛盒延,可吹牛的內(nèi)容都是我干的缩擂。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼添寺,長吁一口氣:“原來是場噩夢啊……” “哼胯盯!你這毒婦竟也來了?” 一聲冷哼從身側響起计露,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤博脑,失蹤者是張志新(化名)和其女友劉穎憎乙,沒想到半個月后叉趣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了翼馆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猜极。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡翩瓜,死狀恐怖勘高,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤夸楣,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站旭绒,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜丹允,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一宾娜、第九天 我趴在偏房一處隱蔽的房頂上張望嚣艇。 院中可真熱鬧食零,春花似錦、人聲如沸冈爹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谭企。三九已至,卻和暖如春盹廷,著一層夾襖步出監(jiān)牢的瞬間淆衷,已是汗流浹背碰凶。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凄鼻,地道東北人块蚌。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓纱控,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

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