Files
workavia-mail-front/web/i18n/translater.js
T
2024-02-19 15:54:58 +07:00

41 lines
1.2 KiB
JavaScript

const i18n = {};
const languageDefault = 'en';
/**
*
* @param {String} language
* @returns {boolean}
*/
function isValidUserLanguage(language) {
if (language == null || language == undefined) {
return false;
}
return true;
}
function getUserLanguage() {
console.info(`[Twake Mail] Current Language: `, navigator.language);
if (isValidUserLanguage(navigator.language)) {
return navigator.language.split('-')[0];
}
return languageDefault;
}
async function loadLanguageResources() {
try {
const language = getUserLanguage();
const response = await fetch(`/i18n/${language}.json`);
const data = await response.json();
i18n[language] = data;
console.info(`[Twake Mail] Successfully loaded ${language} resources:`, i18n[language]);
} catch (error) {
console.error(`[Twake Mail] Error loading ${language} resources:`, error);
}
}
document.addEventListener('DOMContentLoaded', function () {
const language = getUserLanguage();
document.getElementById('banner-title-id').textContent = i18n[language].title;
document.getElementById('banner-description-id').textContent = i18n[language].description;
document.getElementById('open-button-id').textContent = i18n[language].open;
});