mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 19:35:50 +00:00
93 lines
2.2 KiB
JavaScript
Vendored
93 lines
2.2 KiB
JavaScript
Vendored
export default {
|
|
/**
|
|
* 语言类型
|
|
*/
|
|
languageList: {
|
|
"zh": "简体中文",
|
|
"zh-CHT": "繁體中文",
|
|
"en": "English",
|
|
"ko": "한국어",
|
|
"ja": "日本語",
|
|
"de": "Deutsch",
|
|
"fr": "Français",
|
|
"id": "Indonesia",
|
|
"ru": "Русский язык",
|
|
},
|
|
|
|
/**
|
|
* 替换(*)遍历
|
|
* @param text
|
|
* @param objects
|
|
* @returns {*}
|
|
*/
|
|
replaceArgumentsLanguage(text, objects) {
|
|
let j = 1;
|
|
while (text.indexOf("(*)") !== -1) {
|
|
if (typeof objects[j] === "object") {
|
|
text = text.replace("(*)", "");
|
|
} else {
|
|
text = text.replace("(*)", objects[j]);
|
|
}
|
|
j++;
|
|
}
|
|
return text;
|
|
},
|
|
|
|
/**
|
|
* 译文转义
|
|
* @param val
|
|
* @returns {string|*}
|
|
*/
|
|
replaceEscape(val) {
|
|
if (!val || val == '') {
|
|
return '';
|
|
}
|
|
return val
|
|
.replace(/\(%[TM]\d+\)/g, "~:%%:~")
|
|
.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
|
|
.replace(/~:%%:~/g, '(.*?)');
|
|
},
|
|
|
|
/**
|
|
* 获取语言
|
|
* @returns {string}
|
|
*/
|
|
getLanguage() {
|
|
let lang = window.localStorage.getItem("__system:languageName__")
|
|
if (typeof lang === "string" && typeof this.languageList[lang] !== "undefined") {
|
|
return lang;
|
|
}
|
|
lang = 'en';
|
|
let navLang = ((window.navigator.language || navigator.userLanguage) + "").toLowerCase();
|
|
switch (navLang) {
|
|
case "zh":
|
|
case "cn":
|
|
case "zh-cn":
|
|
lang = 'zh'
|
|
break;
|
|
case "zh-tw":
|
|
case "zh-tr":
|
|
case "zh-hk":
|
|
case "zh-cnt":
|
|
case "zh-cht":
|
|
lang = 'zh-CHT'
|
|
break;
|
|
default:
|
|
if (typeof this.languageList[navLang] !== "undefined") {
|
|
lang = navLang
|
|
}
|
|
break;
|
|
}
|
|
this.saveLanguage(lang)
|
|
return lang
|
|
},
|
|
|
|
/**
|
|
* 保存语言
|
|
* @param lang
|
|
*/
|
|
saveLanguage(lang) {
|
|
window.localStorage.setItem("__system:languageName__", lang)
|
|
},
|
|
}
|