let languages = ["en", "fr", "de", "es", "it"]; let boolCheck = false; let themeLang; const setToLan = (code) => { let zones = document.querySelectorAll("html [lang]"); applyStrings(zones, code); location.reload(); }; //apply the language values to the content document.addEventListener("DOMContentLoaded", () => { let zones = document.querySelectorAll("html [lang]"); languages.forEach((lan) => { if (localStorage.getItem(lan) === "enabled") { boolCheck = true; applyStrings(zones, lan); } }); if (boolCheck === true) { null; } else { let lang = navigator.language.substr(0, 2); if ( lang !== "en" && lang !== "it" && lang !== "fr" && lang !== "es" && lang !== "de" ) { lang = "en"; } applyStrings(zones, lang); } }); const applyStrings = (containers, lang) => { containers.forEach((container) => { container.lang = lang; //find all the elements that have data-key container.querySelectorAll(`[data-key]`).forEach((element) => { let key = element.getAttribute("data-key"); if (key) { element.textContent = langdata.languages[lang].strings[key]; if ( key === "apply" || key === "next" || key === "update" || key === "delete" || key === "import" || key === "top" || key === "add" || key === "copy" || key === "selectIcon" || key === "addNum" || key === "previous" || key === "deleteU" || key === "signIn" || key === "signup" || key === "finished" || key === "reset" ) { element.value = langdata.languages[lang].strings[key]; } } }); }); themeLang = lang; setMonthLang(lang); manageLangs(lang); }; const manageLangs = (lang) => { languages.forEach((lan) => { if (lan === lang) { localStorage.setItem(lan, "enabled"); } else { localStorage.removeItem(lan); } }); manageExtras(lang); manageToolTips(lang); }; let themeButton = document.getElementById("theme-switcher"); const manageExtras = (lang) => { document.getElementById("dropdownMenuButton").textContent = langdata.languages[lang].strings["selectLanguage"]; if (localStorage.getItem("darkMode") === "enabled") { themeButton.innerText = langdata.languages[lang].strings["lightMode"]; } else { themeButton.innerText = langdata.languages[lang].strings["darkMode"]; } }; const toggleTheme = () => { if (localStorage.getItem("darkMode") === "enabled") { themeButton.innerText = langdata.languages[themeLang].strings["darkMode"]; } else { themeButton.innerText = langdata.languages[themeLang].strings["lightMode"]; } }; const manageToolTips = (lang) => { document .getElementById("clonePropT") .setAttribute("title", langdata.languages[lang].strings["clonePropT"]); document .getElementById("changePropT") .setAttribute("title", langdata.languages[lang].strings["changePropT"]); document .getElementById("changePropTT") .setAttribute("title", langdata.languages[lang].strings["changePropT"]); document .getElementById("grpViewTT") .setAttribute("title", langdata.languages[lang].strings["grpViewT"]); document .getElementById("singleViewTT") .setAttribute("title", langdata.languages[lang].strings["singleViewT"]); document .getElementById("grpViewT") .setAttribute("title", langdata.languages[lang].strings["grpViewT"]); document .getElementById("singleViewT") .setAttribute("title", langdata.languages[lang].strings["singleViewT"]); document .getElementById("clicksByLangT") .setAttribute("title", langdata.languages[lang].strings["clicksByLangT"]); document .getElementById("clicksByLangTT") .setAttribute("title", langdata.languages[lang].strings["clicksByLangT"]); document .getElementById("clicksByLangTTT") .setAttribute("title", langdata.languages[lang].strings["clicksByLangT"]); document; document .getElementById("aveClicksT") .setAttribute("title", langdata.languages[lang].strings["aveClicksT"]); document .getElementById("aveClicksTT") .setAttribute("title", langdata.languages[lang].strings["aveClicksT"]); document .getElementById("aveClicksTTT") .setAttribute("title", langdata.languages[lang].strings["aveClicksT"]); document; document .getElementById("totClicksT") .setAttribute("title", langdata.languages[lang].strings["totClicksT"]); document .getElementById("totClicksTT") .setAttribute("title", langdata.languages[lang].strings["totClicksT"]); document .getElementById("totClicksTTT") .setAttribute("title", langdata.languages[lang].strings["totClicksT"]); document; document .getElementById("showInDepthCT") .setAttribute("title", langdata.languages[lang].strings["showInDepthCT"]); document .getElementById("showInDepthCTT") .setAttribute("title", langdata.languages[lang].strings["showInDepthCT"]); document .getElementById("showInDepthCTTT") .setAttribute("title", langdata.languages[lang].strings["showInDepthCT"]); document .getElementById("androidUsersT") .setAttribute("title", langdata.languages[lang].strings["androidUsersT"]); document .getElementById("androidUsersTT") .setAttribute("title", langdata.languages[lang].strings["androidUsersT"]); document .getElementById("androidUsersTTT") .setAttribute("title", langdata.languages[lang].strings["androidUsersT"]); document .getElementById("iOSUsersTT") .setAttribute("title", langdata.languages[lang].strings["iOSUsersT"]); document .getElementById("iOSUsersTTT") .setAttribute("title", langdata.languages[lang].strings["iOSUsersT"]); document .getElementById("iOSUsersT") .setAttribute("title", langdata.languages[lang].strings["iOSUsersT"]); document .getElementById("shadowStyleT") .setAttribute("title", langdata.languages[lang].strings["shadowStyleT"]); document .getElementById("shadowStyleTT") .setAttribute("title", langdata.languages[lang].strings["shadowStyleT"]); document .getElementById("byDateT") .setAttribute("title", langdata.languages[lang].strings["byDateT"]); document .getElementById("byWeekTT") .setAttribute("title", langdata.languages[lang].strings["byWeekT"]); document .getElementById("byMonthTT") .setAttribute("title", langdata.languages[lang].strings["byMonthT"]); document .getElementById("byWeekT") .setAttribute("title", langdata.languages[lang].strings["byWeekT"]); document .getElementById("byMonthT") .setAttribute("title", langdata.languages[lang].strings["byMonthT"]); document .getElementById("countryUserT") .setAttribute("title", langdata.languages[lang].strings["countryUserT"]); document .getElementById("mobileUsersT") .setAttribute("title", langdata.languages[lang].strings["mobileUsersT"]); document .getElementById("desktopUsersT") .setAttribute("title", langdata.languages[lang].strings["desktopUsersT"]); document .getElementById("totalVisitsT") .setAttribute("title", langdata.languages[lang].strings["totalVisitsT"]); document .getElementById("uniqueVisitsT") .setAttribute("title", langdata.languages[lang].strings["uniqueVisitsT"]); document .getElementById("averageVisitsT") .setAttribute("title", langdata.languages[lang].strings["averageVisitsT"]); document .getElementById("showInDepthT") .setAttribute("title", langdata.languages[lang].strings["showInDepthT"]); document .getElementById("countryUserTT") .setAttribute("title", langdata.languages[lang].strings["countryUserT"]); document .getElementById("mobileUsersTT") .setAttribute("title", langdata.languages[lang].strings["mobileUsersT"]); document .getElementById("desktopUsersTT") .setAttribute("title", langdata.languages[lang].strings["desktopUsersT"]); document .getElementById("totalVisitsTT") .setAttribute("title", langdata.languages[lang].strings["totalVisitsT"]); document .getElementById("uniqueVisitsTT") .setAttribute("title", langdata.languages[lang].strings["uniqueVisitsT"]); document .getElementById("averageVisitsTT") .setAttribute("title", langdata.languages[lang].strings["averageVisitsT"]); document .getElementById("showInDepthTT") .setAttribute("title", langdata.languages[lang].strings["showInDepthT"]); document .getElementById("countryUserTTT") .setAttribute("title", langdata.languages[lang].strings["countryUserT"]); document .getElementById("mobileUsersTTT") .setAttribute("title", langdata.languages[lang].strings["mobileUsersT"]); document .getElementById("desktopUsersTTT") .setAttribute("title", langdata.languages[lang].strings["desktopUsersT"]); document .getElementById("totalVisitsTTT") .setAttribute("title", langdata.languages[lang].strings["totalVisitsT"]); document .getElementById("uniqueVisitsTTT") .setAttribute("title", langdata.languages[lang].strings["uniqueVisitsT"]); document .getElementById("averageVisitsTTT") .setAttribute("title", langdata.languages[lang].strings["averageVisitsT"]); document .getElementById("showInDepthTTT") .setAttribute("title", langdata.languages[lang].strings["showInDepthT"]); document .getElementById("overlayT") .setAttribute("title", langdata.languages[lang].strings["overlayT"]); document .getElementById("overlayTT") .setAttribute("title", langdata.languages[lang].strings["overlayT"]); document .getElementById("buttonColTransT") .setAttribute("title", langdata.languages[lang].strings["buttonColTransT"]); document .getElementById("buttonColTransTT") .setAttribute("title", langdata.languages[lang].strings["buttonColTransT"]); document .getElementById("btnRadiusT") .setAttribute("title", langdata.languages[lang].strings["btnRadiusT"]); document .getElementById("btnRadiusTT") .setAttribute("title", langdata.languages[lang].strings["btnRadiusT"]); document .getElementById("webUrlDest") .setAttribute("title", langdata.languages[lang].strings["webUrlDest"]); document .getElementById("emailAddDest") .setAttribute("title", langdata.languages[lang].strings["emailAddDest"]); document .getElementById("telephoneDest") .setAttribute("title", langdata.languages[lang].strings["telephoneDest"]); document .getElementById("webUrlDestT") .setAttribute("title", langdata.languages[lang].strings["webUrlDest"]); document .getElementById("emailAddDestT") .setAttribute("title", langdata.languages[lang].strings["emailAddDest"]); document .getElementById("telephoneDestT") .setAttribute("title", langdata.languages[lang].strings["telephoneDest"]); document .getElementById("linkTabs") .setAttribute("title", langdata.languages[lang].strings["openLinksOn"]); document .getElementById("linkTabss") .setAttribute("title", langdata.languages[lang].strings["openLinksOn"]); document .getElementById("qrCode") .setAttribute("title", langdata.languages[lang].strings["qrCodeText"]); document .getElementById("iconPosT") .setAttribute("title", langdata.languages[lang].strings["iconPosT"]); document .getElementById("userListt") .setAttribute("title", langdata.languages[lang].strings["userListt"]); document .getElementById("userListtt") .setAttribute("title", langdata.languages[lang].strings["userListt"]); document .getElementById("userListttt") .setAttribute("title", langdata.languages[lang].strings["userListt"]); document .getElementById("iconPosTT") .setAttribute("title", langdata.languages[lang].strings["iconPosT"]); document .getElementById("siteTitleSvg") .setAttribute("title", langdata.languages[lang].strings["siteTitleSvg"]); document .getElementById("chooseBackCol") .setAttribute("title", langdata.languages[lang].strings["chooseBackCol"]); document .getElementById("setBackImg") .setAttribute("title", langdata.languages[lang].strings["setBackImg"]); document .getElementById("buttonsPerRow") .setAttribute("title", langdata.languages[lang].strings["buttonsPerRow"]); document .getElementById("langIconPos") .setAttribute("title", langdata.languages[lang].strings["langIconPos"]); document .getElementById("langIconCol") .setAttribute("title", langdata.languages[lang].strings["langIconCol"]); document .getElementById("headOnOff") .setAttribute("title", langdata.languages[lang].strings["headOnOff"]); document .getElementById("headerBackCol") .setAttribute("title", langdata.languages[lang].strings["headerBackCol"]); document .getElementById("headerLogo") .setAttribute("title", langdata.languages[lang].strings["headerLogo"]); document .getElementById("logoPos") .setAttribute("title", langdata.languages[lang].strings["logoPos"]); document .getElementById("headerTrans") .setAttribute("title", langdata.languages[lang].strings["headerTrans"]); document .getElementById("headerThreeD") .setAttribute("title", langdata.languages[lang].strings["headerThreeD"]); // document // .getElementById("buttonId") // .setAttribute("title", langdata.languages[lang].strings["buttonId"]); // document // .getElementById("buttonIdd") // .setAttribute("title", langdata.languages[lang].strings["buttonId"]); document .getElementById("buttonTypeTool") .setAttribute("title", langdata.languages[lang].strings["buttonTypeTool"]); document .getElementById("buttonTypeTooll") .setAttribute("title", langdata.languages[lang].strings["buttonTypeTool"]); document .getElementById("buttonName") .setAttribute("title", langdata.languages[lang].strings["buttonName"]); document .getElementById("buttonNamee") .setAttribute("title", langdata.languages[lang].strings["buttonName"]); document .getElementById("redUrl") .setAttribute("title", langdata.languages[lang].strings["redUrl"]); document .getElementById("redUrll") .setAttribute("title", langdata.languages[lang].strings["redUrl"]); document .getElementById("linkTypeT") .setAttribute("title", langdata.languages[lang].strings["linkTypeT"]); document .getElementById("linkTypeTT") .setAttribute("title", langdata.languages[lang].strings["linkTypeT"]); document .getElementById("upPdfTool") .setAttribute("title", langdata.languages[lang].strings["upPdfTool"]); document .getElementById("upPdfTooll") .setAttribute("title", langdata.languages[lang].strings["upPdfTool"]); document .getElementById("chooseIcon") .setAttribute("title", langdata.languages[lang].strings["chooseIcon"]); document .getElementById("chooseIconn") .setAttribute("title", langdata.languages[lang].strings["chooseIcon"]); document .getElementById("chooseIconnn") .setAttribute("title", langdata.languages[lang].strings["chooseIcon"]); document .getElementById("iconPreviewT") .setAttribute("title", langdata.languages[lang].strings["iconPreviewT"]); document .getElementById("iconPreviewTT") .setAttribute("title", langdata.languages[lang].strings["iconPreviewT"]); document .getElementById("iconPreviewTTT") .setAttribute("title", langdata.languages[lang].strings["iconPreviewT"]); document .getElementById("buttonStyle") .setAttribute("title", langdata.languages[lang].strings["buttonStyle"]); document .getElementById("buttonStylee") .setAttribute("title", langdata.languages[lang].strings["buttonStyle"]); document .getElementById("iconColT") .setAttribute("title", langdata.languages[lang].strings["iconColT"]); document .getElementById("iconColTT") .setAttribute("title", langdata.languages[lang].strings["iconColT"]); document .getElementById("fontFamT") .setAttribute("title", langdata.languages[lang].strings["fontFamT"]); document .getElementById("fontFamTT") .setAttribute("title", langdata.languages[lang].strings["fontFamT"]); document .getElementById("fontColT") .setAttribute("title", langdata.languages[lang].strings["fontColT"]); document .getElementById("fontColTT") .setAttribute("title", langdata.languages[lang].strings["fontColT"]); document .getElementById("fontSizeT") .setAttribute("title", langdata.languages[lang].strings["fontSizeT"]); document .getElementById("fontSizeTT") .setAttribute("title", langdata.languages[lang].strings["fontSizeT"]); document .getElementById("buttonBackImgT") .setAttribute("title", langdata.languages[lang].strings["buttonBackImgT"]); document .getElementById("buttonBackImgTT") .setAttribute("title", langdata.languages[lang].strings["buttonBackImgT"]); document .getElementById("buttonBackColT") .setAttribute("title", langdata.languages[lang].strings["buttonBackColT"]); document .getElementById("buttonBackColTT") .setAttribute("title", langdata.languages[lang].strings["buttonBackColT"]); document .getElementById("buttonTransT") .setAttribute("title", langdata.languages[lang].strings["buttonTransT"]); document .getElementById("buttonTransTT") .setAttribute("title", langdata.languages[lang].strings["buttonTransT"]); // document // .getElementById("iNotifyT") // .setAttribute("title", langdata.languages[lang].strings["iNotifyT"]); document .getElementById("whatsapp") .setAttribute("title", langdata.languages[lang].strings["whatsapp"]); document .getElementById("speedDialDesc") .setAttribute("title", langdata.languages[lang].strings["speedDialDesc"]); document .getElementById("speedDialNum") .setAttribute("title", langdata.languages[lang].strings["speedDialNum"]); document .getElementById("addNumT") .setAttribute("title", langdata.languages[lang].strings["addNumT"]); document .getElementById("copyStyleT") .setAttribute("title", langdata.languages[lang].strings["copyStyleT"]); document .getElementById("copyStyleTT") .setAttribute("title", langdata.languages[lang].strings["copyStyleT"]); document .getElementById("testCallNumT") .setAttribute("title", langdata.languages[lang].strings["testCallNumT"]); // document // .getElementById("connectT") // .setAttribute("title", langdata.languages[lang].strings["connectT"]); document .getElementById("fontNameT") .setAttribute("title", langdata.languages[lang].strings["fontNameT"]); document .getElementById("fontLinkT") .setAttribute("title", langdata.languages[lang].strings["fontLinkT"]); document .getElementById("fontDelT") .setAttribute("title", langdata.languages[lang].strings["fontDelT"]); document .getElementById("importedFontsT") .setAttribute("title", langdata.languages[lang].strings["importedFontsT"]); document .getElementById("slideDire") .setAttribute("title", langdata.languages[lang].strings["slideDire"]); document .getElementById("pbxSelect") .setAttribute("title", langdata.languages[lang].strings["pbxSelect"]); document .getElementById("iconSizeT") .setAttribute("title", langdata.languages[lang].strings["iconSizeT"]); document .getElementById("iconSizeTT") .setAttribute("title", langdata.languages[lang].strings["iconSizeT"]); document .getElementById("selLanDropdown") .setAttribute("title", langdata.languages[lang].strings["selLanDropdown"]); document .getElementById("showLink") .setAttribute("title", langdata.languages[lang].strings["linkDropT"]); document .getElementById("showPopup") .setAttribute("title", langdata.languages[lang].strings["popDropT"]); document .getElementById("showMap") .setAttribute("title", langdata.languages[lang].strings["mapDropT"]); document .getElementById("showDial") .setAttribute("title", langdata.languages[lang].strings["speedDropT"]); document .getElementById("showNotify") .setAttribute("title", langdata.languages[lang].strings["messagingDropT"]); document .getElementById("copyAllButtonT") .setAttribute("title", langdata.languages[lang].strings["copyAllButtonT"]); document .getElementById("newButtonBT") .setAttribute("title", langdata.languages[lang].strings["newButtonBT"]); document .getElementById("updateButtonBT") .setAttribute("title", langdata.languages[lang].strings["updateButtonBT"]); document .getElementById("f_email_tt") .setAttribute("title", langdata.languages[lang].strings["f_email_tt"]); document .getElementById("f_title_tt") .setAttribute("title", langdata.languages[lang].strings["f_title_tt"]); document .getElementById("f_success_message_tt") .setAttribute( "title", langdata.languages[lang].strings["f_success_message_tt"] ); document .getElementById("f_backgroundcolor_tt") .setAttribute( "title", langdata.languages[lang].strings["f_backgroundcolor_tt"] ); document .getElementById("f_innerbackground_tt") .setAttribute( "title", langdata.languages[lang].strings["f_innerbackground_tt"] ); document .getElementById("f_font_tt") .setAttribute("title", langdata.languages[lang].strings["f_font_tt"]); document .getElementById("f_size_tt") .setAttribute("title", langdata.languages[lang].strings["f_size_tt"]); document .getElementById("f_fontcolor_tt") .setAttribute("title", langdata.languages[lang].strings["f_fontcolor_tt"]); document .getElementById("f_buttoncolor_tt") .setAttribute( "title", langdata.languages[lang].strings["f_buttoncolor_tt"] ); document .getElementById("f_navcolor_tt") .setAttribute("title", langdata.languages[lang].strings["f_navcolor_tt"]); document .getElementById("f_starcolor_tt") .setAttribute("title", langdata.languages[lang].strings["f_starcolor_tt"]); document .getElementById("s_barbackground_tt") .setAttribute( "title", langdata.languages[lang].strings["s_barbackground_tt"] ); document .getElementById("s_baropacity_tt") .setAttribute("title", langdata.languages[lang].strings["s_baropacity_tt"]); document .getElementById("s_barposition_tt") .setAttribute( "title", langdata.languages[lang].strings["s_barposition_tt"] ); document .getElementById("s_barflow_tt") .setAttribute("title", langdata.languages[lang].strings["s_barflow_tt"]); document .getElementById("s_barsize_tt") .setAttribute("title", langdata.languages[lang].strings["s_barsize_tt"]); document .getElementById("s_bar_icon_position_tt") .setAttribute( "title", langdata.languages[lang].strings["s_bar_icon_position_tt"] ); document .getElementById("s_type_tt") .setAttribute("title", langdata.languages[lang].strings["s_type_tt"]); document .getElementById("s_url_tt") .setAttribute("title", langdata.languages[lang].strings["s_url_tt"]); document .getElementById("s_icon_position_tt") .setAttribute( "title", langdata.languages[lang].strings["s_icon_position_tt"] ); document .getElementById("s_icon_color_tt") .setAttribute("title", langdata.languages[lang].strings["s_icon_color_tt"]); document .getElementById("s_icon_bgcolor_tt") .setAttribute( "title", langdata.languages[lang].strings["s_icon_bgcolor_tt"] ); }; const setSumTooltips = (lang) => { document .getElementById("p1dT") .setAttribute("title", langdata.languages[lang].strings["p4dTitle"]); document .getElementById("pWidthTitle") .setAttribute("title", langdata.languages[lang].strings["subWidthT"]); //init bootstrap tool tip $(function () { $('[data-toggle="tooltip"]').tooltip(); }); }; const setNewSubTtips = (lang) => { document .getElementById("subButListT") .setAttribute("title", langdata.languages[lang].strings["subButListT"]); document .getElementById("subButTypeT") .setAttribute("title", langdata.languages[lang].strings["subButTypeT"]); //init bootstrap tool tip $(function () { $('[data-toggle="tooltip"]').tooltip(); }); }; const setLinkSubTtips = (lang) => { document .getElementById("subButTypeT") .setAttribute("title", langdata.languages[lang].strings["subButTypeT"]); document .getElementById("p3dTitle") .setAttribute("title", langdata.languages[lang].strings["openLinksOn"]); document .getElementById("p5dTitle") .setAttribute("title", langdata.languages[lang].strings["upPdfTool"]); document .getElementById("linkTtips") .setAttribute("title", langdata.languages[lang].strings["linkTypeT"]); document .getElementById("webUrlDestTips") .setAttribute("title", langdata.languages[lang].strings["webUrlDest"]); document .getElementById("emailAddDestTips") .setAttribute("title", langdata.languages[lang].strings["emailAddDest"]); document .getElementById("telephoneDestTips") .setAttribute("title", langdata.languages[lang].strings["telephoneDest"]); //init bootstrap tool tip $(function () { $('[data-toggle="tooltip"]').tooltip(); }); };