iOS國際化

程序國際化

準備工作:

首先我們要先創建一個工程,我們給他命名Internationalization-Demo,然后添加語言。

添加語言.jpeg

從代碼中分離文本:

目前,應用展示的所有文本都是以硬編碼字符串存在于Main.storyboardViewController里。為了本地化這些字符串,你需要把它們放在一個單獨的文件中。他將會在包中簡單地引用這些字符串,而不是在你的方法中進行硬編碼。

Xcode使用帶有.strings擴展名的文件來存儲和檢索app中使用的所有字符串,以支持每種語言。根據iOS 設備當前使用的語言,代碼中一個簡單的方法調用將會查找并返回要求的字符串。

  • 創建一個.strings擴展名的文件

打開File > New > File,選擇ResourceStrings Fils,如圖:
點擊下一步,為文件命名為InfoPlist.strings,然后點擊save

InfoPlist.strings.jpeg
  • 創建完成后,你可以看到工程目錄結構文件如下,單擊InfoPlist.strings,查看右邊的屬性,在Localizable欄添加語言。如圖
添加語言.jpeg
  • 添加完成后打開對應語言文件

比如:

English的添加:

CFBundleDisplayName = "hello world";

Chinese的添加:

CFBundleDisplayName = "世界 你好";

添加字符串.jpeg
  • 運行

如果你的模擬器是中文的,你會看到你的程序名稱變成了世界 你好

中文程序名稱.jpeg

在設置中把語言設置成英文的,你就會看到你的程序名稱變成了hello world

英文程序名稱.jpeg

內容國際化

  1. 新建一個Localizable.strings文件 (Localizable.strings是系統默認名字)
  2. 添加語言同上
  3. 添加語言內容

Localization.strings中,按照"key" = "value"的格式;

然后使用時用NSLocalizedString(@"key", @"")讀取內容;

如果不是用系統默認名字那么使用

Localization.strings English 文件添加
"key" = "hello world"

Localization.strings Chinese 文件添加
"key" = "世界 你好"

內容國際化.jpeg
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 國際化(Internationalization ,簡寫為I18N)的作用是防止將本土文化信息寫死仔應用里(所謂本...
    西西西瓜啊閱讀 11,388評論 23 15
  • 之前公司的app可能要在島國和東南亞地區使用,所以最合理的方法就是--國際化。 寫這篇文章也是為一個妹子寫的(咦~...
    倫敦鄉下的小作家閱讀 827評論 4 4
  • 在iOS中,是通過“xxx.lproj”目錄來定義每個語言的資源。這里的資源可以是圖片、文本、Storyboard...
    goyohol閱讀 1,829評論 5 8
  • iOS國際化簡單操作 國際化后的App可以根據手機當前系統語言來切換不同的語言來適應不同的語言使用人群, 所以iO...
    zhouyuhan閱讀 897評論 2 7
  • 其實所有糾結做選擇的人心里早就有了答案,咨詢只是想得到心里內心所傾向的選擇。最終的所謂命運,還是自己一步步走出來的...
    哈尼G閱讀 254評論 0 0