#程式碼
1、建立Localizable.string檔案
1、選中檔案點選右側選單欄
2、點選Localize..
3、選中Base與English
複製程式碼
2、填寫Localizable.string檔案內容
Localizable.strings(Base)內容格式如下:
/*
MDHomeViewController.swift
*/
"今日"="今日";
"明日"="明日";
"本週"="本週";
"本月"="本月";
"本年"="本年";
複製程式碼
Localizable.strings(English)內容格式如下:
/*
MDHomeViewController.swift
*/
"今日"="Today";
"明日"="Tomorrow";
"本週"="Weak";
"本月"="Month";
"本年"="Year";
複製程式碼
2、查詢專案中文內容並替換
"[^"]*[\u4E00-\u9FA5]+[^"\n]*?"(OC 中為@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")
呼叫 NSLocalizedString 方法
比如:NSLocalizedString(str:"今日")
func NSLocalizedString(str:String) -> String{
return NSLocalizedString(str, comment: str)
}
記得以前是可以直接一鍵替換的 ,現在不知道是Xcode版本的問題還是什麼 一直不成功,有知道的可以評論。我會及時更新,謝謝大家!
複製程式碼
StoryBoard Or Xib
1、選中檔案點選右側選單欄
2、點選Localize..
3、選中Base與English
4、檔案內容基本如下:
/* Class = "UILabel"; text = "微信"; ObjectID = "2c7-OE-g5X"; */
"2c7-OE-g5X.text" = "微信";
在English中把 "2c7-OE-g5X.text" = "微信"; 替換成 "2c7-OE-g5X.text" = "weChat"; 即可
複製程式碼
#infoPlist
1、建立InfoPlist.string檔案
2、選中檔案點選右側選單欄
3、點選Localize..
4、選中Base與English
5、在InfoPlist.string(English)中 :
CFBundleDisplayName="英文名";
複製程式碼
附:快速匯出專案中中文字元
我們已經知道如何識別專案中的字串了,但是如何取出來使用呢? 這就需要遍歷專案中所有的指定字尾(e.g: .h、.m等)的檔案,然後利用正則表達匹配所有使用到的中文字串,並寫入檔案中。為了方便起見,我將此過程寫了一個Mac客戶端小應用,可直接將選中的專案中所有的中文字串,匯出到指定的路徑下;該應用還可以選擇對於重複出現的中文字串進行處理,以及還可以將中文字串匯出為繁體; 小應用更值得關注的是它匯出的檔案,可以直接拿來當做多語言檔案中的key=value
使用,非常簡單,喜歡的可以去下載看看, 含有原始碼的哦;小應用執行圖如下:
可參考 去看看