@peax/consent-banner-locales 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,160 +1,53 @@
1
1
  # @peax/consent-banner-locales
2
2
 
3
- English and German banner messages, preference-section copy, and predictable locale fallback. No runtime dependencies or framework bindings.
4
-
5
- [Peax Consent](https://github.com/peaxco/consent/blob/main/README.md) · [All guides](https://github.com/peaxco/consent/blob/main/docs/README.md) · [React banner](https://github.com/peaxco/consent/blob/main/packages/consent-banner-react/README.md) · [Theme](https://github.com/peaxco/consent/blob/main/packages/consent-banner-theme/README.md)
6
-
7
- [Quick start](#quick-start) · [Locale selection](#locale-selection) · [Message fields](#message-fields) · [Preference sections](#preference-sections) · [Rich messages](#rich-messages) · [Exports](#exports)
8
-
9
- ## Quick start
10
-
11
- **Using the React banner?** Pass `locale` and optional `bannerContent` overrides; it already uses this package internally:
12
-
13
- ```tsx
14
- import { Banner } from '@peax/consent-banner-react'
15
- import '@peax/consent-banner-theme/styles.css'
16
-
17
- <Banner isOpen locale="de-AT" bannerContent={{ acceptAllLabel: 'Zustimmen' }} />
18
- ```
19
-
20
- For direct dictionary or parser imports, install the package in your application:
3
+ Optional, framework-independent dictionaries for all 24 official EU languages plus Russian. React and Vue banners provide English fallback without this package.
21
4
 
22
5
  ```sh
23
6
  npm install @peax/consent-banner-locales
24
7
  ```
25
8
 
26
- ```ts
27
- import { getMessages, getPreferencesMessages, resolveLocale } from '@peax/consent-banner-locales'
28
-
29
- const locale = resolveLocale('de-AT') // 'de'
30
- const banner = getMessages(locale)
31
- const sections = getPreferencesMessages(locale)
32
-
33
- banner.acceptAllLabel // 'Alle akzeptieren'
34
- sections.essential.title // 'Erforderlich'
35
- ```
36
-
37
- See the [React integration](https://github.com/peaxco/consent/blob/main/packages/consent-banner-react/README.md#quick-start) for installation and event handling, or the [localization guide](https://github.com/peaxco/consent/blob/main/docs/localization.md) for more copy examples.
38
-
39
- ## Locale selection
40
-
41
- `resolveLocale`, `getMessages`, and `getPreferencesMessages` use the same rules:
42
-
43
- | Input | Resolved locale |
44
- | --- | --- |
45
- | `'en'`, `'en-GB'` | `'en'` |
46
- | `'de'`, `'de-AT'` | `'de'` |
47
- | `' DE-de '` | `'de'` (trimmed and case-insensitive) |
48
- | Omitted, empty, or unsupported | `'en'` |
49
-
50
- Selection is explicit. There is no browser detection, storage access, or network request, making the same inputs suitable for SSR and hydration. React's `lang` attribute follows the resolved locale, including when copy is overridden.
51
-
52
- Already selecting a language in your application? Import just that dictionary:
9
+ ## Selected languages
53
10
 
54
- ```ts
55
- import { en, enPreferences } from '@peax/consent-banner-locales/en'
56
- import { de, dePreferences } from '@peax/consent-banner-locales/de'
57
- ```
58
-
59
- Each language entry contains only that language. The root resolver includes both dictionaries. Dictionaries are readonly by type; spread them for customization rather than mutating shared defaults.
60
-
61
- ## Message fields
62
-
63
- `BannerMessages` is a flat object of strings. Complete dictionaries provide every required field; React's `bannerContent` accepts partial overrides and retains defaults for omitted/nullish fields.
64
-
65
- | Field | Used for | Required in a full dictionary |
66
- | --- | --- | --- |
67
- | `title` | Stacked banner heading | Yes |
68
- | `collapsedText` | Banner paragraph; supports policy placeholders | Yes |
69
- | `acceptAllLabel` | Accept button | Yes |
70
- | `rejectAllLabel` | Reject button | Yes |
71
- | `customizePreferencesLabel` | Visible preferences label and icon's accessible name | Yes |
72
- | `preferencesTitle` | Preferences heading | Yes |
73
- | `closePreferencesLabel` | Close button's accessible name | Yes |
74
- | `applyPreferencesLabel` | Apply button | Yes |
75
- | `cookiePolicyLabel` | Preferences footer policy link | Yes |
76
- | `preferencesText` | Optional introduction; supports policy placeholders | No; omitted by default |
77
-
78
- For a typed custom dictionary, retain the base fields you are not changing:
79
-
80
- ```ts
81
- import { en } from '@peax/consent-banner-locales/en'
82
- import type { BannerMessages } from '@peax/consent-banner-locales'
11
+ ```tsx
12
+ import { Banner } from '@peax/consent-banner-react'
13
+ import { de } from '@peax/consent-banner-locales/de'
14
+ import { fr } from '@peax/consent-banner-locales/fr'
83
15
 
84
- const messages = {
85
- ...en,
86
- title: 'Your privacy choices',
87
- customizePreferencesLabel: 'Manage preferences',
88
- } satisfies BannerMessages
16
+ <Banner locale="de-AT" locales={{ de, fr }} />
89
17
  ```
90
18
 
91
- ## Preference sections
19
+ Each entry exports one readonly composite dictionary: `de.banner` contains banner/preferences controls and `de.preferences` contains section titles/descriptions. Vue accepts the same map through `:locales="locales"`.
92
20
 
93
- `getPreferencesMessages(locale)` returns the default **title and description** for `essential`, `analytics`, and `marketing`. The same copy is available through `enPreferences` and `dePreferences`.
94
-
95
- | Concern | Where it belongs |
96
- | --- | --- |
97
- | Built-in section titles and descriptions | This package's `PreferencesMessages` dictionaries |
98
- | Which sections appear and in what order | React's `preferencesSections` |
99
- | Per-section copy and behavior overrides | React's `preferencesContent`, keyed by ID |
100
- | `checked` and `disabled` defaults | React adapter; never translation dictionaries |
21
+ ## All languages and root imports
101
22
 
102
23
  ```tsx
103
- <Banner
104
- isOpen
105
- locale="de"
106
- preferencesSections={['essential', 'analytics', 'marketing']}
107
- preferencesContent={{ essential: { title: 'Notwendige Cookies' } }}
108
- />
109
- ```
110
-
111
- Only the Essential title changes; every other selected field retains its localized default. See [Cookie preferences](https://github.com/peaxco/consent/blob/main/docs/preferences.md) for merging rules and custom IDs.
112
-
113
- ## Rich messages
114
-
115
- Translations own the policy label and its position; your application supplies the URL.
24
+ import locales, { en, de, fr } from '@peax/consent-banner-locales'
116
25
 
117
- ```tsx
118
- <Banner
119
- isOpen
120
- cookiePolicyUrl="/cookies"
121
- bannerContent={{ collapsedText: 'Read our <cookiePolicy>Cookie Policy</cookiePolicy>.' }}
122
- />
26
+ <Banner locale="de" locales={locales} />
27
+ <Banner locale="fr" locales={{ en, de, fr }} />
123
28
  ```
124
29
 
125
- React renders the label as a link when `cookiePolicyUrl` is usable, or plain text otherwise. It does not inject HTML. See [Localized links](https://github.com/peaxco/consent/blob/main/docs/localization.md#localized-links) for URL handling and supported fields.
30
+ The default export is the complete map. Named root imports support normal ESM tree shaking; language subpaths give predictable isolated imports. No dictionary is loaded automatically by the banner. No network request or dynamic locale loading is performed.
126
31
 
127
- For another renderer, use the framework-independent parser with an explicit allowlist:
32
+ Supported codes: `bg`, `cs`, `da`, `de`, `el`, `en`, `es`, `et`, `fi`, `fr`, `ga`, `hr`, `hu`, `it`, `lt`, `lv`, `mt`, `nl`, `pl`, `pt`, `ro`, `ru`, `sk`, `sl`, `sv`. Portuguese uses European wording.
128
33
 
129
- ```ts
130
- import { parseMessage } from '@peax/consent-banner-locales'
34
+ ## Copy and fallback
131
35
 
132
- const parts = parseMessage('Read <cookiePolicy>our policy</cookiePolicy>.', ['cookiePolicy'])
133
- // Text/link parts in source order; your renderer supplies the URL and elements.
134
- ```
36
+ Banner fields: `title`, `collapsedText`, `acceptAllLabel`, `rejectAllLabel`, `customizePreferencesLabel`, `preferencesTitle`, `closePreferencesLabel`, `applyPreferencesLabel`, and `cookiePolicyLabel`. Optional `preferencesText` has no bundled default. `collapsedText` includes a `<cookiePolicy>` placeholder; the application supplies its URL through `cookiePolicyUrl`.
135
37
 
136
- | Parser behavior | Contract |
137
- | --- | --- |
138
- | Allowed flat placeholders | Become link parts with `name`, `value`, and source `offset` |
139
- | Ordinary text | Becomes text parts with `value` and source `offset` |
140
- | Unknown, nested, attributed, or malformed markup | Remains literal text |
141
- | HTML entities | Remain literal; no decoding |
142
- | Additional placeholder names | Must be allowlisted and handled by your renderer |
38
+ Preference fields are `title` and `text` for essential, analytics, marketing, functional, personalization, social, and security. Only essential, analytics, and marketing are visible by default. Selection and checked/disabled state belong to the banner/application, not dictionaries.
143
39
 
144
- Every part has a `type` discriminant (`'text'` or `'link'`). The parser has no built-in placeholder names and no HTML rendering behavior.
40
+ The shared resolver matches exact tags, then their base language, ignoring case and surrounding whitespace. Application content overrides win over selected dictionary fields, which fall back independently to built-in shared English. Customized `locales.en` is not another language's fallback. Custom languages and partial dictionaries are supported through the banner's `locales` prop.
145
41
 
146
- ## Exports
42
+ ## Exports and migration
147
43
 
148
- | Entry | Values | Types |
149
- | --- | --- | --- |
150
- | `@peax/consent-banner-locales` | `getMessages`, `getPreferencesMessages`, `resolveLocale`, `parseMessage`, `en`, `de`, `enPreferences`, `dePreferences` | `BannerMessages`, `BannerLocale`, `PreferencesMessages`, `BuiltInPreferencesSectionId`, `MessagePart` |
151
- | `@peax/consent-banner-locales/en` | `en`, `enPreferences` | — |
152
- | `@peax/consent-banner-locales/de` | `de`, `dePreferences` | — |
44
+ | Entry | Exports |
45
+ | --- | --- |
46
+ | `@peax/consent-banner-locales` | Default complete map and named `en`, `de`, `fr`, etc. |
47
+ | `@peax/consent-banner-locales/<code>` | Named composite dictionary, e.g. `de` |
153
48
 
154
- Packages use ESM with TypeScript declarations. Only declared exports are public; there are no supported deep imports.
49
+ Replace `dePreferences` with `de.preferences` and old banner fields with `de.banner`. Parser/types now live in `@peax/consent-banner-shared`. The old package-bound resolvers are removed; shared `resolveLocaleContent` accepts the application's map. Pass dictionaries explicitly to Banner after upgrading.
155
50
 
156
- ## Continue
51
+ The package publishes ESM and self-contained TypeScript declarations with no runtime dependencies. Only declared export paths are public.
157
52
 
158
- - [React banner](https://github.com/peaxco/consent/blob/main/packages/consent-banner-react/README.md) — display these messages and handle user choices.
159
- - [Theme](https://github.com/peaxco/consent/blob/main/packages/consent-banner-theme/README.md) — change the visual presentation.
160
- - [Localization guide](https://github.com/peaxco/consent/blob/main/docs/localization.md) — integration details and authoring conventions.
53
+ See the [localization guide](https://github.com/peaxco/consent/blob/main/docs/localization.md) for custom maps, Vue examples, fallback, and migration details.
package/dist/bg.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ declare type BannerMessages = Readonly<{
2
+ title: string;
3
+ collapsedText: string;
4
+ acceptAllLabel: string;
5
+ rejectAllLabel: string;
6
+ customizePreferencesLabel: string;
7
+ preferencesTitle: string;
8
+ preferencesText?: string;
9
+ closePreferencesLabel: string;
10
+ applyPreferencesLabel: string;
11
+ cookiePolicyLabel: string;
12
+ }>;
13
+
14
+ export declare const bg: LocaleMessages;
15
+
16
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
17
+
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
23
+
24
+ declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
25
+ title: string;
26
+ text: string;
27
+ }>>>;
28
+
29
+ export { }
package/dist/bg.js ADDED
@@ -0,0 +1,46 @@
1
+ //#region src/bg.ts
2
+ var e = {
3
+ banner: {
4
+ title: "Използваме бисквитки",
5
+ collapsedText: "Използваме бисквитки, за да разберем как използвате съдържанието ни и да подобрим преживяването ви. Прочетете нашата <cookiePolicy>политика за бисквитките</cookiePolicy>.",
6
+ acceptAllLabel: "Приемане на всички",
7
+ rejectAllLabel: "Отхвърляне на всички",
8
+ customizePreferencesLabel: "Персонализиране на настройките",
9
+ preferencesTitle: "Настройки за бисквитките",
10
+ closePreferencesLabel: "Затваряне на настройките",
11
+ applyPreferencesLabel: "Прилагане на настройките",
12
+ cookiePolicyLabel: "Политика за бисквитките"
13
+ },
14
+ preferences: {
15
+ essential: {
16
+ title: "Необходими",
17
+ text: "Необходимите бисквитки осигуряват правилното функциониране на уебсайта. Те са задължителни и не могат да бъдат изключени."
18
+ },
19
+ analytics: {
20
+ title: "Анализ",
21
+ text: "Аналитичните бисквитки ни помагат да разберем ефективността и използването на уебсайта, за да подобрим преживяването ви."
22
+ },
23
+ marketing: {
24
+ title: "Маркетинг",
25
+ text: "Маркетинговите бисквитки се използват за показване на подходящи реклами и измерване на ефективността на рекламните кампании."
26
+ },
27
+ functional: {
28
+ title: "Функционални",
29
+ text: "Функционалните бисквитки позволяват допълнителни функции на уебсайта, като вградени видеоклипове и чат на живо."
30
+ },
31
+ personalization: {
32
+ title: "Персонализация",
33
+ text: "Бисквитките за персонализация запомнят предпочитанията ви и адаптират съдържанието и препоръките към интересите ви."
34
+ },
35
+ social: {
36
+ title: "Социални мрежи",
37
+ text: "Бисквитките за социални мрежи позволяват споделяне и вградено съдържание от социални платформи. Тези платформи могат да ги използват, за да проследяват активността ви в различни уебсайтове."
38
+ },
39
+ security: {
40
+ title: "Сигурност",
41
+ text: "Бисквитките за сигурност поддържат допълнителни функции за откриване на измами и защита по избор. Бисквитките, необходими за основната сигурност на уебсайта, са включени в категорията Необходими."
42
+ }
43
+ }
44
+ };
45
+ //#endregion
46
+ export { e as bg };
package/dist/cs.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ declare type BannerMessages = Readonly<{
2
+ title: string;
3
+ collapsedText: string;
4
+ acceptAllLabel: string;
5
+ rejectAllLabel: string;
6
+ customizePreferencesLabel: string;
7
+ preferencesTitle: string;
8
+ preferencesText?: string;
9
+ closePreferencesLabel: string;
10
+ applyPreferencesLabel: string;
11
+ cookiePolicyLabel: string;
12
+ }>;
13
+
14
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
15
+
16
+ export declare const cs: LocaleMessages;
17
+
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
23
+
24
+ declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
25
+ title: string;
26
+ text: string;
27
+ }>>>;
28
+
29
+ export { }
package/dist/cs.js ADDED
@@ -0,0 +1,46 @@
1
+ //#region src/cs.ts
2
+ var e = {
3
+ banner: {
4
+ title: "Používáme soubory cookie",
5
+ collapsedText: "Používáme soubory cookie, abychom pochopili, jak používáte náš obsah, a zlepšili vaše zkušenosti. Přečtěte si naše <cookiePolicy>zásady používání souborů cookie</cookiePolicy>.",
6
+ acceptAllLabel: "Přijmout vše",
7
+ rejectAllLabel: "Odmítnout vše",
8
+ customizePreferencesLabel: "Upravit předvolby",
9
+ preferencesTitle: "Předvolby souborů cookie",
10
+ closePreferencesLabel: "Zavřít předvolby",
11
+ applyPreferencesLabel: "Použít předvolby",
12
+ cookiePolicyLabel: "Zásady používání souborů cookie"
13
+ },
14
+ preferences: {
15
+ essential: {
16
+ title: "Nezbytné",
17
+ text: "Nezbytné soubory cookie zajišťují správné fungování webu. Jsou nutné a nelze je vypnout."
18
+ },
19
+ analytics: {
20
+ title: "Analytika",
21
+ text: "Analytické soubory cookie nám pomáhají porozumět výkonu a používání webu a zlepšovat vaše zkušenosti."
22
+ },
23
+ marketing: {
24
+ title: "Marketing",
25
+ text: "Marketingové soubory cookie slouží k zobrazování relevantních reklam a měření účinnosti reklamních kampaní."
26
+ },
27
+ functional: {
28
+ title: "Funkční",
29
+ text: "Funkční soubory cookie umožňují volitelné funkce webu, například vložená videa a živý chat."
30
+ },
31
+ personalization: {
32
+ title: "Personalizace",
33
+ text: "Personalizační soubory cookie si pamatují vaše předvolby a přizpůsobují obsah a doporučení vašim zájmům."
34
+ },
35
+ social: {
36
+ title: "Sociální sítě",
37
+ text: "Soubory cookie sociálních sítí umožňují sdílení a vložený obsah ze sociálních platforem. Tyto platformy je mohou používat ke sledování vaší aktivity na různých webech."
38
+ },
39
+ security: {
40
+ title: "Zabezpečení",
41
+ text: "Bezpečnostní soubory cookie podporují volitelné odhalování podvodů a další ochranné funkce. Soubory cookie nutné pro základní zabezpečení webu patří do kategorie Nezbytné."
42
+ }
43
+ }
44
+ };
45
+ //#endregion
46
+ export { e as cs };
package/dist/da.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ declare type BannerMessages = Readonly<{
2
+ title: string;
3
+ collapsedText: string;
4
+ acceptAllLabel: string;
5
+ rejectAllLabel: string;
6
+ customizePreferencesLabel: string;
7
+ preferencesTitle: string;
8
+ preferencesText?: string;
9
+ closePreferencesLabel: string;
10
+ applyPreferencesLabel: string;
11
+ cookiePolicyLabel: string;
12
+ }>;
13
+
14
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
15
+
16
+ export declare const da: LocaleMessages;
17
+
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
23
+
24
+ declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
25
+ title: string;
26
+ text: string;
27
+ }>>>;
28
+
29
+ export { }
package/dist/da.js ADDED
@@ -0,0 +1,46 @@
1
+ //#region src/da.ts
2
+ var e = {
3
+ banner: {
4
+ title: "Vi bruger cookies",
5
+ collapsedText: "Vi bruger cookies til at forstå, hvordan du bruger vores indhold, og forbedre din oplevelse. Læs vores <cookiePolicy>cookiepolitik</cookiePolicy>.",
6
+ acceptAllLabel: "Acceptér alle",
7
+ rejectAllLabel: "Afvis alle",
8
+ customizePreferencesLabel: "Tilpas indstillinger",
9
+ preferencesTitle: "Cookieindstillinger",
10
+ closePreferencesLabel: "Luk indstillinger",
11
+ applyPreferencesLabel: "Anvend indstillinger",
12
+ cookiePolicyLabel: "Cookiepolitik"
13
+ },
14
+ preferences: {
15
+ essential: {
16
+ title: "Nødvendige",
17
+ text: "Nødvendige cookies sikrer, at hjemmesiden fungerer korrekt. De er nødvendige og kan ikke deaktiveres."
18
+ },
19
+ analytics: {
20
+ title: "Analyse",
21
+ text: "Analysecookies hjælper os med at forstå hjemmesidens ydeevne og brug, så vi kan forbedre din oplevelse."
22
+ },
23
+ marketing: {
24
+ title: "Marketing",
25
+ text: "Marketingcookies bruges til at vise relevante annoncer og måle effektiviteten af reklamekampagner."
26
+ },
27
+ functional: {
28
+ title: "Funktionelle",
29
+ text: "Funktionelle cookies muliggør valgfrie funktioner på hjemmesiden, såsom indlejrede videoer og livechat."
30
+ },
31
+ personalization: {
32
+ title: "Personalisering",
33
+ text: "Personaliseringscookies husker dine præferencer og tilpasser indhold og anbefalinger til dine interesser."
34
+ },
35
+ social: {
36
+ title: "Sociale medier",
37
+ text: "Cookies fra sociale medier muliggør deling og indlejret indhold fra sociale platforme. Disse platforme kan bruge dem til at spore din aktivitet på tværs af hjemmesider."
38
+ },
39
+ security: {
40
+ title: "Sikkerhed",
41
+ text: "Sikkerhedscookies understøtter valgfri registrering af svindel og yderligere beskyttelsesfunktioner. Cookies, der er nødvendige for hjemmesidens grundlæggende sikkerhed, hører under Nødvendige."
42
+ }
43
+ }
44
+ };
45
+ //#endregion
46
+ export { e as da };
package/dist/de.d.ts CHANGED
@@ -11,11 +11,15 @@ declare type BannerMessages = Readonly<{
11
11
  cookiePolicyLabel: string;
12
12
  }>;
13
13
 
14
- declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing';
14
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
15
15
 
16
- export declare const de: BannerMessages;
16
+ export declare const de: LocaleMessages;
17
17
 
18
- export declare const dePreferences: PreferencesMessages;
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
19
23
 
20
24
  declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
21
25
  title: string;
package/dist/de.js CHANGED
@@ -1,27 +1,46 @@
1
1
  //#region src/de.ts
2
2
  var e = {
3
- title: "Wir verwenden Cookies",
4
- collapsedText: "Wir verwenden Cookies, um zu verstehen, wie Sie unsere Inhalte nutzen, und Ihr Nutzungserlebnis zu verbessern. Weitere Informationen finden Sie in unserer <cookiePolicy>Cookie-Richtlinie</cookiePolicy>.",
5
- acceptAllLabel: "Alle akzeptieren",
6
- rejectAllLabel: "Alle ablehnen",
7
- customizePreferencesLabel: "Einstellungen anpassen",
8
- preferencesTitle: "Cookie-Einstellungen",
9
- closePreferencesLabel: "Einstellungen schließen",
10
- applyPreferencesLabel: "Einstellungen übernehmen",
11
- cookiePolicyLabel: "Cookie-Richtlinie"
12
- }, t = {
13
- essential: {
14
- title: "Erforderlich",
15
- text: "Erforderliche Cookies gewährleisten die ordnungsgemäße Funktion der Website. Sie sind notwendig und können nicht deaktiviert werden."
3
+ banner: {
4
+ title: "Wir verwenden Cookies",
5
+ collapsedText: "Wir verwenden Cookies, um zu verstehen, wie Sie unsere Inhalte nutzen, und Ihr Nutzungserlebnis zu verbessern. Weitere Informationen finden Sie in unserer <cookiePolicy>Cookie-Richtlinie</cookiePolicy>.",
6
+ acceptAllLabel: "Alle akzeptieren",
7
+ rejectAllLabel: "Alle ablehnen",
8
+ customizePreferencesLabel: "Einstellungen anpassen",
9
+ preferencesTitle: "Cookie-Einstellungen",
10
+ closePreferencesLabel: "Einstellungen schließen",
11
+ applyPreferencesLabel: "Einstellungen übernehmen",
12
+ cookiePolicyLabel: "Cookie-Richtlinie"
16
13
  },
17
- analytics: {
18
- title: "Analyse",
19
- text: "Analyse-Cookies helfen uns, die Leistung und Nutzung unserer Website zu verstehen und Ihr Nutzungserlebnis zu verbessern."
20
- },
21
- marketing: {
22
- title: "Marketing",
23
- text: "Marketing-Cookies werden verwendet, um relevante Werbung anzuzeigen und die Wirksamkeit von Werbekampagnen zu messen."
14
+ preferences: {
15
+ essential: {
16
+ title: "Erforderlich",
17
+ text: "Erforderliche Cookies gewährleisten die ordnungsgemäße Funktion der Website. Sie sind notwendig und können nicht deaktiviert werden."
18
+ },
19
+ analytics: {
20
+ title: "Analyse",
21
+ text: "Analyse-Cookies helfen uns, die Leistung und Nutzung unserer Website zu verstehen und Ihr Nutzungserlebnis zu verbessern."
22
+ },
23
+ marketing: {
24
+ title: "Marketing",
25
+ text: "Marketing-Cookies werden verwendet, um relevante Werbung anzuzeigen und die Wirksamkeit von Werbekampagnen zu messen."
26
+ },
27
+ functional: {
28
+ title: "Funktional",
29
+ text: "Funktionale Cookies ermöglichen optionale Website-Funktionen wie eingebettete Videos und Live-Chats."
30
+ },
31
+ personalization: {
32
+ title: "Personalisierung",
33
+ text: "Personalisierungs-Cookies speichern Ihre Präferenzen und passen Inhalte und Empfehlungen an Ihre Interessen an."
34
+ },
35
+ social: {
36
+ title: "Soziale Medien",
37
+ text: "Social-Media-Cookies ermöglichen das Teilen von Inhalten und eingebettete Inhalte sozialer Plattformen. Diese Plattformen können damit Ihre Aktivitäten über Websites hinweg verfolgen."
38
+ },
39
+ security: {
40
+ title: "Sicherheit",
41
+ text: "Sicherheits-Cookies unterstützen optionale Betrugserkennung und zusätzliche Schutzfunktionen. Für die grundlegende Website-Sicherheit notwendige Cookies gehören zur Kategorie „Erforderlich“."
42
+ }
24
43
  }
25
44
  };
26
45
  //#endregion
27
- export { e as de, t as dePreferences };
46
+ export { e as de };
package/dist/el.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ declare type BannerMessages = Readonly<{
2
+ title: string;
3
+ collapsedText: string;
4
+ acceptAllLabel: string;
5
+ rejectAllLabel: string;
6
+ customizePreferencesLabel: string;
7
+ preferencesTitle: string;
8
+ preferencesText?: string;
9
+ closePreferencesLabel: string;
10
+ applyPreferencesLabel: string;
11
+ cookiePolicyLabel: string;
12
+ }>;
13
+
14
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
15
+
16
+ export declare const el: LocaleMessages;
17
+
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
23
+
24
+ declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
25
+ title: string;
26
+ text: string;
27
+ }>>>;
28
+
29
+ export { }
package/dist/el.js ADDED
@@ -0,0 +1,46 @@
1
+ //#region src/el.ts
2
+ var e = {
3
+ banner: {
4
+ title: "Χρησιμοποιούμε cookies",
5
+ collapsedText: "Χρησιμοποιούμε cookies για να κατανοήσουμε πώς χρησιμοποιείτε το περιεχόμενό μας και να βελτιώσουμε την εμπειρία σας. Διαβάστε την <cookiePolicy>πολιτική cookies</cookiePolicy> μας.",
6
+ acceptAllLabel: "Αποδοχή όλων",
7
+ rejectAllLabel: "Απόρριψη όλων",
8
+ customizePreferencesLabel: "Προσαρμογή προτιμήσεων",
9
+ preferencesTitle: "Προτιμήσεις cookies",
10
+ closePreferencesLabel: "Κλείσιμο προτιμήσεων",
11
+ applyPreferencesLabel: "Εφαρμογή προτιμήσεων",
12
+ cookiePolicyLabel: "Πολιτική cookies"
13
+ },
14
+ preferences: {
15
+ essential: {
16
+ title: "Απαραίτητα",
17
+ text: "Τα απαραίτητα cookies διασφαλίζουν τη σωστή λειτουργία του ιστοτόπου. Είναι αναγκαία και δεν μπορούν να απενεργοποιηθούν."
18
+ },
19
+ analytics: {
20
+ title: "Ανάλυση",
21
+ text: "Τα cookies ανάλυσης μας βοηθούν να κατανοήσουμε την απόδοση και τη χρήση του ιστοτόπου, ώστε να βελτιώσουμε την εμπειρία σας."
22
+ },
23
+ marketing: {
24
+ title: "Μάρκετινγκ",
25
+ text: "Τα cookies μάρκετινγκ χρησιμοποιούνται για την προβολή σχετικών διαφημίσεων και τη μέτρηση της αποτελεσματικότητας των διαφημιστικών εκστρατειών."
26
+ },
27
+ functional: {
28
+ title: "Λειτουργικά",
29
+ text: "Τα λειτουργικά cookies επιτρέπουν προαιρετικές λειτουργίες του ιστοτόπου, όπως ενσωματωμένα βίντεο και ζωντανή συνομιλία."
30
+ },
31
+ personalization: {
32
+ title: "Εξατομίκευση",
33
+ text: "Τα cookies εξατομίκευσης αποθηκεύουν τις προτιμήσεις σας και προσαρμόζουν το περιεχόμενο και τις προτάσεις στα ενδιαφέροντά σας."
34
+ },
35
+ social: {
36
+ title: "Κοινωνικά δίκτυα",
37
+ text: "Τα cookies κοινωνικών δικτύων επιτρέπουν την κοινοποίηση και το ενσωματωμένο περιεχόμενο από κοινωνικές πλατφόρμες. Οι πλατφόρμες αυτές ενδέχεται να τα χρησιμοποιούν για να παρακολουθούν τη δραστηριότητά σας σε διάφορους ιστοτόπους."
38
+ },
39
+ security: {
40
+ title: "Ασφάλεια",
41
+ text: "Τα cookies ασφάλειας υποστηρίζουν την προαιρετική ανίχνευση απάτης και πρόσθετες λειτουργίες προστασίας. Τα cookies που απαιτούνται για τη βασική ασφάλεια του ιστοτόπου περιλαμβάνονται στα Απαραίτητα."
42
+ }
43
+ }
44
+ };
45
+ //#endregion
46
+ export { e as el };
package/dist/en.d.ts CHANGED
@@ -11,11 +11,15 @@ declare type BannerMessages = Readonly<{
11
11
  cookiePolicyLabel: string;
12
12
  }>;
13
13
 
14
- declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing';
14
+ declare type BuiltInPreferencesSectionId = 'essential' | 'analytics' | 'marketing' | 'functional' | 'personalization' | 'social' | 'security';
15
15
 
16
- export declare const en: BannerMessages;
16
+ export declare const en: LocaleMessages;
17
17
 
18
- export declare const enPreferences: PreferencesMessages;
18
+ /** Complete copy shipped by a built-in language entry. */
19
+ declare type LocaleMessages = Readonly<{
20
+ banner: BannerMessages;
21
+ preferences: PreferencesMessages;
22
+ }>;
19
23
 
20
24
  declare type PreferencesMessages = Readonly<Record<BuiltInPreferencesSectionId, Readonly<{
21
25
  title: string;