一耸携、程序國際化
準備工作:
1纵诞、首先我們要先創(chuàng)建一個工程,我們給他命名Internationalization-Demo器予,然后添加語言浪藻。
從代碼中分離文本:
目前,應(yīng)用展示的所有文本都是以硬編碼字符串存在于Main.storyboard 和 ViewController里劣摇。為了本地化這些字符串珠移,你需要把它們放在一個單獨的文件中。他將會在包中簡單地引用這些字符串末融,而不是在你的方法中進行硬編碼钧惧。
Xcode使用帶有 .strings 擴展名的文件來存儲和檢索app中使用的所有字符串,以支持每種語言勾习。根據(jù)iOS 設(shè)備當前使用的語言浓瞪,代碼中一個簡單的方法調(diào)用將會查找并返回要求的字符串。
2巧婶、創(chuàng)建一個.strings 擴展名的文件
打開File > New > File乾颁,選擇Resource中Strings Fils涂乌,如圖:
點擊下一步,為文件命名為InfoPlist.strings英岭,然后點擊save湾盒。
3、創(chuàng)建完成后诅妹,你可以看到工程目錄結(jié)構(gòu)文件如下罚勾,單擊InfoPlist.strings,查看右邊的屬性吭狡,在Localizable欄添加語言尖殃。如圖
4、添加完成后打開對應(yīng)語言文件划煮,比如
English的添加:
CFBundleDisplayName = "hello world";
Chinese的添加:
CFBundleDisplayName = "世界 你好";
5送丰、運行,如果你的模擬器是中文的弛秋,你會看到你的程序名稱變成了 世界 你好
在設(shè)置中把語言設(shè)置成英文的器躏,你就會看到你的程序名稱變成了 hello world
二、內(nèi)容國際化
1铐懊、新建一個Localizable.strings 文件 (Localizable.strings 是系統(tǒng)默認名字)
2邀桑、添加語言同上
3、添加語言內(nèi)容
在Localization.strings 中科乎,按照"key" = "value"的格式壁畸;然后使用時用NSLocalizedString(@"key", @"")讀取內(nèi)容; 如果不是用系統(tǒng)默認名字那么使用
Localization.strings English 文件添加
"key" = "hello world"
Localization.strings Chinese 文件添加
"key" = "世界 你好"