[Xcode10 實際操作]九、實用進階-(27)字串檔案(Localizable.strings)的本地化
本文將演示字串檔案(Localizable.strings)的本地化。
在專案【DemoApp】資料夾下點選滑鼠右鍵,彈出右鍵選單
->【New File】新建檔案命令,建立一個字串檔案。
->【Strings File】字串檔案->【Next】
->【Save As】:Localizable.strings。檔名是固定的【Localizable.strings】,請不要用別的名稱。
->保持預設的儲存位置,點選【Create】
點選【顯示或隱藏檢查器】圖示,開啟右側的檢查器面板。
點選【Localize】本地化按鈕,對建立的字串檔案,新增本地化支援。
點選專案【DemoApp】名稱,開啟專案資訊面板。
然後在專案列表中,點選專案名稱【DemoApp】
【Build Setting】->【Localizations】本地化下方的【+】彈出語言列表,新增需要本地化的語言。
>選擇【Chinese(Simplified)(zh-Hans)】簡體中文
->由於只針對字串檔案的本地化,所以:
點選取消選擇【LaunchScreen.storyboard】啟動檢視左側的複選框,
點選取消選擇【Main.storybooard】主故事板左側的複選框,
->點選【Finish】完成按鈕,新增簡體中文字地化的支援。
在專案導航區,開啟並檢視本地化字串檔案【Localizable.strings】
"Company" = "strengthen"
等號前面為鍵名,後面為對應的鍵值。程式碼通過鍵名,獲取對應的鍵值。
開啟並修改中文版的字串檔案【Localizable.strings(Chinese(Simplified))】
使用同樣的方式,新增簡體中文的內容。
"Company" = "山青詠芝"
在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】
現在開始編寫程式碼,讀取在本地化字串檔案中,設定的值。
1 import UIKit 2 3 class ViewController: UIViewController {4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 9 //首先通過一個系統定義的巨集,查詢國際化資原始檔中,鍵名所指向的值 10 let string = NSLocalizedString("Company", comment: "") 11 //然後建立一個位置在(40,80),尺寸為(240,40)的顯示區域 12 let rect = CGRect(x: 40, y: 80, width: 240, height: 40) 13 //初始化一個標籤物件,並設定顯示區域 14 //該標籤物件將用來顯示,在字串檔案中,指定鍵名所對應的值 15 let label = UILabel(frame: rect) 16 //設定標籤物件的文字內容 17 label.text = string 18 //設定標籤物件的背景顏色為橙色 19 label.backgroundColor = UIColor.orange 20 21 //將標籤物件新增到當前檢視控制器的根檢視 22 self.view.addSubview(label) 23 } 24 }
因為模擬器當前的語言環境為英文,所以標籤物件仍然顯示預設的文字內容。
依次點選:
【Product】->【Scheme】->【Edit Scheme】->在彈出的管理視窗中,點選【Options】選項設定標籤。
->【Application Language】:選擇【Chinese(Simplified)】,切換應用程式的語言環境。
->【Close】關閉管理視窗。