feat: Legally vetted cookie banner translations for 22 EU/EEA languages
Build + Deploy / build-admin-compliance (push) Successful in 2m6s
Build + Deploy / build-backend-compliance (push) Successful in 3m13s
Build + Deploy / build-ai-sdk (push) Successful in 56s
Build + Deploy / build-developer-portal (push) Successful in 1m13s
Build + Deploy / build-tts (push) Successful in 1m25s
Build + Deploy / build-document-crawler (push) Successful in 42s
Build + Deploy / build-dsms-gateway (push) Successful in 28s
Build + Deploy / build-dsms-node (push) Successful in 12s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 19s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m44s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 40s
CI / test-python-backend (push) Successful in 41s
CI / test-python-document-crawler (push) Successful in 30s
CI / test-python-dsms-gateway (push) Successful in 22s
CI / validate-canonical-controls (push) Successful in 15s
Build + Deploy / trigger-orca (push) Successful in 3m6s

22 languages: BG, CS, DA, DE, EL, EN, ES, ET, FI, FR, HR, HU, IT,
LT, LV, NL, PL, PT, RO, SK, SL, SV

Each language includes 20 fields:
- Banner title, description, accept/reject/save buttons
- Privacy notice: "zur Kenntnis genommen" pattern (NOT "zugestimmt")
- Terms: "gelesen und stimme zu" pattern (contract = agreement correct)
- EWR-only toggle label + info text
- 4 category names + descriptions
- Vendor/blocked labels, imprint + privacy policy links

Legal precision:
- DSE = Informationspflicht Art. 13 DSGVO → "acknowledged/zur Kenntnis"
- Nutzungsbedingungen = Vertrag → "agree/zustimmen" is correct
- No passive consent formulations
- No coupling patterns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-04 10:56:23 +02:00
parent 129849aa21
commit 9395a0084a
@@ -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<string, BannerTranslation> = {
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 }))
}