//
//  BFLocalizedUtil.swift
//  BFCommonKit
//
//  Created by ak on 2022/1/18.
//

import Foundation
public let  BFLocalizedUtilAppLanguageKey:String = "AppLanguage"

public class BFLocalizedUtil{
    
    
    /// 取到当前的系统设置的首选语言 zh 中文, en 英语 ,ja 日语, vi 越南语 ,ko 韩语
    /// - Returns: 首选语言
    public class func currentLanguage() -> String{
      
        let appLanguages:Array? = UserDefaults.standard.object(forKey: "AppleLanguages") as? Array<String>
        var language = (appLanguages?[0] ?? "en") as String
        // zh 中文, en 英语 ,ja 日语, vi 越南语 ,ko 韩语
        if(language.contains("zh")){
            language = "zh"
        }
        if(language.contains("en")){
            language = "en"
        }
        if(language.contains("ja")){
            language = "ja"
        }
        if(language.contains("vi")){
            language = "vi"
        }
        if(language.contains("ko")){
            language = "ko"
        }
        BFLog(2, message: "当前设置的首选语言\(language)")
        return language
    }
    
    
    public class func setLanguage(language:String){
        BFLog(2, message: "当前设置的首选语言\(language)")
        saveUserDefaults(key: BFLocalizedUtilAppLanguageKey, value: language)
    
    }
    
    public class func availableLocales() -> Array<String>{
        var codes = Array<String>.init()
        for code in NSLocale.availableLocaleIdentifiers{
            
            BFLog(2, message: "支持的语言 \(code)")
            codes.append(code)
        }
        return codes
    }
    

}