為什么要實(shí)現(xiàn)國(guó)際化?
為了方便擴(kuò)展用戶量和更多國(guó)家的人能夠使用app。
1.APP Name的國(guó)際化
首先我們?cè)陧?xiàng)目里面的project中找到Localizations點(diǎn)擊+來(lái)添加支持的語(yǔ)言。
image.png
默認(rèn)的是支持英文,我這里舉例添加一個(gè)簡(jiǎn)體中文的來(lái)演示。
image.png
接下來(lái)新建一個(gè)String File的文件 命名為InfoPlist
image.png
然后選擇新建的string文件添加語(yǔ)言
image.png
添加完之后string文件里面就包含英文和中文的兩個(gè)文件
image.png
然后在對(duì)應(yīng)的文件夾中設(shè)置APP的name ,注意要使用CFBundleDisplayName 也就是infoplist文件中appname的key
image.png
image.png
這一步完成后,再運(yùn)行app,切換手機(jī)設(shè)置中的語(yǔ)言就可以展示對(duì)應(yīng)的app name。
2.內(nèi)容的國(guó)際化
同樣新建String文件,不過(guò)得命名為Localizable
image.png
image.png
使用鍵值對(duì)來(lái)設(shè)置不用語(yǔ)言下文字內(nèi)容,獲取文字內(nèi)容時(shí)使用NSLocalizedString方法來(lái)獲取。
image.png
3.xib內(nèi)容的國(guó)際化
如下圖在xib文件中也是有Localizations來(lái)勾選語(yǔ)言,之后會(huì)得到對(duì)應(yīng)的string文件。
image.png
xib文件中的控件都有對(duì)應(yīng)id
image.png
在文件中我們以label的id.text作為key來(lái)設(shè)置label應(yīng)該顯示的文字。
image.png
image.png
不需要其他操作,直接運(yùn)行項(xiàng)目,xib中的label就會(huì)顯示文件中所設(shè)置的文字內(nèi)容。
測(cè)試發(fā)現(xiàn)xib添加的lable如果內(nèi)容為空時(shí),配置的多語(yǔ)言沒(méi)有顯示,需要給lable先設(shè)置一個(gè)默認(rèn)的文本才會(huì)正常顯示。