mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
36 lines
753 B
JavaScript
36 lines
753 B
JavaScript
/**
|
|
* @description return navigator language. If language is not supported default will be returned
|
|
* @returns {string}
|
|
*/
|
|
|
|
function getNavigatorLanguage() {
|
|
let lang = navigator.language;
|
|
// Complete lang
|
|
if (languageSupported(lang)) {
|
|
return lang;
|
|
}
|
|
// Reduced lang
|
|
lang = lang.split(/[-_]/)[0] || "en";
|
|
if (!languageSupported(lang)) {
|
|
return "en";
|
|
}
|
|
return lang;
|
|
}
|
|
|
|
/**
|
|
* @description check whether provided language is supported by the website
|
|
* @param {string} lang
|
|
* @returns {boolean}
|
|
*/
|
|
function languageSupported(lang) {
|
|
return ["en", "zh-CN", "it", "fr", "es"].includes(lang);
|
|
}
|
|
|
|
/**
|
|
* @description update website language
|
|
* @param {string} lang
|
|
*/
|
|
function setSiteLanguage(lang) {
|
|
setLanguage(lang);
|
|
}
|