[iOS][Python]分享公司實現(xiàn)國際化的一些經(jīng)驗

背景

這里的故事源自于公司的一個臨時需求.以色列公司同事需要接手目前APP的一部分開發(fā)工作.但是由于語言差異,app內部并沒有做國際化的一些工作.限時一個星期,領導叫我們完成整個app的國際化工作.說實話,壓力很大.這里略過如何具體實現(xiàn)國際化,如有需要請自行百度.

難點

這里有幾個耗時點:

1.我們工程內部都是直接采用的中文進行賦值.項目里有大量中文,需要我們去提取,很耗時.
2.常規(guī)的國際化操作是需要Localizable.stringsInfoPlist.strings這兩個文件來實現(xiàn)的,那么就面臨將中文字符和key逐個拷貝進入文件之中,也很耗時.
3.中文需要翻譯,翻譯過程暫且不提,但也需要逐個拷貝進入英文的對應的文件里,也很耗時.
4.如果翻譯不準確,中文寫錯了,或者key也改了,那么可能同時改幾個文件,這就很蛋疼了,麻煩且依然耗時.

解決方案

這里針對上述四個耗時,我們經(jīng)過團隊討論,得出如下的一種解決方案.

1.中文提取,我們找了一個正則,來尋找出項目內出現(xiàn)的所有中文.操作步驟如下:

(1)打開”Find Navigator”

(2)切換搜索模式到 “Find > Regular Expression”

(3)輸入@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?" (swift請去掉”@” 輸入@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")

這樣就能搜索出項目里所有的中文了,這里其實沒有解決耗時的根本問題,但是至少不用去文件里一個個翻了,由于是分模塊提取的,還是省了不少力.

2.中文全部提取之后,這里就不用逐個copy進Localizable.strings文件內了.這里我們采取了一種思路,我們先定好所有需要的key,將key,中文,英文翻譯全部放入到一個EXCEL文件內,并且一一對應,然后通過腳本語言將這個EXCEL文件直接轉換成我們需要的Localizable.strings文件.這里給一張EXCEL文件的圖:


這里的腳本語言采用的是python,同時也支持shell,其內部目錄如下:

這里紅色框起來的部分,作用是可以將iOS的Localizable.strings轉換成上述EXCEL文件內的key-value形式,以及反轉.至于腳本具體細節(jié),這里暫不討論,涉及一些實現(xiàn)細節(jié),有興趣的朋友可以按照這個思路自己去實踐一下.
就這么一個腳本就解決了耗時2,3的問題,那么對于耗時4,其實就很容易解決了.

3.當我們維護國際化字符串的時候,就不再是去XCode工程里維護Localizable.strings文件了,而是去維護我們新建的哪個EXCEL文件,當我們需要修改對應內容,只需要在EXCEL文件內Command+F找到對應內容,修改過后,再次執(zhí)行上述的腳本即可,這樣的話,省時省力,直接運行工程即可看到修改效果.另外我們是多人合作開發(fā),所以我們專門為此建立了一個git倉庫來管理這個國際化文件,但轉換工作是由本人來控制的.

經(jīng)過上述一頓操作,我們的國際化版本順利調整完畢,本來預計的翻譯時間會較長,結果不到兩天就全部搞定.后續(xù)就是蛋疼的國際化界面適配了,就不談了.

腳本地址請戳

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末删豺,一起剝皮案震驚了整個濱河市愧怜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拥坛,老刑警劉巖供炎,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疾党,死亡現(xiàn)場離奇詭異,居然都是意外死亡雪位,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門香罐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來时肿,“玉大人,你說我怎么就攤上這事螃成。” “怎么了宁炫?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵氮凝,是天一觀的道長。 經(jīng)常有香客問我罩阵,道長,這世上最難降的妖魔是什么稿壁? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任常摧,我火速辦了婚禮搅吁,結果婚禮上落午,老公的妹妹穿的比我還像新娘。我一直安慰自己溃斋,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布享甸。 她就那樣靜靜地躺著,像睡著了一般蛉威。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哲虾,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天择示,我揣著相機與錄音,去河邊找鬼栅盲。 笑死,一個胖子當著我的面吹牛谈秫,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼蚓哩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喜颁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤半开,失蹤者是張志新(化名)和其女友劉穎赃份,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抓韩,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡谒拴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了英上。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啤覆。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惭聂,死狀恐怖,靈堂內的尸體忽然破棺而出彼妻,到底是詐尸還是另有隱情,我是刑警寧澤屋摇,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布幽邓,位于F島的核電站炮温,受9級特大地震影響牵舵,放射性物質發(fā)生泄漏。R本人自食惡果不足惜畸颅,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一没炒、第九天 我趴在偏房一處隱蔽的房頂上張望涛癌。 院中可真熱鬧送火,春花似錦、人聲如沸种吸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至形耗,卻和暖如春辙浑,著一層夾襖步出監(jiān)牢的瞬間激涤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工送滞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辱挥,地道東北人犁嗅。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓褂微,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宠蚂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容

  • 為什么我家孩子不聽話,因為你說的弦赖,不是他想聽的。 為什么我家孩子不聽話蹬竖,因為你總是嘮嘮叨叨。 為什么我家孩子不聽話...
    令芳老師閱讀 761評論 0 4
  • 來信: 其實我很想知道庆冕,過一個不平凡的人生是不是真的那么重要劈榨?或者說,不平凡是什么同辣?正在考研,剛開始的時候信心滿...
    柏小齊閱讀 840評論 2 9
  • 這次轉預備黨員怕是不行了旱函,掛科描滔。心很痛棒妨,代價很沉重含长,這么件事情影響了我太多了伏穆。
    garble閱讀 190評論 0 0
  • 01 前段時間染簇,很忙,但是為了完成公眾號開通原創(chuàng)和拿到贊賞的目標剖笙,基本上能夠保持每日更文。我把更文這件事看成每天第...
    辰苓閱讀 248評論 0 1
  • 下雪了过蹂,大學班級群炸鍋了,各種曬雪景酷勺,各種回憶照,那時青澀懵懂卻滿足脆诉,無憂無慮卻充滿棱角,時光太匆匆击胜,回憶太零碎!...
    SS_5872閱讀 176評論 0 0