INNER CODE UNIT · JavaScript
applyLang
LeyckerS/moondownloader · web/app.js:147
function applyLang(lang) {
LANG = I18N[lang] ? lang : "en";
document.documentElement.lang = LANG;
for (const el of $$("[data-i18n]")) el.textContent = T(el.dataset.i18n);
for (const el of $$("[data-i18n-ph]")) el.placeholder = T(el.dataset.i18nPh);
for (const el of $$("[data-i18n-title]")) el.title = T(el.dataset.i18nTitle);
for (const btn of $$("#lang button")) btn.classList.toggle("on", btn.dataset.lang === LANG);
// Anything already rendered from live data has to be relabelled by hand.
setRunState(ui.runState);
editor.counts();
syncDnChip();
syncExtractorScope();
if (ui.lastMetrics) renderMetrics(ui.lastMetrics, true);
if (ui.lastFiles) {
// Row labels are only written when the state CHANGES, so a language switch
// has to forget the previous states or every row keeps its old wording.
ui.prevState.clear();
renderFiles(ui.lastFiles);