Add flags to widget language select
This commit is contained in:
+17
-1
@@ -460,13 +460,29 @@ function renderSite() {
|
|||||||
function renderWidgetLanguageOptions(form, settings) {
|
function renderWidgetLanguageOptions(form, settings) {
|
||||||
const language = settings.widgetLanguage || {};
|
const language = settings.widgetLanguage || {};
|
||||||
const options = WIDGET_LANGUAGES
|
const options = WIDGET_LANGUAGES
|
||||||
.map(([code, label]) => `<option value="${code}">${code.toUpperCase()} - ${escapeHtml(label)}</option>`)
|
.map(([code, label]) => `<option value="${code}">${languageFlag(code)} ${code.toUpperCase()} - ${escapeHtml(label)}</option>`)
|
||||||
.join("");
|
.join("");
|
||||||
form.defaultLanguage.innerHTML = options;
|
form.defaultLanguage.innerHTML = options;
|
||||||
form.widgetLanguageMode.value = language.mode === "fixed" ? "default" : language.mode || "auto";
|
form.widgetLanguageMode.value = language.mode === "fixed" ? "default" : language.mode || "auto";
|
||||||
form.defaultLanguage.value = language.defaultLanguage || "cs";
|
form.defaultLanguage.value = language.defaultLanguage || "cs";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function languageFlag(language) {
|
||||||
|
const countries = {
|
||||||
|
cs: "CZ", sk: "SK", en: "GB", de: "DE", pl: "PL", hu: "HU", ro: "RO", bg: "BG", hr: "HR", sl: "SI",
|
||||||
|
it: "IT", fr: "FR", es: "ES", pt: "PT", nl: "NL", da: "DK", sv: "SE", fi: "FI", no: "NO", et: "EE",
|
||||||
|
lv: "LV", lt: "LT", el: "GR", uk: "UA", ru: "RU", tr: "TR", sr: "RS", bs: "BA", sq: "AL", mk: "MK",
|
||||||
|
mt: "MT", ga: "IE", is: "IS", be: "BY", ca: "ES"
|
||||||
|
};
|
||||||
|
return flagEmoji(countries[language] || language);
|
||||||
|
}
|
||||||
|
|
||||||
|
function flagEmoji(countryCode) {
|
||||||
|
const code = String(countryCode || "").toUpperCase();
|
||||||
|
if (!/^[A-Z]{2}$/.test(code)) return "";
|
||||||
|
return [...code].map((letter) => String.fromCodePoint(127397 + letter.charCodeAt(0))).join("");
|
||||||
|
}
|
||||||
|
|
||||||
function renderWidgetCopyFields(language) {
|
function renderWidgetCopyFields(language) {
|
||||||
const form = $("#settingsForm");
|
const form = $("#settingsForm");
|
||||||
const settings = state.site?.settings || {};
|
const settings = state.site?.settings || {};
|
||||||
|
|||||||
Reference in New Issue
Block a user