iOS 語言國際化

前言

語言國際化,是指根據用戶操做系統的語言設置,自動將應用程序的語言設置爲和用戶操做系統語言一致的語言。適用於app在不一樣的國家推廣。最近項目中須要作語言國際化,這篇文章是對項目語言國際化的記錄。bash

1、配置支持的語言

一、打開項目工程,找到選中project-> info ->localizations,而後點擊「+」,而後添加須要國際化/本地化的語言。app

配置支持的語言.png

2.如選擇添加韓語後,會彈出以下對話框,選擇Finish便可spa

localizations.png

  1. 添加簡體中文,韓語以下

屏幕快照 2019-05-07 下午9.32.36.png

二 、應用名稱國際化

App的名稱,根據設備語言的設置,顯示成對應名稱。操作系統

1.建立文件,選擇Strings File,文件名稱必須爲InfoPlist3d

Strings File.png

  1. 選中InfoPlist.strings,點擊右側的Localize,選擇須要的語言。
    Localize.png

3.以下圖所示說明建立成功code

InfoPlist.png

4.在每一個的InfoPlist.strings 中添加 CFBundleDisplayName = "xxx";cdn

CFBundleDisplayName.jpg

CFBundleDisplayName.jpg

  1. 切換模擬器語言爲中文,應用名稱發生改變

中文應用.jpg

3、代碼中字符串的國際化

所謂字符串國際化,就是指App內的字符串在不一樣的語言環境下顯示不一樣的語言內容,操做流程與應用名稱國際化相似。只是建立文件的名稱不同,文件名必須命名爲Localizable (後綴爲.strings)。blog

1.按照(二)中的 1~3 中的步驟,以下圖說明建立成功。字符串

Localizable.strings.jpg

  1. 在Localizable.strings 的文件中,分別以Key-Value的形式,爲代碼中每個須要國際化的字符串賦值,以下圖:

字符串賦值.jpg

字符串賦值.jpg

3.使用NSLocalizedString(key, comment)這個系統提供的宏,用對應的key給代碼中的字符串賦值。string

// NSLocalizedString(key, comment) 本質
// NSlocalizeString 第一個參數是內容,根據第一個參數去對應語言的文件中取對應的字符串,第二個參數將會轉化爲字符串文件裏的註釋,能夠傳nil,也能夠傳空字符串@""。
 NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
複製代碼

NSLocalizedString

4.切換不一樣語言環境,顯示效果以下:

中文:

中文.jpg

英文:

英文.jpg

韓語:

韓語.jpg

總結

以上是項目中語言國際化的記錄,不足之處但願讀者指正。

相關文章
相關標籤/搜索