LanguageSettingVC.swift 4.09 KB
//
//  LanguageSettingVC.swift
//  Twear
//
//  Created by yangbin on 2021/12/18.
//

import UIKit
import SnapKit
import MBProgressHUD

class LanguageSettingVC: UIViewController {
    
    @IBOutlet weak var tableView: UITableView!
    
    let languageArray: [AppSettings.Language] = [.system, .Chinese, .English, .Russisch, .Spanish, .German, .Italy, .French, .Japanese, .Portuguese ,.Arab]
    
    //[.system, .Chinese, .English, .Russisch, .Spanish, .German, .Italy, .French, .Poland, .Czech, .Skovak, .Hungarian, .Japanese, .Latvia, .Lithuania, .Estonia, .Portuguese ,.Arab]
    var languageDic: [AppSettings.Language: Bool] = [.system: false, .Chinese: false, .English: false, .Russisch: false, .Spanish: false, .German: false, .Italy: false, .French: false, .Poland: false, .Czech: false, .Skovak: false, .Hungarian: false, .Japanese: false, .Latvia: false, .Lithuania: false, .Estonia: false, .Portuguese: false, .Arab: false]
    
    let textDic: [AppSettings.Language: String] = [.system : LocString("跟随系统"), .Chinese: "简体中文", .English: "English", .Russisch: "Русский", .Spanish: "español", .German: "Deutsch", .Italy: "Italiano", .French: "Français", .Poland: "Polski", .Czech: "čeština", .Skovak: "Slovenčina", .Hungarian: "Magyar", .Japanese: "日本語", .Latvia: "latviešu", .Lithuania: "Lietuvių", .Estonia: "eesti", .Portuguese: "Português", .Arab: "عربى"]
    
    var curLanguage: AppSettings.Language = .system
    let device = CurDevice
    
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        MBProgressHUD.hide()
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = LocString("语言设置")
        
        tableView.register(UINib.init(nibName: "SettingCell2", bundle: Bundle.main), forCellReuseIdentifier: "SettingCell2")
        tableView.tableFooterView = UIView(frame: CGRect.zero)
        
        curLanguage = AppSettings.Language(rawValue: device.languageRaw)!
    

        languageDic[curLanguage] = true
        //        tableView.reloadData()
        // Do any additional setup after loading the view.
    }
    
    
}

extension LanguageSettingVC: UITableViewDelegate, UITableViewDataSource {
    
    
    
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 50
    }
    
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return languageArray.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "SettingCell2", for: indexPath) as! SettingCell2
        cell.label.text = textDic[languageArray[indexPath.row]]
        cell.selectImageView.image = UIImage(named: languageDic[languageArray[indexPath.row]]! ? "setting_selected" : "setting_not_selected")
        return cell
    }
    
    //    func updateUI(_ indexPath: IndexPath, device: DeviceModel) {
    //        MBProgressHUD.hide()
    //        AdminHelper.shared.updateDevice(device)
    //        let cell = tableView.cellForRow(at: indexPath) as! SettingCell2
    //        let cell1 = tableView.cellForRow(at: IndexPath(row: 1-indexPath.row, section: indexPath.section)) as! SettingCell2
    //        cell.selectImageView.image = UIImage(named: "setting_selected")
    //        cell1.selectImageView.image = UIImage(named: "setting_not_selected")
    //    }
    //
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        //        let cell = tableView.cellForRow(at: indexPath) as! SettingCell2
        _ = MBProgressHUD.showMessage("")
        languageDic[curLanguage] = false
        curLanguage = languageArray[indexPath.row]
        languageDic[languageArray[indexPath.row]]! = true
        tableView.reloadData()
        
        
        
        BluetoothManager.shared.setLanguage(languageArray[indexPath.row], timeFormat: TimeFormat(rawValue: UInt8(device.timeFormat))!, screenOnTime: 5, pair: 0) { error in
            MBProgressHUD.hide()
        }
        
    }
}