// import Vue from 'vue' 
 | 
import store from '../../store' 
 | 
// import en from '../../locale/en.json' 
 | 
import {currentLang} from '@/components/lang' 
 | 
var _currentLang = currentLang(); 
 | 
let app; 
 | 
  
 | 
function $ts(key, toLower) {//是否将后面的所有文字转小写 
 | 
    if (key === undefined || key === null) { 
 | 
        return ''; 
 | 
    } 
 | 
    if (Array.isArray(key)) { 
 | 
        return ts_arr(key, toLower); 
 | 
    } 
 | 
    if (_currentLang == "zh-cn"){ 
 | 
        return key; 
 | 
    } 
 | 
  
 | 
    return store.getters.local()[key] || key; 
 | 
} 
 | 
//按模板翻译,如:'值只能在[{$ts}]' 
 | 
function $tst(key, templateVal) { 
 | 
    if (key === undefined || key === null) { 
 | 
        return ''; 
 | 
    } 
 | 
    //替换模板 
 | 
    return $ts(key).replace('{$ts}', templateVal); 
 | 
} 
 | 
let ts_arr = function (arr, toLower) { 
 | 
    if (_currentLang == "zh-cn") return arr.join(''); 
 | 
    let ts_string = ''; 
 | 
    for (let index = 0; index < arr.length; index++) { 
 | 
        //toLower除了第一个,其他转小写 
 | 
        if (toLower) { 
 | 
            ts_string = ts_string + " " + ((store.getters.local()[arr[index]] || arr[index]).toLocaleLowerCase()); 
 | 
        } else { 
 | 
            ts_string = ts_string + " " + (store.getters.local()[arr[index]] || arr[index]); 
 | 
        } 
 | 
    } 
 | 
    return ts_string; 
 | 
}; 
 | 
function $loadSource() { 
 | 
    let langType = localStorage.getItem(lang_storage_key); 
 | 
    if (!langType) { 
 | 
        // if (navigator.language == "zh-cn") { 
 | 
            langType = "zh-cn"; 
 | 
        // } else { 
 | 
        //     langType = "en"; 
 | 
        // } 
 | 
    } 
 | 
  
 | 
    $changeSource(langType, true); 
 | 
} 
 | 
  
 | 
function $changeSource(langType, isInit, source) { 
 | 
    if (_currentLang == langType && !isInit) { 
 | 
        return; 
 | 
    } 
 | 
    _currentLang = langType; 
 | 
    // switch (_currentLang) { 
 | 
    //     case "zh-cn": 
 | 
    //         source = { "登录": "登录" }; //中文 
 | 
    //         break; 
 | 
    //     case 'en': 
 | 
    //         source = en; //捷克语 
 | 
    //         break; 
 | 
    //     default: 
 | 
    //         source = en; //其他的默认英语 
 | 
    //         break; 
 | 
    // } 
 | 
    localStorage.setItem(lang_storage_key, langType); 
 | 
  
 | 
    app.config.globalProperties.isCN = _currentLang == 'zh-cn'; 
 | 
    //store.commit("setLocal", source); 
 | 
} 
 | 
import http from "@/../src/api/http.js"; 
 | 
  
 | 
function loadLangScript () { 
 | 
    if (_currentLang== 'zh-cn') { 
 | 
        return 
 | 
    } 
 | 
  
 | 
    window.global_lang = {} 
 | 
    http.ajax({ 
 | 
        url: 'lang/' + _currentLang + '.js?' + Math.random(), 
 | 
        json: false, 
 | 
        type: 'get', 
 | 
        headers: { Authorization: "" }, 
 | 
        async: false, 
 | 
        success: function (_lang) { 
 | 
            store.commit("setLocal", JSON.parse(_lang)); 
 | 
            // var _script = document.createElement('script') 
 | 
            // _script.language = 'javascript' 
 | 
            // _script.type = 'text/javascript' 
 | 
            // try { 
 | 
            //     _script.appendChild(document.createTextNode(_lang)) 
 | 
            //     document.head.appendChild(_script) 
 | 
            // } catch (ex) { 
 | 
            //     alert('Load language error') 
 | 
            // } 
 | 
        } 
 | 
    }) 
 | 
} 
 | 
export default { 
 | 
    init(_app) { 
 | 
        loadLangScript(); 
 | 
        app = _app; 
 | 
        app.config.globalProperties.$ts = $ts; 
 | 
        app.config.globalProperties.$tst = $tst; 
 | 
        $loadSource(); 
 | 
        app.config.globalProperties.$changeSource = $changeSource; 
 | 
    } 
 | 
     
 | 
} 
 |