@mk-kit/ui 0.47.0 → 0.48.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
@@ -114,10 +114,11 @@ Available: `core`, `forms`, `datetime`, `table`, `data`, `navigation`,
114
114
  `feedback`, `directives`, `dnd`, `media`, `icon`, `icon/extended` (the opt-in
115
115
  305-icon set), `button`, `checkbox`, `chip`, `context-menu`, `layout`, `chat`,
116
116
  `query-builder`, `dynamic-form`, `rich-text`, `block-editor`, plus `testing`
117
- (component harnesses for specs), `locales/pl` (the Polish string pack) and
118
- `embed` (ship components as shadow-DOM custom elements,
119
- <https://mk-kit.dev/embed>) — the last three are never re-exported from the
120
- umbrella. `sideEffects: false` throughout.
117
+ (component harnesses for specs), `locales/pl` · `locales/de` · `locales/uk` ·
118
+ `locales/es` · `locales/fr` (complete string packs) and `embed` (ship
119
+ components as shadow-DOM custom elements, <https://mk-kit.dev/embed>) —
120
+ harnesses, locales and embed are never re-exported from the umbrella.
121
+ `sideEffects: false` throughout.
121
122
 
122
123
  ## Theming
123
124
 
@@ -177,14 +178,20 @@ bootstrapApplication(AppRoot, {
177
178
  ```
178
179
 
179
180
  Complete translations are their own entry points, so an app carries only the
180
- locales it provides — today Polish:
181
+ locales it provides — Polish (`pl`), German (`de`), Ukrainian (`uk`),
182
+ Spanish (`es`) and French (`fr`):
181
183
 
182
184
  ```ts
183
185
  import { provideMkI18nPl } from '@mk-kit/ui/locales/pl';
186
+ // …or provideMkI18nDe / provideMkI18nUk / provideMkI18nEs / provideMkI18nFr
184
187
 
185
188
  providers: [provideMkI18nPl({ noData: 'Nic tu nie ma' })]; // overrides merge over the pack
186
189
  ```
187
190
 
191
+ Each pack ships with a conformance spec (full key coverage, shapes, CLDR
192
+ plural rules) — a new language is one file plus that spec; contributions
193
+ welcome.
194
+
188
195
  Overrides can be scoped to a component subtree for mixed-locale screens.
189
196
  Layout and arrow keys flip under `dir="rtl"`.
190
197
 
@@ -0,0 +1,494 @@
1
+ import { provideMkI18n } from '@mk-kit/ui/core';
2
+
3
+ /**
4
+ * Picks the German plural form for a count — CLDR's `de` rules for integers:
5
+ * `one` for 1, `other` for everything else.
6
+ *
7
+ * ```ts
8
+ * mkPluralDe(1, 'Ergebnis', 'Ergebnisse'); // 'Ergebnis'
9
+ * mkPluralDe(3, 'Ergebnis', 'Ergebnisse'); // 'Ergebnisse'
10
+ * ```
11
+ */
12
+ function mkPluralDe(count, one, other) {
13
+ return Math.abs(Math.trunc(count)) === 1 ? one : other;
14
+ }
15
+ const plural = mkPluralDe;
16
+ /** German month and weekday names (Sunday-first, as in `Intl`). */
17
+ const MK_DE_DATE_NAMES = {
18
+ months: [
19
+ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
20
+ 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember',
21
+ ],
22
+ monthsShort: [
23
+ 'Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni',
24
+ 'Juli', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dez.',
25
+ ],
26
+ weekdays: [
27
+ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag',
28
+ ],
29
+ weekdaysShort: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],
30
+ weekdaysNarrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
31
+ };
32
+ /** German validation messages rendered by `mk-form-field`. */
33
+ const MK_DE_VALIDATION = {
34
+ required: 'Dieses Feld ist erforderlich',
35
+ email: 'Geben Sie eine gültige E-Mail-Adresse ein',
36
+ min: ({ min }) => `Der Wert darf nicht kleiner als ${min} sein`,
37
+ max: ({ max }) => `Der Wert darf nicht größer als ${max} sein`,
38
+ minlength: ({ requiredLength }) => `Geben Sie mindestens ${requiredLength} ${plural(requiredLength, 'Zeichen', 'Zeichen')} ein`,
39
+ maxlength: ({ requiredLength }) => `Geben Sie höchstens ${requiredLength} ${plural(requiredLength, 'Zeichen', 'Zeichen')} ein`,
40
+ pattern: 'Geben Sie einen Wert im erwarteten Format ein',
41
+ mkMinDate: ({ min }) => `Das Datum darf nicht vor dem ${min.toLocaleDateString('de-DE')} liegen`,
42
+ mkMaxDate: ({ max }) => `Das Datum darf nicht nach dem ${max.toLocaleDateString('de-DE')} liegen`,
43
+ mkDateFilter: 'Dieses Datum ist nicht verfügbar',
44
+ mkDateRangeIncomplete: 'Wählen Sie ein Start- und ein Enddatum',
45
+ mkMinTime: ({ min }) => `Die Uhrzeit darf nicht vor ${min} liegen`,
46
+ mkMaxTime: ({ max }) => `Die Uhrzeit darf nicht nach ${max} liegen`,
47
+ mkMaxItems: ({ max }) => `Wählen Sie höchstens ${max} ${plural(max, 'Eintrag', 'Einträge')}`,
48
+ mkFileSize: ({ name, maxLabel }) => `Die Datei ${name} überschreitet ${maxLabel}`,
49
+ mkFileType: ({ name }) => `Die Datei ${name} hat einen unzulässigen Typ`,
50
+ cardNumber: 'Geben Sie eine gültige Kartennummer ein',
51
+ iban: ({ expectedLength }) => expectedLength
52
+ ? `Geben Sie eine gültige IBAN ein (${expectedLength} Zeichen)`
53
+ : 'Geben Sie eine gültige IBAN ein',
54
+ postalCode: ({ example }) => `Geben Sie eine gültige Postleitzahl ein, z. B. ${example}`,
55
+ taxId: ({ label, example }) => `Geben Sie eine gültige ${label} ein, z. B. ${example}`,
56
+ unknown: 'Ungültiger Wert',
57
+ };
58
+ /** German strings of the block editor's chrome. */
59
+ const MK_DE_BLOCK_EDITOR = {
60
+ addBlock: 'Block hinzufügen',
61
+ addFirstBlock: 'Ersten Block hinzufügen',
62
+ insertBlockHere: 'Block hier einfügen',
63
+ blockInserter: 'Blockauswahl',
64
+ searchBlocks: 'Blöcke suchen…',
65
+ blocks: 'Blöcke',
66
+ moveBlockUp: 'Block nach oben verschieben',
67
+ moveBlockDown: 'Block nach unten verschieben',
68
+ blockOptions: 'Blockoptionen',
69
+ duplicate: 'Duplizieren',
70
+ remove: 'Entfernen',
71
+ textFormatting: 'Textformatierung',
72
+ altText: 'Alternativtext',
73
+ caption: 'Bildunterschrift',
74
+ alignment: 'Ausrichtung',
75
+ replaceImage: 'Bild ersetzen',
76
+ imageUrl: 'Bild-URL',
77
+ externalContent: 'Externer Inhalt',
78
+ embedUrl: 'Einbettungs-URL',
79
+ columnSettings: 'Spalteneinstellungen',
80
+ columns: 'Spalten',
81
+ ratio: 'Verhältnis',
82
+ gap: 'Abstand',
83
+ align: 'Ausrichten',
84
+ justify: 'Verteilen',
85
+ headingLevel: (level) => `Überschrift Ebene ${level}`,
86
+ editorLabel: 'Blockeditor für Inhalte',
87
+ emptyBlockPlaceholder: 'Mit / einen Block wählen oder einfach lostippen…',
88
+ dragHandle: 'Ziehgriff',
89
+ turnInto: (label) => `Umwandeln in: ${label}`,
90
+ unknownBlock: (type) => `Unbekannter Block: ${type}`,
91
+ blockAdded: (label) => `Hinzugefügt: ${label}`,
92
+ blockDuplicated: 'Block dupliziert',
93
+ blockDeleted: (label) => `Entfernt: ${label}`,
94
+ blockMovedUp: 'Block nach oben verschoben',
95
+ blockMovedDown: 'Block nach unten verschoben',
96
+ turnedInto: (label) => `Umgewandelt in: ${label}`,
97
+ noBlocksMatch: (query) => `Keine Blöcke passen zu „${query}“.`,
98
+ groupText: 'Text',
99
+ groupMedia: 'Medien',
100
+ groupLayout: 'Layout',
101
+ blockParagraph: 'Absatz',
102
+ blockParagraphDesc: 'Text mit Inline-Formatierung.',
103
+ blockHeading: 'Überschrift',
104
+ blockHeadingDesc: 'Abschnittstitel (H1–H4).',
105
+ blockList: 'Liste',
106
+ blockListDesc: 'Aufzählung oder nummerierte Liste.',
107
+ blockQuote: 'Zitat',
108
+ blockQuoteDesc: 'Blockzitat mit optionaler Quelle.',
109
+ blockCode: 'Code',
110
+ blockCodeDesc: 'Formatierter Code in Festbreitenschrift.',
111
+ blockImage: 'Bild',
112
+ blockImageDesc: 'Bild hochladen oder verlinken.',
113
+ blockEmbed: 'Einbettung',
114
+ blockEmbedDesc: 'YouTube, Vimeo oder eine beliebige URL.',
115
+ blockButton: 'Button',
116
+ blockButtonDesc: 'Ein Call-to-Action-Button.',
117
+ blockDivider: 'Trennlinie',
118
+ blockDividerDesc: 'Eine horizontale Trennlinie.',
119
+ blockColumns: 'Spalten',
120
+ blockColumnsDesc: 'Responsives Mehrspaltenlayout.',
121
+ bold: 'Fett',
122
+ italic: 'Kursiv',
123
+ underline: 'Unterstrichen',
124
+ strikethrough: 'Durchgestrichen',
125
+ inlineCode: 'Inline-Code',
126
+ link: 'Link',
127
+ clearFormatting: 'Formatierung entfernen',
128
+ linkUrlPrompt: 'Link-URL',
129
+ editableText: 'Bearbeitbarer Text',
130
+ headingPlaceholder: (level) => `Überschrift ${level}`,
131
+ headingLevelGroup: 'Überschriftenebene',
132
+ listStyle: 'Listenstil',
133
+ bulleted: 'Aufzählung',
134
+ numbered: 'Nummeriert',
135
+ listItem: 'Listeneintrag',
136
+ quoteText: 'Zitattext',
137
+ citation: 'Quelle',
138
+ addCitation: '— Quelle hinzufügen',
139
+ codeLanguage: 'Codesprache',
140
+ codeLanguagePlaceholder: 'Sprache (optional)',
141
+ enterCode: 'Code eingeben…',
142
+ imageWidth: (percent) => `Breite: ${percent} %`,
143
+ uploading: 'Wird hochgeladen…',
144
+ dropImagePrompt: 'Bild hierher ziehen oder',
145
+ chooseFile: 'Datei wählen',
146
+ pasteImageUrl: '…oder eine Bild-URL einfügen',
147
+ notAnImage: 'Wählen Sie eine Bilddatei.',
148
+ uploadFailed: 'Hochladen fehlgeschlagen. Versuchen Sie es erneut oder fügen Sie eine URL ein.',
149
+ imageAdded: 'Bild hinzugefügt',
150
+ pasteEmbedUrl: 'URL von YouTube, Vimeo oder anderswo einfügen…',
151
+ embedFallbackNote: 'Diese URL lässt sich nicht einbetten; sie wird als Link angezeigt.',
152
+ embedTitle: (provider) => `${provider}-Einbettung`,
153
+ embedAdded: (provider) => `${provider}-Einbettung hinzugefügt`,
154
+ embeddedContent: 'Eingebetteter Inhalt',
155
+ buttonLabel: 'Beschriftung',
156
+ buttonLink: 'Link (href)',
157
+ buttonTone: 'Farbton',
158
+ buttonVariant: 'Variante',
159
+ buttonDefaultLabel: 'Klick mich',
160
+ alignLeft: 'Linksbündig',
161
+ alignCenter: 'Zentriert',
162
+ alignRight: 'Rechtsbündig',
163
+ tonePrimary: 'Primär',
164
+ toneNeutral: 'Neutral',
165
+ toneSuccess: 'Erfolg',
166
+ toneWarning: 'Warnung',
167
+ toneDanger: 'Gefahr',
168
+ toneInfo: 'Info',
169
+ variantSolid: 'Gefüllt',
170
+ variantSoft: 'Dezent',
171
+ variantOutline: 'Umrandet',
172
+ ratioEqual: 'Gleich',
173
+ alignStretch: 'Strecken',
174
+ alignTop: 'Oben',
175
+ alignMiddle: 'Mitte',
176
+ alignBottom: 'Unten',
177
+ justifyStart: 'Anfang',
178
+ justifyCenter: 'Mitte',
179
+ justifyEnd: 'Ende',
180
+ justifyBetween: 'Gleichmäßig',
181
+ };
182
+ const PASSWORD_STRENGTH_LABELS = ['Schwach', 'Schwach', 'Mittel', 'Gut', 'Stark'];
183
+ /**
184
+ * The complete German string map — every key of {@link MkI18nStrings},
185
+ * `locale: 'de-DE'` and `currency: 'EUR'` for the formatting pipes.
186
+ * Provide it whole with {@link provideMkI18nDe}, or pass it as the base of
187
+ * `provideMkI18n(overrides, MK_DE_I18N)`.
188
+ */
189
+ const MK_DE_I18N = {
190
+ locale: 'de-DE',
191
+ currency: 'EUR',
192
+ validation: MK_DE_VALIDATION,
193
+ close: 'Schließen',
194
+ dismiss: 'Verwerfen',
195
+ clear: 'Leeren',
196
+ confirm: 'Bestätigen',
197
+ cancel: 'Abbrechen',
198
+ ok: 'OK',
199
+ save: 'Speichern',
200
+ submit: 'Absenden',
201
+ edit: 'Bearbeiten',
202
+ remove: 'Entfernen',
203
+ removeItem: (name) => `${name} entfernen`,
204
+ empty: 'Leer',
205
+ optional: 'Optional',
206
+ filter: 'Filtern…',
207
+ confirmMessage: 'Sind Sie sicher?',
208
+ decrease: 'Verringern',
209
+ increase: 'Erhöhen',
210
+ loading: 'Wird geladen…',
211
+ noOptions: 'Keine Optionen',
212
+ noResults: 'Keine Ergebnisse',
213
+ noData: 'Keine Daten vorhanden',
214
+ resultsCount: (count) => `${count} ${plural(count, 'Ergebnis', 'Ergebnisse')}`,
215
+ previousPage: 'Zur vorherigen Seite',
216
+ nextPage: 'Zur nächsten Seite',
217
+ goToPage: (page) => `Zu Seite ${page}`,
218
+ paginationLabel: 'Seitennummerierung',
219
+ previousSlide: 'Vorherige Folie',
220
+ nextSlide: 'Nächste Folie',
221
+ goToSlide: (slide) => `Zu Folie ${slide}`,
222
+ carouselLabel: 'Karussell',
223
+ pauseSlideshow: 'Diashow anhalten',
224
+ playSlideshow: 'Diashow fortsetzen',
225
+ slideOf: (slide, total) => `Folie ${slide} von ${total}`,
226
+ dateNames: MK_DE_DATE_NAMES,
227
+ previousMonth: 'Vorheriger Monat',
228
+ nextMonth: 'Nächster Monat',
229
+ previousYear: 'Vorheriges Jahr',
230
+ nextYear: 'Nächstes Jahr',
231
+ previousYears: 'Vorherige Jahre',
232
+ nextYears: 'Nächste Jahre',
233
+ selectDate: 'Datum wählen…',
234
+ selectRange: 'Zeitraum wählen…',
235
+ selectTime: 'Uhrzeit wählen…',
236
+ selectMonth: 'Monat wählen…',
237
+ selectYear: 'Jahr wählen…',
238
+ selectWeek: 'Woche wählen…',
239
+ selectPlaceholder: 'Auswählen…',
240
+ chooseDate: 'Datumsauswahl',
241
+ chooseDateRange: 'Zeitraumauswahl',
242
+ chooseMonth: 'Monatsauswahl',
243
+ chooseYear: 'Jahresauswahl',
244
+ chooseWeek: 'Wochenauswahl',
245
+ openCalendar: 'Kalender öffnen',
246
+ openTimeList: 'Uhrzeitliste öffnen',
247
+ moreActions: 'Weitere Aktionen',
248
+ selectDateTime: 'Datum und Uhrzeit wählen…',
249
+ chooseDateTime: 'Datums- und Uhrzeitauswahl',
250
+ chooseTime: 'Uhrzeitauswahl',
251
+ openDateTimePicker: 'Datums- und Uhrzeitauswahl öffnen',
252
+ daySegment: 'Tag',
253
+ monthSegment: 'Monat',
254
+ yearSegment: 'Jahr',
255
+ countdownDays: 'Tage',
256
+ countdownHours: 'Std.',
257
+ countdownMinutes: 'Min.',
258
+ countdownSeconds: 'Sek.',
259
+ countdownFinished: 'Beendet',
260
+ dayEvents: (count, titles) => `${count} ${plural(count, 'Termin', 'Termine')}${titles ? `: ${titles}` : ''}`,
261
+ moreEvents: (count) => `+${count} weitere`,
262
+ selectAllRows: 'Alle Zeilen auswählen',
263
+ selectRow: (row) => (row ? `Zeile ${row} auswählen` : 'Zeile auswählen'),
264
+ expandHeader: 'Aufklappen',
265
+ expandRow: 'Zeile aufklappen',
266
+ collapseRow: 'Zeile zuklappen',
267
+ expandTreeRow: 'Unterzeilen anzeigen',
268
+ collapseTreeRow: 'Unterzeilen ausblenden',
269
+ expandGroup: 'Gruppe aufklappen',
270
+ collapseGroup: 'Gruppe zuklappen',
271
+ groupCount: (count) => `${count} ${plural(count, 'Eintrag', 'Einträge')}`,
272
+ resizeColumn: 'Spaltenbreite ändern',
273
+ columnWidth: (column, width) => `Breite der Spalte ${column}: ${width} px`,
274
+ columnMoved: (column, position, total) => `Spalte ${column} an Position ${position} von ${total} verschoben`,
275
+ editCell: 'Zum Bearbeiten Enter drücken',
276
+ cellSaved: (value) => `${value} gespeichert`,
277
+ sortedBy: (column, direction) => `Sortiert nach ${column}, ${direction === 'asc' ? 'aufsteigend' : 'absteigend'}`,
278
+ sortingCleared: (column) => `Sortierung nach ${column} aufgehoben`,
279
+ showPassword: 'Passwort anzeigen',
280
+ hidePassword: 'Passwort verbergen',
281
+ passwordRuleMinLength: (length) => `Mindestens ${length} ${plural(length, 'Zeichen', 'Zeichen')}`,
282
+ passwordRuleUppercase: 'Ein Großbuchstabe',
283
+ passwordRuleNumber: 'Eine Ziffer',
284
+ passwordRuleSymbol: 'Ein Sonderzeichen',
285
+ passwordStrength: (score) => PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],
286
+ passwordStrengthLabel: 'Passwortstärke:',
287
+ ruleMet: 'Erfüllt:',
288
+ ruleNotMet: 'Nicht erfüllt:',
289
+ oneTimeCode: 'Einmalcode',
290
+ otpDigit: (position) => `Ziffer ${position}`,
291
+ numericKeypadLabel: 'Ziffernblock',
292
+ keypadClear: 'Leeren',
293
+ keypadBackspace: 'Rücktaste',
294
+ keypadDigitsEntered: (count, length) => `${count} von ${length} Ziffern eingegeben`,
295
+ onScreenKeyboardLabel: 'Bildschirmtastatur',
296
+ keyboardShift: 'Umschalt',
297
+ keyboardSpace: 'Leertaste',
298
+ keyboardEnter: 'Eingabe',
299
+ keyboardAltLayer: 'Weitere Zeichen',
300
+ keyboardBaseLayer: 'Buchstaben',
301
+ ratingLabel: 'Bewertung',
302
+ ratingValueText: (value, max) => `${value} von ${max} ${plural(max, 'Stern', 'Sternen')}`,
303
+ minimum: 'Minimum',
304
+ maximum: 'Maximum',
305
+ chooseColor: 'Farbe wählen',
306
+ hexValue: 'Hexadezimalwert',
307
+ presetColors: 'Vordefinierte Farben',
308
+ chooseCountry: 'Land wählen',
309
+ searchCountries: 'Land suchen…',
310
+ phoneNumber: 'Telefonnummer',
311
+ postalCode: 'Postleitzahl',
312
+ amount: 'Betrag',
313
+ cardNumber: 'Kartennummer',
314
+ cardBrand: (brand) => `Kartentyp: ${brand}`,
315
+ iban: 'IBAN',
316
+ taxId: 'Steuernummer',
317
+ signature: 'Unterschrift',
318
+ jsonLabel: 'JSON',
319
+ logViewerLabel: 'Ereignisprotokoll',
320
+ logFollow: 'Folgen',
321
+ logCopyAll: 'Protokoll kopieren',
322
+ logWrapLines: 'Zeilen umbrechen',
323
+ orgChartLabel: 'Organigramm',
324
+ orgChartExpand: '{label} aufklappen',
325
+ orgChartCollapse: '{label} zuklappen',
326
+ chatLabel: 'Unterhaltung',
327
+ chatComposerLabel: 'Nachricht',
328
+ chatPlaceholder: 'Nachricht schreiben…',
329
+ chatSend: 'Senden',
330
+ chatStop: 'Generierung stoppen',
331
+ chatAttach: 'Dateien anhängen',
332
+ chatRemoveAttachment: 'Anhang entfernen',
333
+ chatAttachments: 'Anhänge',
334
+ chatSuggestions: 'Vorschläge',
335
+ chatCopy: 'Nachricht kopieren',
336
+ chatRetry: 'Erneut versuchen',
337
+ chatTyping: 'Schreibt…',
338
+ chatStreaming: 'Wird generiert…',
339
+ chatJumpToLatest: 'Zu den neuesten springen',
340
+ chatEmpty: 'Keine Nachrichten',
341
+ chatYou: 'Sie',
342
+ chatAssistant: 'Assistent',
343
+ chatToolRunning: 'Läuft',
344
+ chatToolDone: 'Fertig',
345
+ chatToolError: 'Fehlgeschlagen',
346
+ dynamicFormAdd: 'Hinzufügen',
347
+ dynamicFormRemove: (index) => `Eintrag ${index} entfernen`,
348
+ queryBuilderLabel: 'Filterbedingungen',
349
+ queryAddRule: 'Regel hinzufügen',
350
+ queryAddGroup: 'Gruppe hinzufügen',
351
+ queryRemoveRule: 'Regel entfernen',
352
+ queryRemoveGroup: 'Gruppe entfernen',
353
+ queryAnd: 'Und',
354
+ queryOr: 'Oder',
355
+ queryNot: 'Nicht',
356
+ queryField: 'Feld',
357
+ queryOperator: 'Operator',
358
+ queryValue: 'Wert',
359
+ queryValueFrom: 'Von',
360
+ queryValueTo: 'Bis',
361
+ queryEmptyGroup: 'Keine Bedingungen',
362
+ queryTrue: 'Wahr',
363
+ queryFalse: 'Falsch',
364
+ queryOpEq: 'ist gleich',
365
+ queryOpNeq: 'ist ungleich',
366
+ queryOpContains: 'enthält',
367
+ queryOpNotContains: 'enthält nicht',
368
+ queryOpStartsWith: 'beginnt mit',
369
+ queryOpEndsWith: 'endet mit',
370
+ queryOpGt: 'größer als',
371
+ queryOpGte: 'mindestens',
372
+ queryOpLt: 'kleiner als',
373
+ queryOpLte: 'höchstens',
374
+ queryOpBetween: 'zwischen',
375
+ queryOpIn: 'ist eines von',
376
+ queryOpNotIn: 'ist keines von',
377
+ queryOpBefore: 'vor',
378
+ queryOpAfter: 'nach',
379
+ queryOpEmpty: 'ist leer',
380
+ queryOpNotEmpty: 'ist nicht leer',
381
+ dialogMove: 'Fenster verschieben (Pfeiltasten; Pos1 setzt zurück)',
382
+ dialogResize: 'Fenstergröße ändern (Pfeiltasten; Pos1 setzt zurück)',
383
+ listboxFilter: 'Optionen filtern',
384
+ listboxEmpty: 'Keine passenden Optionen',
385
+ eventCalendarGrabbed: (title, from, to) => `${title} aufgenommen, ${from} – ${to}. Pfeiltasten verschieben, ` +
386
+ 'Umschalt mit Pfeil nach oben oder unten ändert das Ende, ' +
387
+ 'Enter speichert, Escape bricht ab.',
388
+ eventCalendarPosition: (title, day, from, to) => `${title}, ${day}, ${from} – ${to}.`,
389
+ eventCalendarMoved: (title, day, from, to) => `${title} verschoben auf ${day}, ${from} – ${to}.`,
390
+ eventCalendarResized: (title, to) => `${title} endet jetzt um ${to}.`,
391
+ eventCalendarEditCancelled: 'Verschieben abgebrochen. Der Termin behält seine ursprüngliche Zeit.',
392
+ eventCalendarMovableEvent: 'Verschiebbarer Termin',
393
+ previousImage: 'Vorheriges Bild',
394
+ nextImage: 'Nächstes Bild',
395
+ imageOf: (index, total) => `Bild ${index} von ${total}`,
396
+ viewImage: (alt) => (alt ? `${alt} ansehen` : 'Bild ansehen'),
397
+ imageFailed: 'Bild konnte nicht geladen werden',
398
+ zoom: 'Zoom',
399
+ zoomIn: 'Vergrößern',
400
+ zoomOut: 'Verkleinern',
401
+ mediaLibrary: 'Medienbibliothek',
402
+ dropzoneLabel: 'Dateien hierher ziehen oder klicken, um sie auszuwählen',
403
+ uploadFailed: 'Hochladen fehlgeschlagen',
404
+ retryUpload: 'Hochladen wiederholen',
405
+ errorSummaryTitle: 'Es gibt ein Problem',
406
+ available: 'Verfügbar',
407
+ selected: 'Ausgewählt',
408
+ transferSelected: (target) => `Ausgewählte verschieben nach: ${target}`,
409
+ transferAll: (target) => `Alle verschieben nach: ${target}`,
410
+ itemsMoved: (count, target) => `${count} ${plural(count, 'Eintrag', 'Einträge')} verschoben nach: ${target}`,
411
+ notificationsTitle: 'Benachrichtigungen',
412
+ allCaughtUp: 'Alles gelesen',
413
+ markAllRead: 'Alle als gelesen markieren',
414
+ notificationsUnread: (count) => `Benachrichtigungen, ${count} ${plural(count, 'ungelesene', 'ungelesene')}`,
415
+ unread: 'Ungelesen',
416
+ tourStepOf: (step, total) => `Schritt ${step} von ${total}`,
417
+ tourSkip: 'Überspringen',
418
+ tourPrevious: 'Zurück',
419
+ tourNext: 'Weiter',
420
+ tourDone: 'Fertig',
421
+ commandPalettePlaceholder: 'Befehl eingeben oder suchen…',
422
+ commandPaletteLabel: 'Befehlspalette',
423
+ stepCompleted: 'Abgeschlossen',
424
+ stepError: 'Enthält Fehler',
425
+ diffAddedLine: 'Hinzugefügt:',
426
+ diffRemovedLine: 'Entfernt:',
427
+ itemAdded: (name) => `${name} hinzugefügt`,
428
+ itemRemoved: (name) => `${name} entfernt`,
429
+ resizePanes: 'Bereichsgröße ändern',
430
+ backToTop: 'Nach oben',
431
+ breadcrumbLabel: 'Pfadnavigation',
432
+ fabLabel: 'Aktionen',
433
+ diffBefore: 'Vorher',
434
+ diffAfter: 'Nachher',
435
+ diffChanges: 'Änderungen',
436
+ skipToContent: 'Zum Inhalt springen',
437
+ primaryNav: 'Hauptnavigation',
438
+ dndPickedUp: (position, total) => `Aufgenommen. Eintrag ${position} von ${total}. ` +
439
+ 'Pfeiltasten verschieben, Leertaste oder Enter legt ab, Escape bricht ab.',
440
+ dndMoved: (position, total) => `Auf Position ${position} von ${total} verschoben.`,
441
+ dndMovedToList: (list, position, total) => `Verschoben nach: ${list}, Position ${position} von ${total}.`,
442
+ dndDropped: (position) => `Auf Position ${position} abgelegt.`,
443
+ dndCancelled: 'Verschieben abgebrochen. Der Eintrag ist zurück an seinem Platz.',
444
+ repeaterAddRow: 'Zeile hinzufügen',
445
+ repeaterRemoveRow: (index) => `Zeile ${index} entfernen`,
446
+ repeaterReorderRow: (index) => `Zeile ${index} umsortieren`,
447
+ repeaterRowMoved: (from, to) => `Zeile von Position ${from} auf Position ${to} verschoben.`,
448
+ fileRejectedType: (name) => `${name}: nicht unterstützter Dateityp`,
449
+ fileRejectedSize: (name, limit) => `${name}: überschreitet ${limit}`,
450
+ fileRejectedCount: (name, max) => `${name}: Limit von ${max} ${plural(max, 'Datei', 'Dateien')} überschritten`,
451
+ chartCategory: 'Kategorie',
452
+ chartValue: 'Wert',
453
+ chartSeries: 'Serie',
454
+ chartSlice: 'Segment',
455
+ chartStage: 'Stufe',
456
+ chartConversion: 'Konversion',
457
+ chartAxis: 'Achse',
458
+ chartShare: 'Anteil',
459
+ chartLabel: 'Beschriftung',
460
+ qrCodeLabel: (text) => `QR-Code: ${text}`,
461
+ sortableListLabel: 'Sortierbare Liste',
462
+ filterColumn: (column) => `${column} filtern`,
463
+ clearFilter: (column) => `Filter der Spalte ${column} leeren`,
464
+ filterAny: 'Alle',
465
+ filterMin: 'Min.',
466
+ blockEditor: MK_DE_BLOCK_EDITOR,
467
+ };
468
+ /**
469
+ * Provides the German strings — {@link MK_DE_I18N} with any `overrides`
470
+ * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like
471
+ * `provideMkI18n`).
472
+ *
473
+ * ```ts
474
+ * bootstrapApplication(App, {
475
+ * providers: [provideMkI18nDe({ noData: 'Nichts zu sehen' })],
476
+ * });
477
+ * ```
478
+ */
479
+ function provideMkI18nDe(overrides = {}) {
480
+ return provideMkI18n(overrides, MK_DE_I18N);
481
+ }
482
+
483
+ /**
484
+ * German locale pack for @mk-kit/ui — `@mk-kit/ui/locales/de`.
485
+ *
486
+ * Its own entry point so an app carries only the locales it provides.
487
+ */
488
+
489
+ /**
490
+ * Generated bundle index. Do not edit.
491
+ */
492
+
493
+ export { MK_DE_BLOCK_EDITOR, MK_DE_DATE_NAMES, MK_DE_I18N, MK_DE_VALIDATION, mkPluralDe, provideMkI18nDe };
494
+ //# sourceMappingURL=mk-kit-ui-locales-de.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mk-kit-ui-locales-de.mjs","sources":["../../../projects/mk-kit/locales/de/de.ts","../../../projects/mk-kit/locales/de/index.ts","../../../projects/mk-kit/locales/de/mk-kit-ui-locales-de.ts"],"sourcesContent":["import type { Provider } from '@angular/core';\nimport {\n type MkBlockEditorStrings,\n type MkDateNames,\n type MkI18nOverrides,\n type MkI18nStrings,\n type MkValidationStrings,\n provideMkI18n,\n} from '@mk-kit/ui/core';\n\n/**\n * Picks the German plural form for a count — CLDR's `de` rules for integers:\n * `one` for 1, `other` for everything else.\n *\n * ```ts\n * mkPluralDe(1, 'Ergebnis', 'Ergebnisse'); // 'Ergebnis'\n * mkPluralDe(3, 'Ergebnis', 'Ergebnisse'); // 'Ergebnisse'\n * ```\n */\nexport function mkPluralDe(count: number, one: string, other: string): string {\n return Math.abs(Math.trunc(count)) === 1 ? one : other;\n}\n\nconst plural = mkPluralDe;\n\n/** German month and weekday names (Sunday-first, as in `Intl`). */\nexport const MK_DE_DATE_NAMES: MkDateNames = {\n months: [\n 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',\n 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember',\n ],\n monthsShort: [\n 'Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni',\n 'Juli', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dez.',\n ],\n weekdays: [\n 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag',\n ],\n weekdaysShort: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n weekdaysNarrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n};\n\n/** German validation messages rendered by `mk-form-field`. */\nexport const MK_DE_VALIDATION: MkValidationStrings = {\n required: 'Dieses Feld ist erforderlich',\n email: 'Geben Sie eine gültige E-Mail-Adresse ein',\n min: ({ min }) => `Der Wert darf nicht kleiner als ${min} sein`,\n max: ({ max }) => `Der Wert darf nicht größer als ${max} sein`,\n minlength: ({ requiredLength }) =>\n `Geben Sie mindestens ${requiredLength} ${plural(requiredLength, 'Zeichen', 'Zeichen')} ein`,\n maxlength: ({ requiredLength }) =>\n `Geben Sie höchstens ${requiredLength} ${plural(requiredLength, 'Zeichen', 'Zeichen')} ein`,\n pattern: 'Geben Sie einen Wert im erwarteten Format ein',\n mkMinDate: ({ min }) =>\n `Das Datum darf nicht vor dem ${min.toLocaleDateString('de-DE')} liegen`,\n mkMaxDate: ({ max }) =>\n `Das Datum darf nicht nach dem ${max.toLocaleDateString('de-DE')} liegen`,\n mkDateFilter: 'Dieses Datum ist nicht verfügbar',\n mkDateRangeIncomplete: 'Wählen Sie ein Start- und ein Enddatum',\n mkMinTime: ({ min }) => `Die Uhrzeit darf nicht vor ${min} liegen`,\n mkMaxTime: ({ max }) => `Die Uhrzeit darf nicht nach ${max} liegen`,\n mkMaxItems: ({ max }) =>\n `Wählen Sie höchstens ${max} ${plural(max, 'Eintrag', 'Einträge')}`,\n mkFileSize: ({ name, maxLabel }) => `Die Datei ${name} überschreitet ${maxLabel}`,\n mkFileType: ({ name }) => `Die Datei ${name} hat einen unzulässigen Typ`,\n cardNumber: 'Geben Sie eine gültige Kartennummer ein',\n iban: ({ expectedLength }) =>\n expectedLength\n ? `Geben Sie eine gültige IBAN ein (${expectedLength} Zeichen)`\n : 'Geben Sie eine gültige IBAN ein',\n postalCode: ({ example }) => `Geben Sie eine gültige Postleitzahl ein, z. B. ${example}`,\n taxId: ({ label, example }) => `Geben Sie eine gültige ${label} ein, z. B. ${example}`,\n unknown: 'Ungültiger Wert',\n};\n\n/** German strings of the block editor's chrome. */\nexport const MK_DE_BLOCK_EDITOR: MkBlockEditorStrings = {\n addBlock: 'Block hinzufügen',\n addFirstBlock: 'Ersten Block hinzufügen',\n insertBlockHere: 'Block hier einfügen',\n blockInserter: 'Blockauswahl',\n searchBlocks: 'Blöcke suchen…',\n blocks: 'Blöcke',\n moveBlockUp: 'Block nach oben verschieben',\n moveBlockDown: 'Block nach unten verschieben',\n blockOptions: 'Blockoptionen',\n duplicate: 'Duplizieren',\n remove: 'Entfernen',\n textFormatting: 'Textformatierung',\n altText: 'Alternativtext',\n caption: 'Bildunterschrift',\n alignment: 'Ausrichtung',\n replaceImage: 'Bild ersetzen',\n imageUrl: 'Bild-URL',\n externalContent: 'Externer Inhalt',\n embedUrl: 'Einbettungs-URL',\n columnSettings: 'Spalteneinstellungen',\n columns: 'Spalten',\n ratio: 'Verhältnis',\n gap: 'Abstand',\n align: 'Ausrichten',\n justify: 'Verteilen',\n headingLevel: (level) => `Überschrift Ebene ${level}`,\n editorLabel: 'Blockeditor für Inhalte',\n emptyBlockPlaceholder: 'Mit / einen Block wählen oder einfach lostippen…',\n dragHandle: 'Ziehgriff',\n turnInto: (label) => `Umwandeln in: ${label}`,\n unknownBlock: (type) => `Unbekannter Block: ${type}`,\n blockAdded: (label) => `Hinzugefügt: ${label}`,\n blockDuplicated: 'Block dupliziert',\n blockDeleted: (label) => `Entfernt: ${label}`,\n blockMovedUp: 'Block nach oben verschoben',\n blockMovedDown: 'Block nach unten verschoben',\n turnedInto: (label) => `Umgewandelt in: ${label}`,\n noBlocksMatch: (query) => `Keine Blöcke passen zu „${query}“.`,\n groupText: 'Text',\n groupMedia: 'Medien',\n groupLayout: 'Layout',\n blockParagraph: 'Absatz',\n blockParagraphDesc: 'Text mit Inline-Formatierung.',\n blockHeading: 'Überschrift',\n blockHeadingDesc: 'Abschnittstitel (H1–H4).',\n blockList: 'Liste',\n blockListDesc: 'Aufzählung oder nummerierte Liste.',\n blockQuote: 'Zitat',\n blockQuoteDesc: 'Blockzitat mit optionaler Quelle.',\n blockCode: 'Code',\n blockCodeDesc: 'Formatierter Code in Festbreitenschrift.',\n blockImage: 'Bild',\n blockImageDesc: 'Bild hochladen oder verlinken.',\n blockEmbed: 'Einbettung',\n blockEmbedDesc: 'YouTube, Vimeo oder eine beliebige URL.',\n blockButton: 'Button',\n blockButtonDesc: 'Ein Call-to-Action-Button.',\n blockDivider: 'Trennlinie',\n blockDividerDesc: 'Eine horizontale Trennlinie.',\n blockColumns: 'Spalten',\n blockColumnsDesc: 'Responsives Mehrspaltenlayout.',\n bold: 'Fett',\n italic: 'Kursiv',\n underline: 'Unterstrichen',\n strikethrough: 'Durchgestrichen',\n inlineCode: 'Inline-Code',\n link: 'Link',\n clearFormatting: 'Formatierung entfernen',\n linkUrlPrompt: 'Link-URL',\n editableText: 'Bearbeitbarer Text',\n headingPlaceholder: (level) => `Überschrift ${level}`,\n headingLevelGroup: 'Überschriftenebene',\n listStyle: 'Listenstil',\n bulleted: 'Aufzählung',\n numbered: 'Nummeriert',\n listItem: 'Listeneintrag',\n quoteText: 'Zitattext',\n citation: 'Quelle',\n addCitation: '— Quelle hinzufügen',\n codeLanguage: 'Codesprache',\n codeLanguagePlaceholder: 'Sprache (optional)',\n enterCode: 'Code eingeben…',\n imageWidth: (percent) => `Breite: ${percent} %`,\n uploading: 'Wird hochgeladen…',\n dropImagePrompt: 'Bild hierher ziehen oder',\n chooseFile: 'Datei wählen',\n pasteImageUrl: '…oder eine Bild-URL einfügen',\n notAnImage: 'Wählen Sie eine Bilddatei.',\n uploadFailed: 'Hochladen fehlgeschlagen. Versuchen Sie es erneut oder fügen Sie eine URL ein.',\n imageAdded: 'Bild hinzugefügt',\n pasteEmbedUrl: 'URL von YouTube, Vimeo oder anderswo einfügen…',\n embedFallbackNote: 'Diese URL lässt sich nicht einbetten; sie wird als Link angezeigt.',\n embedTitle: (provider) => `${provider}-Einbettung`,\n embedAdded: (provider) => `${provider}-Einbettung hinzugefügt`,\n embeddedContent: 'Eingebetteter Inhalt',\n buttonLabel: 'Beschriftung',\n buttonLink: 'Link (href)',\n buttonTone: 'Farbton',\n buttonVariant: 'Variante',\n buttonDefaultLabel: 'Klick mich',\n alignLeft: 'Linksbündig',\n alignCenter: 'Zentriert',\n alignRight: 'Rechtsbündig',\n tonePrimary: 'Primär',\n toneNeutral: 'Neutral',\n toneSuccess: 'Erfolg',\n toneWarning: 'Warnung',\n toneDanger: 'Gefahr',\n toneInfo: 'Info',\n variantSolid: 'Gefüllt',\n variantSoft: 'Dezent',\n variantOutline: 'Umrandet',\n ratioEqual: 'Gleich',\n alignStretch: 'Strecken',\n alignTop: 'Oben',\n alignMiddle: 'Mitte',\n alignBottom: 'Unten',\n justifyStart: 'Anfang',\n justifyCenter: 'Mitte',\n justifyEnd: 'Ende',\n justifyBetween: 'Gleichmäßig',\n};\n\nconst PASSWORD_STRENGTH_LABELS = ['Schwach', 'Schwach', 'Mittel', 'Gut', 'Stark'];\n\n/**\n * The complete German string map — every key of {@link MkI18nStrings},\n * `locale: 'de-DE'` and `currency: 'EUR'` for the formatting pipes.\n * Provide it whole with {@link provideMkI18nDe}, or pass it as the base of\n * `provideMkI18n(overrides, MK_DE_I18N)`.\n */\nexport const MK_DE_I18N: MkI18nStrings = {\n locale: 'de-DE',\n currency: 'EUR',\n\n validation: MK_DE_VALIDATION,\n\n close: 'Schließen',\n dismiss: 'Verwerfen',\n clear: 'Leeren',\n confirm: 'Bestätigen',\n cancel: 'Abbrechen',\n ok: 'OK',\n save: 'Speichern',\n submit: 'Absenden',\n edit: 'Bearbeiten',\n remove: 'Entfernen',\n removeItem: (name) => `${name} entfernen`,\n empty: 'Leer',\n optional: 'Optional',\n filter: 'Filtern…',\n confirmMessage: 'Sind Sie sicher?',\n decrease: 'Verringern',\n increase: 'Erhöhen',\n\n loading: 'Wird geladen…',\n noOptions: 'Keine Optionen',\n noResults: 'Keine Ergebnisse',\n noData: 'Keine Daten vorhanden',\n resultsCount: (count) =>\n `${count} ${plural(count, 'Ergebnis', 'Ergebnisse')}`,\n\n previousPage: 'Zur vorherigen Seite',\n nextPage: 'Zur nächsten Seite',\n goToPage: (page) => `Zu Seite ${page}`,\n paginationLabel: 'Seitennummerierung',\n previousSlide: 'Vorherige Folie',\n nextSlide: 'Nächste Folie',\n goToSlide: (slide) => `Zu Folie ${slide}`,\n carouselLabel: 'Karussell',\n pauseSlideshow: 'Diashow anhalten',\n playSlideshow: 'Diashow fortsetzen',\n slideOf: (slide, total) => `Folie ${slide} von ${total}`,\n\n dateNames: MK_DE_DATE_NAMES,\n previousMonth: 'Vorheriger Monat',\n nextMonth: 'Nächster Monat',\n previousYear: 'Vorheriges Jahr',\n nextYear: 'Nächstes Jahr',\n previousYears: 'Vorherige Jahre',\n nextYears: 'Nächste Jahre',\n selectDate: 'Datum wählen…',\n selectRange: 'Zeitraum wählen…',\n selectTime: 'Uhrzeit wählen…',\n selectMonth: 'Monat wählen…',\n selectYear: 'Jahr wählen…',\n selectWeek: 'Woche wählen…',\n selectPlaceholder: 'Auswählen…',\n chooseDate: 'Datumsauswahl',\n chooseDateRange: 'Zeitraumauswahl',\n chooseMonth: 'Monatsauswahl',\n chooseYear: 'Jahresauswahl',\n chooseWeek: 'Wochenauswahl',\n openCalendar: 'Kalender öffnen',\n openTimeList: 'Uhrzeitliste öffnen',\n moreActions: 'Weitere Aktionen',\n selectDateTime: 'Datum und Uhrzeit wählen…',\n chooseDateTime: 'Datums- und Uhrzeitauswahl',\n chooseTime: 'Uhrzeitauswahl',\n openDateTimePicker: 'Datums- und Uhrzeitauswahl öffnen',\n daySegment: 'Tag',\n monthSegment: 'Monat',\n yearSegment: 'Jahr',\n countdownDays: 'Tage',\n countdownHours: 'Std.',\n countdownMinutes: 'Min.',\n countdownSeconds: 'Sek.',\n countdownFinished: 'Beendet',\n dayEvents: (count, titles) =>\n `${count} ${plural(count, 'Termin', 'Termine')}${titles ? `: ${titles}` : ''}`,\n moreEvents: (count) => `+${count} weitere`,\n\n selectAllRows: 'Alle Zeilen auswählen',\n selectRow: (row) => (row ? `Zeile ${row} auswählen` : 'Zeile auswählen'),\n expandHeader: 'Aufklappen',\n expandRow: 'Zeile aufklappen',\n collapseRow: 'Zeile zuklappen',\n expandTreeRow: 'Unterzeilen anzeigen',\n collapseTreeRow: 'Unterzeilen ausblenden',\n expandGroup: 'Gruppe aufklappen',\n collapseGroup: 'Gruppe zuklappen',\n groupCount: (count) =>\n `${count} ${plural(count, 'Eintrag', 'Einträge')}`,\n resizeColumn: 'Spaltenbreite ändern',\n columnWidth: (column, width) => `Breite der Spalte ${column}: ${width} px`,\n columnMoved: (column, position, total) =>\n `Spalte ${column} an Position ${position} von ${total} verschoben`,\n editCell: 'Zum Bearbeiten Enter drücken',\n cellSaved: (value) => `${value} gespeichert`,\n sortedBy: (column, direction) =>\n `Sortiert nach ${column}, ${direction === 'asc' ? 'aufsteigend' : 'absteigend'}`,\n sortingCleared: (column) => `Sortierung nach ${column} aufgehoben`,\n\n showPassword: 'Passwort anzeigen',\n hidePassword: 'Passwort verbergen',\n passwordRuleMinLength: (length) =>\n `Mindestens ${length} ${plural(length, 'Zeichen', 'Zeichen')}`,\n passwordRuleUppercase: 'Ein Großbuchstabe',\n passwordRuleNumber: 'Eine Ziffer',\n passwordRuleSymbol: 'Ein Sonderzeichen',\n passwordStrength: (score) =>\n PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],\n passwordStrengthLabel: 'Passwortstärke:',\n ruleMet: 'Erfüllt:',\n ruleNotMet: 'Nicht erfüllt:',\n oneTimeCode: 'Einmalcode',\n otpDigit: (position) => `Ziffer ${position}`,\n numericKeypadLabel: 'Ziffernblock',\n keypadClear: 'Leeren',\n keypadBackspace: 'Rücktaste',\n keypadDigitsEntered: (count, length) => `${count} von ${length} Ziffern eingegeben`,\n onScreenKeyboardLabel: 'Bildschirmtastatur',\n keyboardShift: 'Umschalt',\n keyboardSpace: 'Leertaste',\n keyboardEnter: 'Eingabe',\n keyboardAltLayer: 'Weitere Zeichen',\n keyboardBaseLayer: 'Buchstaben',\n ratingLabel: 'Bewertung',\n ratingValueText: (value, max) =>\n `${value} von ${max} ${plural(max, 'Stern', 'Sternen')}`,\n minimum: 'Minimum',\n maximum: 'Maximum',\n chooseColor: 'Farbe wählen',\n hexValue: 'Hexadezimalwert',\n presetColors: 'Vordefinierte Farben',\n chooseCountry: 'Land wählen',\n searchCountries: 'Land suchen…',\n phoneNumber: 'Telefonnummer',\n postalCode: 'Postleitzahl',\n amount: 'Betrag',\n cardNumber: 'Kartennummer',\n cardBrand: (brand) => `Kartentyp: ${brand}`,\n iban: 'IBAN',\n taxId: 'Steuernummer',\n signature: 'Unterschrift',\n jsonLabel: 'JSON',\n\n logViewerLabel: 'Ereignisprotokoll',\n logFollow: 'Folgen',\n logCopyAll: 'Protokoll kopieren',\n logWrapLines: 'Zeilen umbrechen',\n\n orgChartLabel: 'Organigramm',\n orgChartExpand: '{label} aufklappen',\n orgChartCollapse: '{label} zuklappen',\n\n chatLabel: 'Unterhaltung',\n chatComposerLabel: 'Nachricht',\n chatPlaceholder: 'Nachricht schreiben…',\n chatSend: 'Senden',\n chatStop: 'Generierung stoppen',\n chatAttach: 'Dateien anhängen',\n chatRemoveAttachment: 'Anhang entfernen',\n chatAttachments: 'Anhänge',\n chatSuggestions: 'Vorschläge',\n chatCopy: 'Nachricht kopieren',\n chatRetry: 'Erneut versuchen',\n chatTyping: 'Schreibt…',\n chatStreaming: 'Wird generiert…',\n chatJumpToLatest: 'Zu den neuesten springen',\n chatEmpty: 'Keine Nachrichten',\n chatYou: 'Sie',\n chatAssistant: 'Assistent',\n chatToolRunning: 'Läuft',\n chatToolDone: 'Fertig',\n chatToolError: 'Fehlgeschlagen',\n\n dynamicFormAdd: 'Hinzufügen',\n dynamicFormRemove: (index) => `Eintrag ${index} entfernen`,\n\n queryBuilderLabel: 'Filterbedingungen',\n queryAddRule: 'Regel hinzufügen',\n queryAddGroup: 'Gruppe hinzufügen',\n queryRemoveRule: 'Regel entfernen',\n queryRemoveGroup: 'Gruppe entfernen',\n queryAnd: 'Und',\n queryOr: 'Oder',\n queryNot: 'Nicht',\n queryField: 'Feld',\n queryOperator: 'Operator',\n queryValue: 'Wert',\n queryValueFrom: 'Von',\n queryValueTo: 'Bis',\n queryEmptyGroup: 'Keine Bedingungen',\n queryTrue: 'Wahr',\n queryFalse: 'Falsch',\n queryOpEq: 'ist gleich',\n queryOpNeq: 'ist ungleich',\n queryOpContains: 'enthält',\n queryOpNotContains: 'enthält nicht',\n queryOpStartsWith: 'beginnt mit',\n queryOpEndsWith: 'endet mit',\n queryOpGt: 'größer als',\n queryOpGte: 'mindestens',\n queryOpLt: 'kleiner als',\n queryOpLte: 'höchstens',\n queryOpBetween: 'zwischen',\n queryOpIn: 'ist eines von',\n queryOpNotIn: 'ist keines von',\n queryOpBefore: 'vor',\n queryOpAfter: 'nach',\n queryOpEmpty: 'ist leer',\n queryOpNotEmpty: 'ist nicht leer',\n\n dialogMove: 'Fenster verschieben (Pfeiltasten; Pos1 setzt zurück)',\n dialogResize: 'Fenstergröße ändern (Pfeiltasten; Pos1 setzt zurück)',\n\n listboxFilter: 'Optionen filtern',\n listboxEmpty: 'Keine passenden Optionen',\n\n eventCalendarGrabbed: (title, from, to) =>\n `${title} aufgenommen, ${from} – ${to}. Pfeiltasten verschieben, ` +\n 'Umschalt mit Pfeil nach oben oder unten ändert das Ende, ' +\n 'Enter speichert, Escape bricht ab.',\n eventCalendarPosition: (title, day, from, to) =>\n `${title}, ${day}, ${from} – ${to}.`,\n eventCalendarMoved: (title, day, from, to) =>\n `${title} verschoben auf ${day}, ${from} – ${to}.`,\n eventCalendarResized: (title, to) => `${title} endet jetzt um ${to}.`,\n eventCalendarEditCancelled:\n 'Verschieben abgebrochen. Der Termin behält seine ursprüngliche Zeit.',\n eventCalendarMovableEvent: 'Verschiebbarer Termin',\n\n previousImage: 'Vorheriges Bild',\n nextImage: 'Nächstes Bild',\n imageOf: (index, total) => `Bild ${index} von ${total}`,\n viewImage: (alt) => (alt ? `${alt} ansehen` : 'Bild ansehen'),\n imageFailed: 'Bild konnte nicht geladen werden',\n zoom: 'Zoom',\n zoomIn: 'Vergrößern',\n zoomOut: 'Verkleinern',\n mediaLibrary: 'Medienbibliothek',\n dropzoneLabel: 'Dateien hierher ziehen oder klicken, um sie auszuwählen',\n uploadFailed: 'Hochladen fehlgeschlagen',\n retryUpload: 'Hochladen wiederholen',\n errorSummaryTitle: 'Es gibt ein Problem',\n\n available: 'Verfügbar',\n selected: 'Ausgewählt',\n transferSelected: (target) => `Ausgewählte verschieben nach: ${target}`,\n transferAll: (target) => `Alle verschieben nach: ${target}`,\n itemsMoved: (count, target) =>\n `${count} ${plural(count, 'Eintrag', 'Einträge')} verschoben nach: ${target}`,\n\n notificationsTitle: 'Benachrichtigungen',\n allCaughtUp: 'Alles gelesen',\n markAllRead: 'Alle als gelesen markieren',\n notificationsUnread: (count) =>\n `Benachrichtigungen, ${count} ${plural(count, 'ungelesene', 'ungelesene')}`,\n unread: 'Ungelesen',\n tourStepOf: (step, total) => `Schritt ${step} von ${total}`,\n tourSkip: 'Überspringen',\n tourPrevious: 'Zurück',\n tourNext: 'Weiter',\n tourDone: 'Fertig',\n\n commandPalettePlaceholder: 'Befehl eingeben oder suchen…',\n commandPaletteLabel: 'Befehlspalette',\n stepCompleted: 'Abgeschlossen',\n stepError: 'Enthält Fehler',\n diffAddedLine: 'Hinzugefügt:',\n diffRemovedLine: 'Entfernt:',\n itemAdded: (name) => `${name} hinzugefügt`,\n itemRemoved: (name) => `${name} entfernt`,\n resizePanes: 'Bereichsgröße ändern',\n backToTop: 'Nach oben',\n breadcrumbLabel: 'Pfadnavigation',\n fabLabel: 'Aktionen',\n diffBefore: 'Vorher',\n diffAfter: 'Nachher',\n diffChanges: 'Änderungen',\n skipToContent: 'Zum Inhalt springen',\n primaryNav: 'Hauptnavigation',\n\n dndPickedUp: (position, total) =>\n `Aufgenommen. Eintrag ${position} von ${total}. ` +\n 'Pfeiltasten verschieben, Leertaste oder Enter legt ab, Escape bricht ab.',\n dndMoved: (position, total) => `Auf Position ${position} von ${total} verschoben.`,\n dndMovedToList: (list, position, total) =>\n `Verschoben nach: ${list}, Position ${position} von ${total}.`,\n dndDropped: (position) => `Auf Position ${position} abgelegt.`,\n dndCancelled: 'Verschieben abgebrochen. Der Eintrag ist zurück an seinem Platz.',\n\n repeaterAddRow: 'Zeile hinzufügen',\n repeaterRemoveRow: (index) => `Zeile ${index} entfernen`,\n repeaterReorderRow: (index) => `Zeile ${index} umsortieren`,\n repeaterRowMoved: (from, to) =>\n `Zeile von Position ${from} auf Position ${to} verschoben.`,\n\n fileRejectedType: (name) => `${name}: nicht unterstützter Dateityp`,\n fileRejectedSize: (name, limit) => `${name}: überschreitet ${limit}`,\n fileRejectedCount: (name, max) =>\n `${name}: Limit von ${max} ${plural(max, 'Datei', 'Dateien')} überschritten`,\n\n chartCategory: 'Kategorie',\n chartValue: 'Wert',\n chartSeries: 'Serie',\n chartSlice: 'Segment',\n chartStage: 'Stufe',\n chartConversion: 'Konversion',\n chartAxis: 'Achse',\n chartShare: 'Anteil',\n chartLabel: 'Beschriftung',\n\n qrCodeLabel: (text) => `QR-Code: ${text}`,\n\n sortableListLabel: 'Sortierbare Liste',\n filterColumn: (column) => `${column} filtern`,\n clearFilter: (column) => `Filter der Spalte ${column} leeren`,\n filterAny: 'Alle',\n filterMin: 'Min.',\n\n blockEditor: MK_DE_BLOCK_EDITOR,\n};\n\n/**\n * Provides the German strings — {@link MK_DE_I18N} with any `overrides`\n * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like\n * `provideMkI18n`).\n *\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideMkI18nDe({ noData: 'Nichts zu sehen' })],\n * });\n * ```\n */\nexport function provideMkI18nDe(overrides: MkI18nOverrides = {}): Provider {\n return provideMkI18n(overrides, MK_DE_I18N);\n}\n","/**\n * German locale pack for @mk-kit/ui — `@mk-kit/ui/locales/de`.\n *\n * Its own entry point so an app carries only the locales it provides.\n */\nexport * from './de';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}