57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
/**
|
|
* amiPro utils
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
function setI18NText(i18n_map){
|
|
for (const key of i18n_map.keys()) {
|
|
const elm = $("#"+key);
|
|
if(elm){
|
|
const lang = window.navigator.language;
|
|
var elem = i18n_map.get(key)
|
|
var msg = null
|
|
if(elem){
|
|
msg = elem.get(lang)
|
|
if(!msg)msg=elem.get('en-US');
|
|
}
|
|
if(!msg)msg = key+"-"+lang
|
|
|
|
$("#"+key).html(msg);
|
|
}
|
|
}
|
|
}
|
|
|
|
function getI18NText(i18n_map, key){
|
|
const lang = window.navigator.language;
|
|
var elem = i18n_map.get(key)
|
|
var msg = null
|
|
if(elem){
|
|
msg = elem.get(lang)
|
|
if(!msg)msg=elem.get('en-US');
|
|
}
|
|
if(!msg)msg = key+"-"+lang
|
|
|
|
return msg
|
|
}
|
|
|
|
function getI18NJsonText(json_text){
|
|
const lang = window.navigator.language;
|
|
var msg = null
|
|
try {
|
|
var parsedJson = (typeof json_text == "object")?json_text:JSON.parse(json_text);
|
|
msg = parsedJson[lang] || parsedJson['en-US'];
|
|
if(!msg && 0<Object.keys(parsedJson).length)msg = parsedJson[Object.keys(parsedJson)[0]];
|
|
//TODO: Translate to lang by AI call
|
|
} catch (e) {
|
|
msg=json_text;
|
|
}
|
|
return msg
|
|
}
|
|
|
|
function buildI18NJson(text, lang=window.navigator.language) {
|
|
//const lang = window.navigator.language;
|
|
var json = {};
|
|
json[lang] = text;
|
|
return JSON.stringify(json);
|
|
} |