Dodatkowe wersje językowe z AI

This commit is contained in:
2026-09-25 18:04:28 +02:00
parent a381ad09d8
commit 4fde92d323
23 changed files with 1231 additions and 148 deletions
+15 -4
View File
@@ -1,9 +1,12 @@
import pl from "../locales/pl.js";
import en from "../locales/en.js";
import de from "../locales/de.js";
import es from "../locales/es.js";
import it from "../locales/it.js";
import ko from "../locales/ko.js";
const STORAGE_KEY = "karczma_lang";
const catalogs = { pl, en, de };
const catalogs = { pl, en, de, es, it, ko };
const LANG_BUSY_MIN_MS = 280;
let currentLang = "pl";
@@ -56,6 +59,9 @@ export function getAvailableLanguages() {
{ code: "pl", label: "Polski", flag: "🇵🇱" },
{ code: "en", label: "English", flag: "🇬🇧" },
{ code: "de", label: "Deutsch", flag: "🇩🇪" },
{ code: "es", label: "Español", flag: "🇪🇸" },
{ code: "it", label: "Italiano", flag: "🇮🇹" },
{ code: "ko", label: "한국어", flag: "🇰🇷" },
];
}
@@ -283,9 +289,14 @@ export function createLanguagePicker({ idPrefix = "lang" } = {}) {
refresh();
onLangChange(() => refresh());
onLangBusyChange(() => {
if (langBusy) pickerApi.close();
paintButton();
onLangBusyChange((busy) => {
if (busy) {
pickerApi.close();
paintButton();
return;
}
// Po spinnerze przebuduj też opcje — inaczej zostają disabled=true z czasu busy.
refresh();
});
return { el: wrap, refresh, close: pickerApi.close };