一、程序國際化
準(zhǔn)備工作:
1、首先我們要先創(chuàng)建一個(gè)工程,我們給他命名Internationalization-Demo,然后添加語言。
從代碼中分離文本:
目前,應(yīng)用展示的所有文本都是以硬編碼字符串存在于Main.storyboard 和 ViewController里。為了本地化這些字符串,你需要把它們放在一個(gè)單獨(dú)的文件中。他將會(huì)在包中簡單地引用這些字符串,而不是在你的方法中進(jìn)行硬編碼。
Xcode使用帶有 .strings 擴(kuò)展名的文件來存儲(chǔ)和檢索app中使用的所有字符串,以支持每種語言。根據(jù)iOS 設(shè)備當(dāng)前使用的語言,代碼中一個(gè)簡單的方法調(diào)用將會(huì)查找并返回要求的字符串。
2、創(chuàng)建一個(gè).strings 擴(kuò)展名的文件
打開File > New > File,選擇Resource中Strings Fils,如圖:
點(diǎn)擊下一步,為文件命名為InfoPlist.strings,然后點(diǎn)擊save。
3、創(chuàng)建完成后,你可以看到工程目錄結(jié)構(gòu)文件如下,單擊InfoPlist.strings,查看右邊的屬性,在Localizable欄添加語言。如圖
4、添加完成后打開對(duì)應(yīng)語言文件,比如
English的添加:
CFBundleDisplayName = "hello world";
Chinese的添加:
CFBundleDisplayName = "世界 你好";
5、運(yùn)行,如果你的模擬器是中文的,你會(huì)看到你的程序名稱變成了 世界 你好
在設(shè)置中把語言設(shè)置成英文的,你就會(huì)看到你的程序名稱變成了 hello world
二、內(nèi)容國際化
1、新建一個(gè)Localizable.strings 文件 (Localizable.strings 是系統(tǒng)默認(rèn)名字)
2、添加語言同上
3、添加語言內(nèi)容
在Localization.strings 中,按照"key" = "value"的格式;然后使用時(shí)用NSLocalizedString(@"key", @"")讀取內(nèi)容; 如果不是用系統(tǒng)默認(rèn)名字那么使用
Localization.strings English 文件添加
"key" = "hello world"
Localization.strings Chinese 文件添加
"key" = "世界 你好"