我試圖使用兩個按鈕更改應用程序語言,首先我在此鏈接中使用此代碼:https://github.com/marmelroy/Localize-Swift/blob/master/Sources/Localize.swift Localize.swift並將其放置在我的項目中, 這裏是代碼有兩個按鈕和兩個標貼表視圖控制器:在運行時使用按鈕更改應用程序語言
import UIKit
class MyTableViewVontroller: UITableViewController {
@IBOutlet weak var firstLabel: UILabel!
@IBOutlet weak var secondLabel: UILabel!
@IBOutlet weak var arabicChanger: UIBarButtonItem!
@IBOutlet weak var englishChanger: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
populateValues()
}
@IBAction func englishChanger(sender: AnyObject) {
Localize.setCurrentLanguage("en")
}
@IBAction func arabicChanger(sender: AnyObject) {
Localize.setCurrentLanguage("ar")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func populateValues(){
firstLabel.text = NSLocalizedString("PETRA",comment: "")
secondLabel.text = NSLocalizedString("AMMAN",comment: "")
}
}
但是當我運行它,按任何按鈕沒有什麼變化的。即使本地化工作得很好,因爲我有一個適用於這兩種語言的字符串文件,並且可以在系統中更改語言時使用,但在按下按鈕時不會發生。
您可能正在改變本地化,但也許這不會奇蹟般地導致您的_interface_改變。 – matt
該文檔提到了用於響應語言更改事件的「LCLLanguageChangeNotification」通知。 – paulvs