我們所開發(fā)的應(yīng)用可能還會被不同國家不同人群使用,所以應(yīng)用也該支持多語言蚌铜。當用戶切換系統(tǒng)語言時锨侯,應(yīng)用程序自動變成和系統(tǒng)語言一致的行為叫語言國際化或本地化。
話不多說厘线,開擼:
添加語言
之后點完成造壮,然后command+n新建String File文件渡讼,文件名為InfoPlist,注意就只能是這個名字
createfile.jpg
完成后點擊新建的文件耳璧,打開右邊的屬性檢查器
3.jpg
4.jpg
5.jpg
image.png
打開下面的文件,在English寫入:
// 后面是英文版的應(yīng)用名稱
CFBundleDisplayName = "LocalizableDemo";
在Chinese文件中寫入:
CFBundleDisplayName = "本地化demo";
此時旨枯,分別切換系統(tǒng)語言可以看到App的名稱自動變?yōu)槲覀冊O(shè)置的蹬昌。
以上是設(shè)置不同語言的App名稱,接下來是應(yīng)用中的文字:
和上述操作一樣攀隔,直接新建String File文件皂贩,名稱為Localizable(注:該文件的后綴都是.string栖榨,如果系統(tǒng)沒有隱藏后綴名則要輸入Localizable.string),創(chuàng)建完成后跟上面一樣的操作,點擊該文件的Localize明刷,勾選語言復(fù)選框婴栽,然后依然看到該文件下有多個文件。
在不同的文件中配置不同的語言辈末,如中文:
image.png
由于我們的開發(fā)環(huán)境是英文愚争,在English文件下面可以不用寫。
在程序代碼中這樣使用:
NSLocalizedString(@"Home", nil)
效果:
英文環(huán)境
中文環(huán)境