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 @@
Rezim
auto podle stranky
- natvrdo vybrany jazyk
+ vychozi jazyk
- Vychozi jazyk textu
- Natvrdo jazyk
- Fallback jazyk
- Chybejici jazyk widgetu se pri prvnim pouziti prelozi AI a ulozi.
+ Vychozi jazyk widgetu
+ 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]) => `${code.toUpperCase()} - ${escapeHtml(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 };