国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

3分鐘實(shí)現(xiàn)iOS語言本地化/國際化(圖文教程)

2020-07-26 01:29:21
字體:
供稿:網(wǎng)友

前言

語言本地化,又叫做語言國際化。是指根據(jù)用戶操作系統(tǒng)的語言設(shè)置,自動將應(yīng)用程序的語言設(shè)置為和用戶操作系統(tǒng)語言一致的語言。往往一些應(yīng)用程序需要提供給多個國家的人群使用,或者一個國家有多種語言,這就要求應(yīng)用程序所展示的文字、圖片等信息,能夠讓講不同語言的用戶讀懂、看懂。進(jìn)而提出為同一個應(yīng)用程序適配多種語言,也即是國際化。語言國際化之所以又叫做語言本地化,這是站在每個用戶的角度而言的,是指能夠讓用戶本地、本土人群能夠看懂的語言信息,顧名思義,語言本地化。其實(shí)語言本地化 == 語言國際化!

本文將分如下7個主要章節(jié)一步一步講解如何完全本地化一個App。

  • 配置需要國際化的語言(國際化的準(zhǔn)備工作)
  • App名稱本地化
  • 代碼中字符串本地化
  • 多人開發(fā)情況下的字符串本地化
  • 圖片本地化(兩種方式兩種方式)
  • 查看/切換本地語言
  • storyboard/xib本地化

配置需要國際化的語言

配置需要國際化的語言,這也是國際化之前的準(zhǔn)備工作,無論我們是國際化App名稱、代碼中的字符串、圖片、還是storyboard和xib,都需要進(jìn)行這一步的準(zhǔn)備工作(一個項(xiàng)目中需要且僅需要配置一次)。

選中project->Info->Localizations,然后點(diǎn)擊"+",添加需要國際化/本地化的語言,如下圖(默認(rèn)需要勾選Use Base Internationalization):

此處以添加法語為例,如下圖:

彈出如下對話框,直接點(diǎn)擊finish,如下圖:

同理,添加簡體中文、繁體中文、韓語,最終結(jié)果如下圖:

備注: “zh-Hans”和“zh-Hant”是簡體中文和繁體中文的縮寫。這是標(biāo)準(zhǔn)的縮寫。H可大寫也可小寫。"en"是英語的縮寫。ko是韓語的縮寫,fr是法語的縮寫。其他語言請百度各國語言縮寫即可查詢。

(一)應(yīng)用名稱本地化/國際化

應(yīng)用名稱本地化,是指同一個App的名稱,在不同的語言環(huán)境下(也就是手機(jī)設(shè)備的語言設(shè)置)顯示不同的名稱。比如,微信在簡體中文環(huán)境下App名稱顯示為“ 微信 ”,在英語環(huán)境下顯示為“ weChat ”。下面就開始進(jìn)行應(yīng)用名稱本地化。

選中Info.plist,按下鍵盤上的command + N,選擇 Strings File (iOS->Resource->Strings File)

文件名字命名為 InfoPlist ,且 必須是這個名字 (因每個人電腦設(shè)置差異,此處本人電腦沒有顯示strings后綴名):

點(diǎn)擊create后,Xcode左側(cè)導(dǎo)航列表就會出現(xiàn)名為InfoPlist.strings的文件,如下圖:

選中InfoPlist.strings,在Xcode的File inspection(Xcode右側(cè)文件檢查器)中點(diǎn)擊Localize,目的是選擇我們需要本地化的語言,如下圖:

注意: 在點(diǎn)擊Localize之前,一定要保證我們已經(jīng)添加了需要本地化的語言,也就是上面 配置需要國際化的語言 那一步(步驟:project->Info->Localizations,然后點(diǎn)擊"+",添加需要國際化/本地化的語言)。

點(diǎn)擊Localize后,會彈出一個對話框,展開對話框列表,發(fā)現(xiàn)下拉列表所展示的語言正是我們在上面配置的需要國際化的語言,選擇我們需要本地化的語言,然后點(diǎn)擊對話框的Localize按鈕,如下圖:

注意: 如果我們沒有在 PROJECT 中配置需要國際化的語言(project->Info->Localizations,然后點(diǎn)擊"+"),上圖下拉列表中將只會出現(xiàn)"Base"和"English"選項(xiàng),English語言是系統(tǒng)默認(rèn)的語言,其他需要國際化的語言(例如中文簡體、法語)必須通過上面的 配置本地化語言 那一步手動添加。

然后我們發(fā)現(xiàn)Xcode右側(cè)的File inspection變成了下圖的樣式:

接下來,勾選French、Chinese(zh-Hans)、Chinese(zh-Hant)、Korean,如下圖:

此時,Xcode左側(cè)的InfoPlist.stirings左側(cè)多了一個箭頭,點(diǎn)擊箭頭可以展開,如下圖所示:

從上圖可以看出,InfoPlist.strings文件下包含了English、French、Chinese(Simplified)、Chinese(Traditional)、Korean這五種語言的文件。

原理:程序啟動時,會根據(jù)操作系統(tǒng)設(shè)置的語言,自動加載InfoPlist.strings文件下對應(yīng)的語言文件,然后顯示應(yīng)用程序的名字。

接下來,我們分別用不同的語言給InfoPlist.strings下的文件設(shè)置對應(yīng)的名字。

(1)在InfoPlist.strings(english)中加入如下代碼:

// Localizable App Name是App在英語環(huán)境環(huán)境下顯示的名稱CFBundleDisplayName = "Localizable App Name";

備注: CFBundleDisplayName可以使用雙引號,也可以不使用雙引號!

(2)在InfoPlist.strings(French)中加入如下代碼:

CFBundleDisplayName = "Le nom de la localisation de l'App";

(3)在InfoPlist.strings(Chinese(Simplified))中加入如下代碼:

CFBundleDisplayName = "國際化App名稱";

(4)在InfoPlist.strings(Chinese(Traditional))中加入如下代碼:

CFBundleDisplayName = "

主站蜘蛛池模板:
泾川县|
鹰潭市|
莱西市|
临武县|
肥城市|
老河口市|
辽阳县|
新津县|
政和县|
潍坊市|
兴仁县|
积石山|
岗巴县|
靖州|
白山市|
湘潭市|
新兴县|
珠海市|
泰和县|
固阳县|
喀喇|
南岸区|
乐清市|
阿拉尔市|
荃湾区|
麻江县|
应用必备|
上林县|
麟游县|
客服|
博野县|
宝丰县|
息烽县|
砚山县|
池州市|
射阳县|
大庆市|
伽师县|
郯城县|
古蔺县|
彭水|