diff --git a/public/admin.html b/public/admin.html index 4ee17e3..86a048a 100644 --- a/public/admin.html +++ b/public/admin.html @@ -119,13 +119,11 @@ - - - - Chybejici jazyk widgetu se pri prvnim pouziti prelozi AI a ulozi. + + V auto rezimu widget pouzije jazyk predany ze stranky. Kdyz chybi nebo neni podporovany, pouzije vychozi jazyk.
Texty vychoziho jazyka diff --git a/public/admin.js b/public/admin.js index f0dd791..b725191 100644 --- a/public/admin.js +++ b/public/admin.js @@ -134,9 +134,7 @@ $("#settingsForm").addEventListener("submit", async (event) => { settings.widgetLanguage = { ...(settings.widgetLanguage || {}), mode: form.get("widgetLanguageMode") || "auto", - defaultLanguage, - fixedLanguage: form.get("fixedLanguage") || defaultLanguage, - fallbackLanguage: form.get("fallbackLanguage") || defaultLanguage + defaultLanguage }; settings.widgetCopy = settings.widgetCopy || {}; settings.widgetCopy[defaultLanguage] = { @@ -445,13 +443,9 @@ function renderWidgetLanguageOptions(form, settings) { const options = WIDGET_LANGUAGES .map(([code, label]) => ``) .join(""); - for (const name of ["defaultLanguage", "fixedLanguage", "fallbackLanguage"]) { - form[name].innerHTML = options; - } - form.widgetLanguageMode.value = language.mode || "auto"; + form.defaultLanguage.innerHTML = options; + form.widgetLanguageMode.value = language.mode === "fixed" ? "default" : language.mode || "auto"; form.defaultLanguage.value = language.defaultLanguage || "cs"; - form.fixedLanguage.value = language.fixedLanguage || "cs"; - form.fallbackLanguage.value = language.fallbackLanguage || language.defaultLanguage || "cs"; } function renderWidgetCopyFields(language) { diff --git a/server.js b/server.js index caea42d..ed1c390 100644 --- a/server.js +++ b/server.js @@ -299,9 +299,7 @@ function defaultSettings() { return { widgetLanguage: { mode: "auto", - defaultLanguage: "cs", - fixedLanguage: "cs", - fallbackLanguage: "cs" + defaultLanguage: "cs" }, widgetCopy, title: { cs: widgetCopy.cs.title, en: widgetCopy.en.title }, @@ -1096,12 +1094,11 @@ function mergeSiteSettings(currentSettings, incomingSettings) { function normalizeWidgetLanguageSettings(value) { const defaults = defaultSettings().widgetLanguage; const settings = { ...defaults, ...(value || {}) }; - const mode = settings.mode === "fixed" ? "fixed" : "auto"; + const mode = settings.mode === "fixed" || settings.mode === "default" ? "default" : "auto"; + const defaultLanguage = allowedWidgetLanguage(settings.defaultLanguage || settings.fixedLanguage || settings.fallbackLanguage) || defaults.defaultLanguage; return { mode, - defaultLanguage: allowedWidgetLanguage(settings.defaultLanguage) || defaults.defaultLanguage, - fixedLanguage: allowedWidgetLanguage(settings.fixedLanguage) || defaults.fixedLanguage, - fallbackLanguage: allowedWidgetLanguage(settings.fallbackLanguage) || allowedWidgetLanguage(settings.defaultLanguage) || defaults.fallbackLanguage + defaultLanguage }; } @@ -1162,7 +1159,7 @@ function getTranslationSettings() { function widgetLanguageForRequest(site, url) { const settings = parseJson(site.settings_json, defaultSettings()); const languageSettings = normalizeWidgetLanguageSettings(settings.widgetLanguage); - if (languageSettings.mode === "fixed") return languageSettings.fixedLanguage; + if (languageSettings.mode === "default") return languageSettings.defaultLanguage; return allowedWidgetLanguage(url.searchParams.get("lang")) || languageSettings.defaultLanguage; } @@ -1171,12 +1168,10 @@ async function widgetCopyForLanguage(site, requestedLanguage) { settings.widgetLanguage = normalizeWidgetLanguageSettings(settings.widgetLanguage); settings.widgetCopy = normalizeWidgetCopy(settings.widgetCopy || {}, settings); - const language = allowedWidgetLanguage(requestedLanguage) || settings.widgetLanguage.fallbackLanguage; + const language = allowedWidgetLanguage(requestedLanguage) || settings.widgetLanguage.defaultLanguage; if (settings.widgetCopy[language]) return { language, copy: settings.widgetCopy[language] }; - const fallbackLanguage = settings.widgetCopy[settings.widgetLanguage.fallbackLanguage] - ? settings.widgetLanguage.fallbackLanguage - : settings.widgetLanguage.defaultLanguage; + const fallbackLanguage = settings.widgetLanguage.defaultLanguage; const fallbackCopy = settings.widgetCopy[fallbackLanguage] || defaultWidgetCopy("cs"); const translated = await translateWidgetCopyOnce(fallbackCopy, fallbackLanguage, language); if (!translated) return { language: fallbackLanguage, copy: fallbackCopy };