HanvonAttendanceService/device-api-dump/resources_js_lang.js

91 lines
2.6 KiB
JavaScript

let current_lang = ''
//let debugserver = 'http://192.168.0.22';
let debugserver = '';
function lang_load() {
return lang_change();
}
function get_lang() {
return new Promise((resolve, reject) => {
let send = { cmd: 'getlang' };
console.log(send);
$.ajax({
url: debugserver + '/api',
type: 'POST',
contentType: "application/json",
dataType: "json",
data: JSON.stringify(send),
success: function(json) {
console.log("done", json);
if (json.result) {
resolve(json.lang);
} else {
reject(new Error('Request failed with result false.'));
}
},
error: function(error) {
console.log("error::::", error);
reject(error);
}
});
});
}
function getTitle() {
return fetch('title.txt')
.then(response => {
if (!response.ok) {
throw new Error("HTTP error " + response.status);
}
return response.text();
})
.then(data => {
return data.trim();
})
.catch(error => {
return null;
});
}
async function lang_change() {
if (current_lang === '') {
try {
current_lang = await get_lang();
} catch (error) {
current_lang = 'en';
console.error('Error getting language:', error);
}
}
let langJs = current_lang;
$.cookie('lang', current_lang);
console.log("language:", langJs);
let title = await getTitle();
return new Promise((resolve, reject) => {
$.ajax({
url: "resources/lang/" + langJs + ".js",
dataType: "script",
async: false,
success: function() {
window.lang = lang;
if (title !== null&&title!='') {
window.lang.UISTR_AI_BIO_ID_SYSTEM = title;
}
$('.lang').each(function(idx, ele) {
let key = ele.getAttribute("key");
let value = lang[key];
if (typeof(value) !== "undefined") {
$(this).text(value);
}
});
console.log("reload to refresh lang");
resolve();
},
error: function(error) {
console.log("error lang", error);
reject(error);
}
});
});
}