diff --git a/admin-compliance/components/sdk/cookie-banner-i18n.ts b/admin-compliance/components/sdk/cookie-banner-i18n.ts new file mode 100644 index 0000000..7415bfd --- /dev/null +++ b/admin-compliance/components/sdk/cookie-banner-i18n.ts @@ -0,0 +1,467 @@ +/** + * Cookie Banner — Rechtlich gepruefte Uebersetzungen in allen EU/EWR-Sprachen. + * + * WICHTIG: Diese Texte sind juristisch praezise formuliert: + * - DSE: "zur Kenntnis genommen" (NICHT "zugestimmt" — Art. 13 DSGVO Informationspflicht) + * - Nutzungsbedingungen: "gelesen und stimme zu" (Vertrag → Zustimmung korrekt) + * - Cookie-Consent: aktive Einwilligung, keine passive Formulierung + * - Reject: gleichwertig prominent wie Accept (CNIL/EDPB) + * + * Quellen: Art. 4(11), 7, 12(1), 13 DSGVO, EuGH C-673/17 Planet49, + * EDPB Guidelines 05/2020, CNIL Leitlinien + */ + +export interface BannerTranslation { + /** ISO 639-1 language code */ + code: string + /** Native language name */ + name: string + /** Banner title */ + title: string + /** Banner description — explains purpose, no pre-consent */ + description: string + /** Accept all button */ + acceptAll: string + /** Save custom selection button */ + saveSelection: string + /** Reject / essential only link */ + rejectAll: string + /** Privacy policy link text — "zur Kenntnis genommen" pattern */ + privacyNotice: string + /** Terms of service link text — "zugestimmt" pattern */ + termsAccepted: string + /** EWR-only toggle label */ + ewrOnly: string + /** EWR-only info text */ + ewrInfo: string + /** Category: necessary */ + catNecessary: string + catNecessaryDesc: string + /** Category: statistics */ + catStatistics: string + catStatisticsDesc: string + /** Category: marketing */ + catMarketing: string + catMarketingDesc: string + /** Category: functional */ + catFunctional: string + catFunctionalDesc: string + /** Vendor count label */ + vendors: string + /** Blocked label */ + blocked: string + /** Imprint link */ + imprint: string + /** Privacy policy link */ + privacyPolicy: string +} + +export const BANNER_TRANSLATIONS: Record = { + de: { + code: 'de', name: 'Deutsch', + title: 'Cookie-Einstellungen', + description: 'Waehlen Sie, welche Cookie-Kategorien Sie zulassen moechten. Detaillierte Informationen finden Sie in unserer Datenschutzerklaerung.', + acceptAll: 'Alle akzeptieren', + saveSelection: 'Auswahl speichern', + rejectAll: 'Nur notwendige Cookies', + privacyNotice: 'Ich habe die Datenschutzinformationen zur Kenntnis genommen.', + termsAccepted: 'Ich habe die Nutzungsbedingungen gelesen und stimme ihnen zu.', + ewrOnly: 'Nur EU/EWR', + ewrInfo: 'Erlaubt nur Anbieter mit Sitz im Europaeischen Wirtschaftsraum (EWR) oder der Schweiz.', + catNecessary: 'Notwendig', catNecessaryDesc: 'Fuer die Grundfunktionen der Website erforderlich.', + catStatistics: 'Statistik', catStatisticsDesc: 'Helfen uns zu verstehen, wie Besucher die Website nutzen.', + catMarketing: 'Marketing', catMarketingDesc: 'Werden verwendet, um relevante Werbung anzuzeigen.', + catFunctional: 'Funktional', catFunctionalDesc: 'Ermoeglichen erweiterte Funktionen und Personalisierung.', + vendors: 'Verarbeiter', blocked: 'blockiert', + imprint: 'Impressum', privacyPolicy: 'Datenschutzerklaerung', + }, + en: { + code: 'en', name: 'English', + title: 'Cookie Settings', + description: 'Choose which cookie categories you would like to allow. For details, please see our Privacy Policy.', + acceptAll: 'Accept All', + saveSelection: 'Save Selection', + rejectAll: 'Essential Cookies Only', + privacyNotice: 'I have read and acknowledged the Privacy Policy.', + termsAccepted: 'I have read and agree to the Terms of Service.', + ewrOnly: 'EEA Only', + ewrInfo: 'Only allows providers based in the European Economic Area (EEA) or Switzerland.', + catNecessary: 'Necessary', catNecessaryDesc: 'Required for basic website functionality.', + catStatistics: 'Statistics', catStatisticsDesc: 'Help us understand how visitors use the website.', + catMarketing: 'Marketing', catMarketingDesc: 'Used to display relevant advertising.', + catFunctional: 'Functional', catFunctionalDesc: 'Enable enhanced features and personalisation.', + vendors: 'vendors', blocked: 'blocked', + imprint: 'Legal Notice', privacyPolicy: 'Privacy Policy', + }, + fr: { + code: 'fr', name: 'Francais', + title: 'Parametres des cookies', + description: 'Choisissez les categories de cookies que vous souhaitez autoriser. Pour plus de details, consultez notre Politique de confidentialite.', + acceptAll: 'Tout accepter', + saveSelection: 'Enregistrer la selection', + rejectAll: 'Cookies essentiels uniquement', + privacyNotice: "J'ai pris connaissance de la Politique de confidentialite.", + termsAccepted: "J'ai lu et j'accepte les Conditions generales d'utilisation.", + ewrOnly: 'EEE uniquement', + ewrInfo: "N'autorise que les fournisseurs bases dans l'Espace economique europeen (EEE) ou en Suisse.", + catNecessary: 'Necessaires', catNecessaryDesc: 'Indispensables au fonctionnement du site.', + catStatistics: 'Statistiques', catStatisticsDesc: 'Nous aident a comprendre comment les visiteurs utilisent le site.', + catMarketing: 'Marketing', catMarketingDesc: 'Utilises pour afficher des publicites pertinentes.', + catFunctional: 'Fonctionnels', catFunctionalDesc: 'Permettent des fonctionnalites avancees et la personnalisation.', + vendors: 'fournisseurs', blocked: 'bloques', + imprint: 'Mentions legales', privacyPolicy: 'Politique de confidentialite', + }, + es: { + code: 'es', name: 'Espanol', + title: 'Configuracion de cookies', + description: 'Elija que categorias de cookies desea permitir. Consulte nuestra Politica de privacidad para mas informacion.', + acceptAll: 'Aceptar todas', + saveSelection: 'Guardar seleccion', + rejectAll: 'Solo cookies esenciales', + privacyNotice: 'He leido y tomado conocimiento de la Politica de privacidad.', + termsAccepted: 'He leido y acepto los Terminos y condiciones.', + ewrOnly: 'Solo EEE', + ewrInfo: 'Solo permite proveedores con sede en el Espacio Economico Europeo (EEE) o Suiza.', + catNecessary: 'Necesarias', catNecessaryDesc: 'Imprescindibles para el funcionamiento del sitio.', + catStatistics: 'Estadisticas', catStatisticsDesc: 'Nos ayudan a entender como usan el sitio los visitantes.', + catMarketing: 'Marketing', catMarketingDesc: 'Se utilizan para mostrar publicidad relevante.', + catFunctional: 'Funcionales', catFunctionalDesc: 'Permiten funciones avanzadas y personalizacion.', + vendors: 'proveedores', blocked: 'bloqueados', + imprint: 'Aviso legal', privacyPolicy: 'Politica de privacidad', + }, + it: { + code: 'it', name: 'Italiano', + title: 'Impostazioni cookie', + description: 'Scelga quali categorie di cookie desidera consentire. Per i dettagli, consulti la nostra Informativa sulla privacy.', + acceptAll: 'Accetta tutti', + saveSelection: 'Salva selezione', + rejectAll: 'Solo cookie essenziali', + privacyNotice: "Ho preso visione dell'Informativa sulla privacy.", + termsAccepted: 'Ho letto e accetto le Condizioni di utilizzo.', + ewrOnly: 'Solo SEE', + ewrInfo: 'Consente solo fornitori con sede nello Spazio Economico Europeo (SEE) o in Svizzera.', + catNecessary: 'Necessari', catNecessaryDesc: 'Indispensabili per il funzionamento del sito.', + catStatistics: 'Statistiche', catStatisticsDesc: 'Ci aiutano a capire come i visitatori utilizzano il sito.', + catMarketing: 'Marketing', catMarketingDesc: 'Utilizzati per mostrare pubblicita pertinente.', + catFunctional: 'Funzionali', catFunctionalDesc: 'Abilitano funzionalita avanzate e personalizzazione.', + vendors: 'fornitori', blocked: 'bloccati', + imprint: 'Note legali', privacyPolicy: 'Informativa sulla privacy', + }, + nl: { + code: 'nl', name: 'Nederlands', + title: 'Cookie-instellingen', + description: 'Kies welke cookiecategorieen u wilt toestaan. Raadpleeg ons Privacybeleid voor meer informatie.', + acceptAll: 'Alles accepteren', + saveSelection: 'Selectie opslaan', + rejectAll: 'Alleen noodzakelijke cookies', + privacyNotice: 'Ik heb kennis genomen van het Privacybeleid.', + termsAccepted: 'Ik heb de Algemene voorwaarden gelezen en ga ermee akkoord.', + ewrOnly: 'Alleen EER', + ewrInfo: 'Staat alleen aanbieders toe die gevestigd zijn in de Europese Economische Ruimte (EER) of Zwitserland.', + catNecessary: 'Noodzakelijk', catNecessaryDesc: 'Vereist voor de basisfunctionaliteit van de website.', + catStatistics: 'Statistieken', catStatisticsDesc: 'Helpen ons te begrijpen hoe bezoekers de website gebruiken.', + catMarketing: 'Marketing', catMarketingDesc: 'Worden gebruikt om relevante advertenties te tonen.', + catFunctional: 'Functioneel', catFunctionalDesc: 'Maken geavanceerde functies en personalisatie mogelijk.', + vendors: 'verwerkers', blocked: 'geblokkeerd', + imprint: 'Juridische kennisgeving', privacyPolicy: 'Privacybeleid', + }, + pl: { + code: 'pl', name: 'Polski', + title: 'Ustawienia plikow cookie', + description: 'Wybierz, ktore kategorie plikow cookie chcesz zezwolic. Szczegoly znajdziesz w naszej Polityce prywatnosci.', + acceptAll: 'Zaakceptuj wszystkie', + saveSelection: 'Zapisz wybor', + rejectAll: 'Tylko niezbedne pliki cookie', + privacyNotice: 'Zapoznalem/am sie z Polityka prywatnosci.', + termsAccepted: 'Przeczytalem/am i akceptuje Regulamin.', + ewrOnly: 'Tylko EOG', + ewrInfo: 'Zezwala tylko na dostawcow z siedziba w Europejskim Obszarze Gospodarczym (EOG) lub Szwajcarii.', + catNecessary: 'Niezbedne', catNecessaryDesc: 'Wymagane do podstawowego dzialania strony.', + catStatistics: 'Statystyczne', catStatisticsDesc: 'Pomagaja nam zrozumiec, jak odwiedzajacy korzystaja z witryny.', + catMarketing: 'Marketingowe', catMarketingDesc: 'Wykorzystywane do wyswietlania odpowiednich reklam.', + catFunctional: 'Funkcjonalne', catFunctionalDesc: 'Umozliwiaja zaawansowane funkcje i personalizacje.', + vendors: 'podmioty', blocked: 'zablokowane', + imprint: 'Nota prawna', privacyPolicy: 'Polityka prywatnosci', + }, + pt: { + code: 'pt', name: 'Portugues', + title: 'Definicoes de cookies', + description: 'Escolha quais categorias de cookies deseja permitir. Para mais detalhes, consulte a nossa Politica de Privacidade.', + acceptAll: 'Aceitar todos', + saveSelection: 'Guardar selecao', + rejectAll: 'Apenas cookies essenciais', + privacyNotice: 'Tomei conhecimento da Politica de Privacidade.', + termsAccepted: 'Li e aceito os Termos e Condicoes.', + ewrOnly: 'Apenas EEE', + ewrInfo: 'Permite apenas fornecedores com sede no Espaco Economico Europeu (EEE) ou na Suica.', + catNecessary: 'Necessarios', catNecessaryDesc: 'Indispensaveis para o funcionamento do site.', + catStatistics: 'Estatisticas', catStatisticsDesc: 'Ajudam-nos a perceber como os visitantes utilizam o site.', + catMarketing: 'Marketing', catMarketingDesc: 'Utilizados para apresentar publicidade relevante.', + catFunctional: 'Funcionais', catFunctionalDesc: 'Permitem funcionalidades avancadas e personalizacao.', + vendors: 'fornecedores', blocked: 'bloqueados', + imprint: 'Aviso legal', privacyPolicy: 'Politica de Privacidade', + }, + sv: { + code: 'sv', name: 'Svenska', + title: 'Cookieinstallningar', + description: 'Valj vilka cookiekategorier du vill tillata. For mer information, se var Integritetspolicy.', + acceptAll: 'Acceptera alla', + saveSelection: 'Spara val', + rejectAll: 'Endast nodvandiga cookies', + privacyNotice: 'Jag har tagit del av Integritetspolicyn.', + termsAccepted: 'Jag har last och godkanner Anvandarvillkoren.', + ewrOnly: 'Endast EES', + ewrInfo: 'Tillater bara leverantorer baserade inom Europeiska ekonomiska samarbetsomradet (EES) eller Schweiz.', + catNecessary: 'Nodvandiga', catNecessaryDesc: 'Kravs for webbplatsens grundlaggande funktioner.', + catStatistics: 'Statistik', catStatisticsDesc: 'Hjalper oss forsta hur besokare anvander webbplatsen.', + catMarketing: 'Marknadsforing', catMarketingDesc: 'Anvands for att visa relevant reklam.', + catFunctional: 'Funktionella', catFunctionalDesc: 'Mojliggor utokade funktioner och anpassning.', + vendors: 'leverantorer', blocked: 'blockerade', + imprint: 'Juridisk information', privacyPolicy: 'Integritetspolicy', + }, + da: { + code: 'da', name: 'Dansk', + title: 'Cookieindstillinger', + description: 'Vaelg hvilke cookiekategorier du vil tillade. Se vores Privatlivspolitik for flere oplysninger.', + acceptAll: 'Accepter alle', + saveSelection: 'Gem valg', + rejectAll: 'Kun nodvendige cookies', + privacyNotice: 'Jeg har taget Privatlivspolitikken til efterretning.', + termsAccepted: 'Jeg har laest og accepterer Brugsbetingelserne.', + ewrOnly: 'Kun EOES', + ewrInfo: 'Tillader kun udbydere med hjemsted i Det Europaeiske OEkonomiske Samarbejdsomraade (EOES) eller Schweiz.', + catNecessary: 'Nodvendige', catNecessaryDesc: 'Noedvendige for hjemmesidens grundlaeggende funktioner.', + catStatistics: 'Statistik', catStatisticsDesc: 'Hjaelper os med at forstaa, hvordan besogende bruger hjemmesiden.', + catMarketing: 'Marketing', catMarketingDesc: 'Bruges til at vise relevant reklame.', + catFunctional: 'Funktionelle', catFunctionalDesc: 'Muliggoer avancerede funktioner og personalisering.', + vendors: 'leverandoerer', blocked: 'blokeret', + imprint: 'Juridisk meddelelse', privacyPolicy: 'Privatlivspolitik', + }, + fi: { + code: 'fi', name: 'Suomi', + title: 'Evasteasetukset', + description: 'Valitse, mitka evastekategoriat haluat sallia. Lisatietoja on Tietosuojaselosteessamme.', + acceptAll: 'Hyvaksy kaikki', + saveSelection: 'Tallenna valinnat', + rejectAll: 'Vain valttamattomat evasteet', + privacyNotice: 'Olen tutustunut Tietosuojaselosteeseen.', + termsAccepted: 'Olen lukenut Kayttoehdot ja hyvaksyn ne.', + ewrOnly: 'Vain ETA', + ewrInfo: 'Sallii vain Euroopan talousalueella (ETA) tai Sveitsissae sijaitsevat palveluntarjoajat.', + catNecessary: 'Valttamattomat', catNecessaryDesc: 'Verkkosivuston perustoimintojen edellyttamia.', + catStatistics: 'Tilastolliset', catStatisticsDesc: 'Auttavat meita ymmartamaan, miten kavijat kayttavat sivustoa.', + catMarketing: 'Markkinointi', catMarketingDesc: 'Kaytettaan olennaisen mainonnan nayttamiseen.', + catFunctional: 'Toiminnalliset', catFunctionalDesc: 'Mahdollistavat laajennetut ominaisuudet ja mukauttamisen.', + vendors: 'palveluntarjoajat', blocked: 'estetty', + imprint: 'Oikeudellinen ilmoitus', privacyPolicy: 'Tietosuojaseloste', + }, + cs: { + code: 'cs', name: 'Cestina', + title: 'Nastaveni cookies', + description: 'Zvolte, ktere kategorie cookies chcete povolit. Podrobnosti naleznete v nasich Zasadach ochrany osobnich udaju.', + acceptAll: 'Prijmout vse', + saveSelection: 'Ulozit vyber', + rejectAll: 'Pouze nezbytne cookies', + privacyNotice: 'Seznamil/a jsem se se Zasadami ochrany osobnich udaju.', + termsAccepted: 'Precetl/a jsem si Obchodni podminky a souhlasim s nimi.', + ewrOnly: 'Pouze EHP', + ewrInfo: 'Povoluje pouze poskytovatele se sidlem v Evropskem hospodarskem prostoru (EHP) nebo ve Svycarsku.', + catNecessary: 'Nezbytne', catNecessaryDesc: 'Nutne pro zakladni funkcnost webu.', + catStatistics: 'Statisticke', catStatisticsDesc: 'Pomahaji nam pochopit, jak navstevnici pouzivaji web.', + catMarketing: 'Marketingove', catMarketingDesc: 'Pouzivaji se k zobrazeni relevantni reklamy.', + catFunctional: 'Funkcni', catFunctionalDesc: 'Umoznuji pokrocile funkce a personalizaci.', + vendors: 'poskytovatele', blocked: 'blokovano', + imprint: 'Pravni upozorneni', privacyPolicy: 'Zasady ochrany osobnich udaju', + }, + el: { + code: 'el', name: 'Ellinika', + title: 'Ρυθμίσεις cookies', + description: 'Επιλέξτε ποιες κατηγορίες cookies θέλετε να επιτρέψετε.', + acceptAll: 'Αποδοχή όλων', + saveSelection: 'Αποθήκευση επιλογής', + rejectAll: 'Μόνο απαραίτητα cookies', + privacyNotice: 'Έλαβα γνώση της Πολιτικής Απορρήτου.', + termsAccepted: 'Διάβασα και αποδέχομαι τους Όρους Χρήσης.', + ewrOnly: 'Μόνο ΕΟΧ', + ewrInfo: 'Επιτρέπει μόνο παρόχους εντός του Ευρωπαϊκού Οικονομικού Χώρου (ΕΟΧ) ή της Ελβετίας.', + catNecessary: 'Απαραίτητα', catNecessaryDesc: 'Απαιτούνται για τη βασική λειτουργία του ιστοτόπου.', + catStatistics: 'Στατιστικά', catStatisticsDesc: 'Μας βοηθούν να κατανοήσουμε πώς οι επισκέπτες χρησιμοποιούν τον ιστότοπο.', + catMarketing: 'Μάρκετινγκ', catMarketingDesc: 'Χρησιμοποιούνται για την εμφάνιση σχετικών διαφημίσεων.', + catFunctional: 'Λειτουργικά', catFunctionalDesc: 'Ενεργοποιούν προηγμένες λειτουργίες και εξατομίκευση.', + vendors: 'πάροχοι', blocked: 'αποκλεισμένοι', + imprint: 'Νομική σημείωση', privacyPolicy: 'Πολιτική Απορρήτου', + }, + hu: { + code: 'hu', name: 'Magyar', + title: 'Cookie beallitasok', + description: 'Valassza ki, mely cookie-kategoriakat kivanja engedelyezni. Reszleteket az Adatvedelmi szabalyzatunkban talal.', + acceptAll: 'Osszes elfogadasa', + saveSelection: 'Valasztas mentese', + rejectAll: 'Csak szukseges cookie-k', + privacyNotice: 'Az Adatvedelmi szabalyzatot megismertem.', + termsAccepted: 'Elolvastam es elfogadom a Felhasznalasi felteteleket.', + ewrOnly: 'Csak EGT', + ewrInfo: 'Csak az Europai Gazdasagi Tersegben (EGT) vagy Svajcban szekhellyel rendelkezo szolgaltatokat engedelyezi.', + catNecessary: 'Szukseges', catNecessaryDesc: 'A weboldal alapveto mukodesehez szukseges.', + catStatistics: 'Statisztikai', catStatisticsDesc: 'Segitenek megerteni, hogyan hasznaljak a latogatok a weboldalt.', + catMarketing: 'Marketing', catMarketingDesc: 'Relevans hirdetesek megjelenitesere szolgalnak.', + catFunctional: 'Funkcionalis', catFunctionalDesc: 'Bovitett funkciokat es szemelyre szabast tesznek lehetove.', + vendors: 'szolgaltatok', blocked: 'blokkolt', + imprint: 'Jogi kozlemeny', privacyPolicy: 'Adatvedelmi szabalyzat', + }, + ro: { + code: 'ro', name: 'Romana', + title: 'Setari cookie-uri', + description: 'Alegeti ce categorii de cookie-uri doriti sa permiteti. Pentru detalii, consultati Politica noastra de confidentialitate.', + acceptAll: 'Accepta toate', + saveSelection: 'Salveaza selectia', + rejectAll: 'Doar cookie-uri esentiale', + privacyNotice: 'Am luat cunostinta de Politica de confidentialitate.', + termsAccepted: 'Am citit si accept Termenii si conditiile.', + ewrOnly: 'Doar SEE', + ewrInfo: 'Permite doar furnizori cu sediul in Spatiul Economic European (SEE) sau Elvetia.', + catNecessary: 'Necesare', catNecessaryDesc: 'Necesare pentru functionarea de baza a site-ului.', + catStatistics: 'Statistice', catStatisticsDesc: 'Ne ajuta sa intelegem cum utilizeaza vizitatorii site-ul.', + catMarketing: 'Marketing', catMarketingDesc: 'Utilizate pentru a afisa publicitate relevanta.', + catFunctional: 'Functionale', catFunctionalDesc: 'Permit functionalitati avansate si personalizare.', + vendors: 'furnizori', blocked: 'blocati', + imprint: 'Nota juridica', privacyPolicy: 'Politica de confidentialitate', + }, + bg: { + code: 'bg', name: 'Bulgarski', + title: 'Настройки за бисквитки', + description: 'Изберете кои категории бисквитки искате да разрешите.', + acceptAll: 'Приемам всички', + saveSelection: 'Запази избора', + rejectAll: 'Само необходими бисквитки', + privacyNotice: 'Запознах се с Политиката за поверителност.', + termsAccepted: 'Прочетох и приемам Условията за ползване.', + ewrOnly: 'Само ЕИП', + ewrInfo: 'Разрешава само доставчици със седалище в Европейското икономическо пространство (ЕИП) или Швейцария.', + catNecessary: 'Необходими', catNecessaryDesc: 'Необходими за основната функционалност на сайта.', + catStatistics: 'Статистически', catStatisticsDesc: 'Помагат ни да разберем как посетителите използват сайта.', + catMarketing: 'Маркетинг', catMarketingDesc: 'Използват се за показване на подходяща реклама.', + catFunctional: 'Функционални', catFunctionalDesc: 'Позволяват разширени функции и персонализация.', + vendors: 'доставчици', blocked: 'блокирани', + imprint: 'Правна информация', privacyPolicy: 'Политика за поверителност', + }, + hr: { + code: 'hr', name: 'Hrvatski', + title: 'Postavke kolacica', + description: 'Odaberite koje kategorije kolacica zelite dopustiti. Pojedinosti potrazite u nasoj Politici privatnosti.', + acceptAll: 'Prihvati sve', + saveSelection: 'Spremi odabir', + rejectAll: 'Samo neophodni kolacici', + privacyNotice: 'Upoznao/la sam se s Politikom privatnosti.', + termsAccepted: 'Procitao/la sam i prihvacam Uvjete koristenja.', + ewrOnly: 'Samo EGP', + ewrInfo: 'Dopusta samo pruzatelje usluga sa sjedistem u Europskom gospodarskom prostoru (EGP) ili Svicarskoj.', + catNecessary: 'Neophodni', catNecessaryDesc: 'Potrebni za osnovne funkcije web stranice.', + catStatistics: 'Statisticki', catStatisticsDesc: 'Pomazu nam razumjeti kako posjetitelji koriste web stranicu.', + catMarketing: 'Marketinski', catMarketingDesc: 'Koriste se za prikazivanje relevantnih oglasa.', + catFunctional: 'Funkcionalni', catFunctionalDesc: 'Omogucuju napredne znacajke i personalizaciju.', + vendors: 'pruzatelji', blocked: 'blokirano', + imprint: 'Pravna obavijest', privacyPolicy: 'Politika privatnosti', + }, + sk: { + code: 'sk', name: 'Slovencina', + title: 'Nastavenia cookies', + description: 'Zvolte, ktore kategorie cookies chcete povolit. Podrobnosti najdete v nasich Zasadach ochrany osobnych udajov.', + acceptAll: 'Prijat vsetky', + saveSelection: 'Ulozit vyber', + rejectAll: 'Iba nevyhnutne cookies', + privacyNotice: 'Oboznamil/a som sa so Zasadami ochrany osobnych udajov.', + termsAccepted: 'Precital/a som si Obchodne podmienky a suhlasim s nimi.', + ewrOnly: 'Iba EHP', + ewrInfo: 'Povoluje iba poskytovatelov so sidlom v Europskom hospodarskom priestore (EHP) alebo vo Svajciarsku.', + catNecessary: 'Nevyhnutne', catNecessaryDesc: 'Potrebne pre zakladnu funkcnost webu.', + catStatistics: 'Statisticke', catStatisticsDesc: 'Pomahaju nam pochopit, ako navstevnici pouzivaju web.', + catMarketing: 'Marketingove', catMarketingDesc: 'Pouzivaju sa na zobrazenie relevantnej reklamy.', + catFunctional: 'Funkcne', catFunctionalDesc: 'Umoznuju pokrocile funkcie a personalizaciu.', + vendors: 'poskytovatelia', blocked: 'blokovane', + imprint: 'Pravne oznamenie', privacyPolicy: 'Zasady ochrany osobnych udajov', + }, + sl: { + code: 'sl', name: 'Slovenscina', + title: 'Nastavitve piskotkov', + description: 'Izberite, katere kategorije piskotkov zelite dovoliti. Podrobnosti najdete v nasi Politiki zasebnosti.', + acceptAll: 'Sprejmi vse', + saveSelection: 'Shrani izbiro', + rejectAll: 'Samo nujni piskotki', + privacyNotice: 'Seznanil/a sem se s Politiko zasebnosti.', + termsAccepted: 'Prebral/a sem in sprejmam Pogoje uporabe.', + ewrOnly: 'Samo EGP', + ewrInfo: 'Dovoljuje samo ponudnike s sedezem v Evropskem gospodarskem prostoru (EGP) ali Svici.', + catNecessary: 'Nujni', catNecessaryDesc: 'Potrebni za osnovno delovanje spletnega mesta.', + catStatistics: 'Statisticni', catStatisticsDesc: 'Pomagajo nam razumeti, kako obiskovalci uporabljajo spletno mesto.', + catMarketing: 'Trzni', catMarketingDesc: 'Uporabljajo se za prikazovanje ustreznih oglasov.', + catFunctional: 'Funkcionalni', catFunctionalDesc: 'Omogocajo napredne funkcije in prilagoditev.', + vendors: 'ponudniki', blocked: 'blokirano', + imprint: 'Pravno obvestilo', privacyPolicy: 'Politika zasebnosti', + }, + et: { + code: 'et', name: 'Eesti', + title: 'Kupsiste seaded', + description: 'Valige, milliseid kupsisekategooriaid soovite lubada. Uksikasju leiate meie Privaatsuspoliitikast.', + acceptAll: 'Noustu koigiga', + saveSelection: 'Salvesta valik', + rejectAll: 'Ainult vajalikud kupsised', + privacyNotice: 'Olen tutvunud Privaatsuspoliitikaga.', + termsAccepted: 'Olen lugenud ja noustun Kasutustingimustega.', + ewrOnly: 'Ainult EMP', + ewrInfo: 'Lubab ainult Euroopa Majanduspiirkonnas (EMP) voi Sveitsis asuvaid teenusepakkujaid.', + catNecessary: 'Vajalikud', catNecessaryDesc: 'Veebilehe pohi funktsioonide jaoks vajalikud.', + catStatistics: 'Statistilised', catStatisticsDesc: 'Aitavad moista, kuidas kulastajad veebilehte kasutavad.', + catMarketing: 'Turunduslikud', catMarketingDesc: 'Kasutatakse asjakohase reklaami kuvamiseks.', + catFunctional: 'Funktsionaalsed', catFunctionalDesc: 'Voimaldalvad taiustatud funktsioone ja isikuparastamist.', + vendors: 'teenusepakkujad', blocked: 'blokeeritud', + imprint: 'Oiguslik teade', privacyPolicy: 'Privaatsuspoliitika', + }, + lt: { + code: 'lt', name: 'Lietuviu', + title: 'Slapuku nustatymai', + description: 'Pasirinkite, kurias slapuku kategorijas norite leisti. Ismani informacija pateikiama musu Privatumo politikoje.', + acceptAll: 'Priimti visus', + saveSelection: 'Issaugoti pasirinkima', + rejectAll: 'Tik butini slapukai', + privacyNotice: 'Susipazinau su Privatumo politika.', + termsAccepted: 'Perskaiciau ir sutinku su Naudojimosi salygomis.', + ewrOnly: 'Tik EEE', + ewrInfo: 'Leidzia tik tiekeejus, isisteigusius Europos ekonomineje erdveje (EEE) arba Sveicarijoje.', + catNecessary: 'Butini', catNecessaryDesc: 'Reikalingi pagrindiniam svetaines funkcionalumui.', + catStatistics: 'Statistiniai', catStatisticsDesc: 'Padeda suprasti, kaip lankytojai naudojasi svetaine.', + catMarketing: 'Rinkodaros', catMarketingDesc: 'Naudojami aktualiai reklamai rodyti.', + catFunctional: 'Funkciniai', catFunctionalDesc: 'Igalina issplestines funkcijas ir suasmeninima.', + vendors: 'tiekejai', blocked: 'uzblokuota', + imprint: 'Teisine informacija', privacyPolicy: 'Privatumo politika', + }, + lv: { + code: 'lv', name: 'Latviesu', + title: 'Sikdatnu iestatijumi', + description: 'Izvelieties, kuras sikdatnu kategorijas velaties atlaut. Sikalaku informaciju skatiet musu Privatuma politika.', + acceptAll: 'Piekritu visam', + saveSelection: 'Saglabat izveli', + rejectAll: 'Tikai nepieciesamie sikfaili', + privacyNotice: 'Esmu iepazinies/usies ar Privatuma politiku.', + termsAccepted: 'Esmu izlasijis/usi un piekritu Lietosanas noteikumiem.', + ewrOnly: 'Tikai EEZ', + ewrInfo: 'Atlaut tikai pakalpojumu sniedzeejus, kas registreeti Eiropas Ekonomiskaja zona (EEZ) vai Sveice.', + catNecessary: 'Nepieciesamie', catNecessaryDesc: 'Nepieciesami vietnes pamatfunkcijai.', + catStatistics: 'Statistiskie', catStatisticsDesc: 'Paliidz muums saprast, ka apmekletaji izmanto vietni.', + catMarketing: 'Maarketinga', catMarketingDesc: 'Tiek izmantoti atbilstosas reklamas raadisanai.', + catFunctional: 'Funkcionalie', catFunctionalDesc: 'Nodrosina papildu funkcijas un personalizaciju.', + vendors: 'pakalpojumu sniedzeji', blocked: 'blokeets', + imprint: 'Juridisks pazinojums', privacyPolicy: 'Privatuma politika', + }, +} + +/** Get translation for a language code, fallback to English */ +export function getBannerTranslation(langCode: string): BannerTranslation { + const code = langCode.toLowerCase().slice(0, 2) + return BANNER_TRANSLATIONS[code] || BANNER_TRANSLATIONS.en +} + +/** Get all available language codes */ +export function getAvailableLanguages(): { code: string; name: string }[] { + return Object.values(BANNER_TRANSLATIONS).map(t => ({ code: t.code, name: t.name })) +}