@eifi1/ui-kit 0.24.1 → 0.25.1
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 +6 -6
- package/dist/chart.d.ts +2 -2
- package/dist/components/account-chips.d.ts +1 -1
- package/dist/components/amount-input.d.ts +2 -2
- package/dist/components/button-group.d.ts +2 -2
- package/dist/components/calculator.d.ts +2 -2
- package/dist/components/column-mapper.d.ts +28 -9
- package/dist/components/column-mapper.js +63 -77
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +2 -2
- package/dist/components/copy-button.d.ts +2 -2
- package/dist/components/danger-confirm.d.ts +2 -2
- package/dist/components/data-table-cells.d.ts +1 -1
- package/dist/components/data-table-filter-popover.d.ts +1 -1
- package/dist/components/data-table-filters.d.ts +1 -1
- package/dist/components/data-table-labels.d.ts +1 -1
- package/dist/components/data-table-pagination.d.ts +1 -1
- package/dist/components/data-table-pagination.js +6 -1
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table.d.ts +1 -1
- package/dist/components/data-table.js +7 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/facing-pair.d.ts +2 -2
- package/dist/components/file-button.d.ts +2 -2
- package/dist/components/file-dropzone.d.ts +2 -2
- package/dist/components/form-actions.d.ts +2 -2
- package/dist/components/iban-input.d.ts +2 -2
- package/dist/components/language-select.d.ts +2 -2
- package/dist/components/money-field.d.ts +2 -2
- package/dist/components/number-field.d.ts +2 -2
- package/dist/components/number-input.d.ts +2 -2
- package/dist/components/numpad-sheet.d.ts +2 -2
- package/dist/components/phone-input.d.ts +2 -2
- package/dist/components/series-chart.d.ts +2 -2
- package/dist/components/settings-fields.d.ts +2 -2
- package/dist/components/share-card.d.ts +2 -2
- package/dist/components/swipeable-row.js +1 -1
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/table.d.ts +35 -1
- package/dist/components/table.js +4 -0
- package/dist/components/table.js.map +1 -1
- package/dist/components/text-link.d.ts +2 -2
- package/dist/components/time-input.d.ts +2 -2
- package/dist/components/tooltip.d.ts +103 -14
- package/dist/components/tooltip.js +194 -57
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +9 -1
- package/dist/components/translation-review-editor.js +11 -1
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-labels.d.ts +10 -0
- package/dist/components/translation-review-labels.js +5 -1
- package/dist/components/translation-review-labels.js.map +1 -1
- package/dist/components/translation-review.d.ts +145 -8
- package/dist/components/translation-review.js +372 -91
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/ui.d.ts +2 -2
- package/dist/components/ui.js +55 -18
- package/dist/components/ui.js.map +1 -1
- package/dist/components/use-table-state.d.ts +1 -1
- package/dist/{data-table-labels-B7OdnM0S.d.ts → data-table-labels-Cdn1QS2k.d.ts} +21 -1
- package/dist/data-table.d.ts +1 -1
- package/dist/feedback/feedback-attachment.d.ts +2 -2
- package/dist/feedback/feedback-dialog.d.ts +2 -2
- package/dist/feedback/feedback-dialog.js +6 -1
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +2 -2
- package/dist/feedback/feedback-inbox.js +2 -0
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-thread.d.ts +2 -2
- package/dist/{feedback-DOwPu-Il.d.ts → feedback-BXKH-ToU.d.ts} +32 -3
- package/dist/feedback.d.ts +2 -2
- package/dist/hooks/use-body-scroll-lock.js +16 -0
- package/dist/hooks/use-body-scroll-lock.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +2 -2
- package/dist/hooks/use-search-param-state.d.ts +58 -3
- package/dist/hooks/use-search-param-state.js +107 -35
- package/dist/hooks/use-search-param-state.js.map +1 -1
- package/dist/i18n/defaults.d.ts +2 -2
- package/dist/i18n/german.d.ts +2 -2
- package/dist/i18n/german.js +8 -1
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +2 -2
- package/dist/i18n/languages.d.ts +2 -2
- package/dist/i18n/locales/de-CH.d.ts +2 -2
- package/dist/i18n/locales/en.d.ts +2 -2
- package/dist/i18n/locales/en.js +5 -1
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +2 -2
- package/dist/i18n/locales/es.js +7 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +2 -2
- package/dist/i18n/locales/fr.js +6 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +2 -2
- package/dist/i18n/locales/hu.js +9 -1
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +2 -2
- package/dist/i18n/locales/it.js +6 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +2 -2
- package/dist/i18n/locales/zh.js +6 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +2 -2
- package/dist/i18n/review.js +11 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/strip-fade.d.ts +84 -5
- package/dist/lib/strip-fade.js +109 -11
- package/dist/lib/strip-fade.js.map +1 -1
- package/dist/lib/translation-review.d.ts +45 -1
- package/dist/lib/translation-review.js +38 -1
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/rhf/fields.d.ts +2 -2
- package/dist/rhf/form.d.ts +2 -2
- package/dist/rhf.d.ts +2 -2
- package/dist/shell/app-shell.d.ts +2 -2
- package/dist/shell/top-bar-brand.d.ts +2 -2
- package/dist/shell.d.ts +2 -2
- package/dist/wizard/stepper-nav.d.ts +2 -2
- package/dist/wizard.d.ts +2 -2
- package/package.json +1 -1
- package/src/components/column-mapper.tsx +120 -113
- package/src/components/data-table-pagination.tsx +10 -1
- package/src/components/data-table.tsx +34 -1
- package/src/components/swipeable-row.tsx +1 -1
- package/src/components/table.tsx +39 -0
- package/src/components/tooltip.tsx +487 -104
- package/src/components/translation-review-editor.tsx +21 -1
- package/src/components/translation-review-labels.ts +17 -0
- package/src/components/translation-review.tsx +657 -109
- package/src/components/ui.tsx +104 -4
- package/src/feedback/feedback-dialog.tsx +21 -0
- package/src/feedback/feedback-inbox.tsx +19 -2
- package/src/hooks/use-body-scroll-lock.ts +25 -0
- package/src/hooks/use-search-param-state.ts +283 -41
- package/src/i18n/german.ts +10 -0
- package/src/i18n/locales/en.ts +7 -0
- package/src/i18n/locales/es.ts +9 -0
- package/src/i18n/locales/fr.ts +9 -0
- package/src/i18n/locales/hu.ts +11 -0
- package/src/i18n/locales/it.ts +9 -0
- package/src/i18n/locales/zh.ts +8 -0
- package/src/i18n/review.ts +11 -0
- package/src/index.ts +12 -0
- package/src/lib/strip-fade.ts +220 -15
- package/src/lib/translation-review.ts +85 -0
package/dist/i18n/german.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i18n/german.ts"],"sourcesContent":["import { formatFileSize } from \"./kit-labels\";\nimport type { UiKitLabels } from \"./kit-labels\";\n\n/**\n * The kit's German, formal (\"Sie\"), written in standard spelling with \"ß\" — the SOURCE\n * the public `de-CH` catalogue is derived from (via `swiss()`), not a catalogue itself.\n *\n * Internal on purpose: it lives outside `src/i18n/locales/` because every file there is\n * a public `@eifi1/ui-kit/i18n/<code>` subpath, and the kit ships ONE German — Swiss,\n * formal (0.18.0 removed `/i18n/de`, `/i18n/de-informal` and `/i18n/de-CH-informal`).\n * The text stays written with \"ß\" because `swiss()` respells at runtime, so a Swiss app\n * also gets an argument it passes in (a file name, a phrase to type) respelled; writing\n * \"ss\" here instead would change that behaviour for every function label.\n *\n * Counts and sizes are formatted with `numberLocale`'s digits; the words never change.\n */\nexport function germanLabels(numberLocale: string): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Bild anhängen\",\n attachmentCapture: \"Screenshot aufnehmen\",\n attachmentPaste: \"…oder einen Screenshot aus der Zwischenablage einfügen.\",\n attachmentRemove: \"Anhang entfernen\",\n attachmentList: \"Anhänge\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `${name} entfernen`,\n attachmentLimit: (max) => `Maximal ${n(max)} ${max === 1 ? \"Anhang\" : \"Anhänge\"} – zum Hinzufügen erst einen entfernen.`,\n attachmentUploading: \"Wird hochgeladen…\",\n attachmentUploadFailed: (name) => `„${name}“ konnte nicht hochgeladen werden`,\n },\n feedbackDialog: {\n title: \"Feedback senden\",\n category: \"Kategorie\",\n subject: \"Betreff\",\n body: \"Was ist passiert?\",\n bodyOptional: \"Was ist passiert? (optional)\",\n attachment: \"Screenshot\",\n submitHint: \"Strg/⌘ + Enter zum Senden\",\n cancel: \"Abbrechen\",\n save: \"Senden\",\n },\n feedbackThread: {\n thread: \"Kommentare\",\n empty: \"Noch keine Kommentare\",\n loading: \"Kommentare werden geladen…\",\n // The reader's own messages. \"Ich\" rather than \"Sie\": it reads the same whether\n // the app addresses its users with \"Sie\" or \"du\", so neither has to override it.\n you: \"Ich\",\n staff: \"Team\",\n attachments: \"Anhänge\",\n },\n feedbackComposer: {\n field: \"Kommentar schreiben\",\n placeholder: \"Kommentar schreiben…\",\n send: \"Senden\",\n // German keyboards label the key \"Strg\".\n sendHint: (modifier) => `${modifier === \"Ctrl\" ? \"Strg\" : modifier} + Enter zum Senden`,\n // \"Umschalt\", the German key label, as in the table's sort hint.\n sendHintEnter: \"Enter zum Senden, Umschalt + Enter für neue Zeile\",\n },\n accountSettings: {\n profile: {\n title: \"Profil\",\n email: \"E-Mail\",\n role: \"Rolle\",\n memberSince: \"Mitglied seit\",\n displayName: \"Anzeigename\",\n save: \"Speichern\",\n },\n password: {\n title: \"Passwort ändern\",\n current: \"Aktuelles Passwort\",\n next: \"Neues Passwort\",\n confirm: \"Neues Passwort bestätigen\",\n submit: \"Passwort ändern\",\n tooShort: \"Das neue Passwort ist zu kurz.\",\n mismatch: \"Die Passwörter stimmen nicht überein.\",\n },\n twoFactor: {\n status: \"Zwei-Faktor-Authentifizierung\",\n enabledText: \"Aktiv\",\n disabledText: \"Inaktiv\",\n enable: \"Zwei-Faktor-Authentifizierung einrichten\",\n scanHint: \"Diesen Code mit der Authenticator-App scannen und den angezeigten Code eingeben.\",\n codeLabel: \"Bestätigungscode\",\n verify: \"Bestätigen und aktivieren\",\n disableSection: \"Zwei-Faktor-Authentifizierung deaktivieren\",\n password: \"Aktuelles Passwort\",\n disable: \"Deaktivieren\",\n qrAlt: \"QR-Code für die Authenticator-App\",\n secretHint: \"Scannen nicht möglich? Stattdessen diesen Schlüssel in der App eingeben:\",\n copySecret: \"Schlüssel kopieren\",\n },\n passkeys: {\n title: \"Passkeys\",\n description: \"Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN statt Passwort anmelden.\",\n descriptionAlongside: \"Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN anmelden. Das Passwort funktioniert weiterhin.\",\n empty: \"Noch keine Passkeys\",\n loading: \"Passkeys werden geladen…\",\n list: \"Registrierte Passkeys\",\n nameLabel: \"Name (optional)\",\n namePlaceholder: \"z. B. Laptop, Handy\",\n add: \"Passkey hinzufügen\",\n adding: \"Warten auf das Gerät…\",\n rename: \"Umbenennen\",\n renameItem: (name) => `${name} umbenennen`,\n renameField: (name) => `Neuer Name für ${name}`,\n save: \"Speichern\",\n cancel: \"Abbrechen\",\n delete: \"Löschen\",\n deleteItem: (name) => `${name} löschen`,\n deleteConfirm: (name) => `„${name}“ löschen? Eine Anmeldung damit ist dann nicht mehr möglich.`,\n confirmDelete: \"Passkey löschen\",\n created: (date) => `Hinzugefügt am ${date}`,\n lastUsed: (date) => `Zuletzt verwendet am ${date}`,\n neverUsed: \"Noch nie verwendet\",\n },\n },\n measuredGrid: {\n view: \"Tabellenansicht\",\n cellsView: \"Zellen\",\n textView: \"Text\",\n addRow: \"Zeile hinzufügen\",\n removeRow: (row) => `Zeile ${row} entfernen`,\n clear: \"Tabelle leeren\",\n pasteHint: \"Einen Block aus einer Tabellenkalkulation in eine beliebige Zelle einfügen\",\n cell: (column, row) => `${column}, Zeile ${row}`,\n rowNumber: \"Zeile\",\n rowActions: \"Zeilenaktionen\",\n keyboardHint:\n \"Pfeiltasten wechseln zwischen Zellen. Tippen ersetzt eine Zelle, F2 bearbeitet sie, Escape macht die Bearbeitung rückgängig. Enter geht nach unten und fügt am Ende eine Zeile hinzu.\",\n lineError: (line) => `Zeile ${line} konnte nicht gelesen werden`,\n points: (count) => (count === 1 ? \"1 Punkt\" : `${count} Punkte`),\n problems: (count) =>\n count === 1 ? \"1 Zelle ist keine Zahl\" : `${count} Zellen sind keine Zahlen`,\n },\n pageContents: { title: \"Auf dieser Seite\" },\n common: {\n dismiss: \"Schließen\",\n close: \"Schließen\",\n clear: \"Leeren\",\n search: \"Suchen\",\n done: \"Fertig\",\n cancel: \"Abbrechen\",\n save: \"Speichern\",\n back: \"Zurück\",\n next: \"Weiter\",\n remove: \"Entfernen\",\n loading: \"Wird geladen…\",\n noResults: \"Keine Ergebnisse\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"öffnet in einem neuen Tab\",\n },\n dataTable: {\n columns: \"Spalten\",\n selectAllRows: \"Alle Zeilen auswählen\",\n sortHint: \"Klicken zum Sortieren · Umschalt-Klick für weitere Sortierung\",\n filter: \"Filter\",\n close: \"Schließen\",\n selectRow: \"Zeile auswählen\",\n autoSize: \"Spaltenbreiten anpassen\",\n loading: \"Wird geladen…\",\n filters: \"Filter\",\n // Resets every active filter; \"Alle löschen\" would read as deleting the filters.\n clearAll: \"Alle zurücksetzen\",\n done: \"Fertig\",\n pageSize: \"Zeilen pro Seite\",\n // Sits among 10 / 25 / 50 counting \"Zeilen\", so the plural \"Alle\", not \"Alles\".\n pageSizeAll: \"Alle\",\n prevPage: \"Vorherige Seite\",\n nextPage: \"Nächste Seite\",\n clearFilter: \"Filter zurücksetzen\",\n filterPlaceholder: \"Filtern…\",\n selectFilter: \"Auswählen\",\n selectAll: \"Alle\",\n selectNone: \"Keine\",\n dateFrom: \"Von\",\n dateTo: \"Bis\",\n numberMin: \"Min.\",\n numberMax: \"Max.\",\n numberAbs: \"Betrag\",\n presets: {\n today: \"Heute\",\n yesterday: \"Gestern\",\n this_week: \"Diese Woche\",\n last_week: \"Letzte Woche\",\n last_7_days: \"Letzte 7 Tage\",\n last_30_days: \"Letzte 30 Tage\",\n this_month: \"Dieser Monat\",\n last_month: \"Letzter Monat\",\n last_3_months: \"Letzte 3 Monate\",\n ytd: \"Seit Jahresbeginn\",\n last_year: \"Letztes Jahr\",\n },\n table: \"Datentabelle\",\n filterResults: (shown, total) =>\n `${n(shown)} von ${n(total)} ${total === 1 ? \"Zeile\" : \"Zeilen\"}`,\n sortedAscending: (column) => `Sortiert nach ${column}, aufsteigend`,\n sortedDescending: (column) => `Sortiert nach ${column}, absteigend`,\n sortCleared: (column) => `Sortierung nach ${column} aufgehoben`,\n pageChanged: (page, totalPages) => `Seite ${n(page)} von ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Spalten (${n(visible)}/${n(total)})`,\n empty: \"Keine Einträge\",\n actions: \"Aktionen\",\n edit: \"Bearbeiten\",\n delete: \"Löschen\",\n booleanTrue: \"Ja\",\n booleanFalse: \"Nein\",\n booleanUnset: \"Nicht festgelegt\",\n sortBy: \"Sortieren nach\",\n sortDefault: \"Standardreihenfolge\",\n sortAscending: \"Aufsteigend\",\n sortDescending: \"Absteigend\",\n },\n miniCalendar: {\n previousMonth: \"Vorheriger Monat\",\n nextMonth: \"Nächster Monat\",\n // Already formatted in the provider's locale (\"Montag, 14. September 2026\").\n day: (date) => date,\n chooseStart: \"Startdatum wählen\",\n chooseEnd: \"Enddatum wählen\",\n startSelected: (date) => `${date} als Startdatum gewählt. Wählen Sie jetzt ein Enddatum.`,\n rangeSelected: (from, to) =>\n `Zeitraum ${from} bis ${to} gewählt. Wählen Sie ein Startdatum, um neu zu beginnen.`,\n },\n calendarHeatmap: {\n grid: \"Tageswerte\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Weniger\",\n more: \"Mehr\",\n truncated: (count) =>\n `Die neuesten Tage werden angezeigt; ${n(count)} ${count === 1 ? \"früherer Tag wird\" : \"frühere Tage werden\"} nicht angezeigt.`,\n },\n datePicker: {\n apply: \"Übernehmen\",\n cancel: \"Abbrechen\",\n presets: \"Schnellauswahl\",\n panel: \"Datum wählen\",\n rangePanel: \"Zeitraum wählen\",\n clear: \"Leeren\",\n previousDay: \"Vorheriger Tag\",\n nextDay: \"Nächster Tag\",\n today: \"Heute\",\n },\n monthPicker: {\n previousYear: \"Vorheriges Jahr\",\n nextYear: \"Nächstes Jahr\",\n panel: \"Monat wählen\",\n month: (monthYear) => monthYear,\n previousMonth: \"Vorheriger Monat\",\n nextMonth: \"Nächster Monat\",\n today: \"Heute\",\n yearPanel: \"Jahr wählen\",\n earlierYears: \"Frühere Jahre\",\n laterYears: \"Spätere Jahre\",\n thisYear: \"Dieses Jahr\",\n },\n popover: {\n panel: \"Aufklappfenster\",\n },\n combobox: {\n search: \"Suchen\",\n noResults: \"Keine Ergebnisse\",\n clear: \"Leeren\",\n loading: \"Wird geladen…\",\n create: (query) => `„${query}“ anlegen`,\n selectedCount: (count) => `${n(count)} ausgewählt`,\n loadError: \"Ergebnisse konnten nicht geladen werden\",\n resultCount: (count) => `${n(count)} ${count === 1 ? \"Ergebnis\" : \"Ergebnisse\"}`,\n // \"Zeichen\" is the same in singular and plural.\n minChars: (count) => `Mindestens ${n(count)} Zeichen eingeben`,\n },\n multiSelect: {\n search: \"Suchen\",\n selectAll: \"Alle auswählen\",\n clear: \"Leeren\",\n all: \"Alle\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Taschenrechner öffnen\",\n panel: \"Taschenrechner\",\n calculation: \"Rechnung\",\n backspace: \"Rücktaste\",\n clear: \"Löschen\",\n equals: \"Ist gleich\",\n done: \"Fertig\",\n plus: \"Plus\",\n minus: \"Minus\",\n times: \"Mal\",\n divide: \"Geteilt durch\",\n decimal: \"Dezimaltrennzeichen\",\n },\n currency: {\n currency: \"Währung\",\n search: \"Währung suchen\",\n },\n chipInput: {\n // The value is arbitrary user text, quoted as a citation, so the participle agrees\n // with the implied \"Eintrag\" whatever the chip says.\n added: (value) => `„${value}“ hinzugefügt`,\n removed: (value) => `„${value}“ entfernt`,\n remove: \"Entfernen\",\n // `von` governs the dative, visible only in the plural: \"von 1 Eintrag\", \"von 2 Einträgen\".\n atLimit: (max) => `Grenze von ${n(max)} ${max === 1 ? \"Eintrag\" : \"Einträgen\"} erreicht`,\n duplicate: (value) => `„${value}“ steht bereits in der Liste`,\n },\n swatchPicker: {\n none: \"Keine Farbe\",\n mixed: \"Gemischt: Die ausgewählten Elemente haben unterschiedliche Farben\",\n },\n iconPicker: {\n none: \"Kein Symbol\",\n mixed: \"Gemischt: Die ausgewählten Elemente haben unterschiedliche Symbole\",\n search: \"Symbole suchen\",\n noResults: \"Keine passenden Symbole\",\n resultCount: (count) => `${n(count)} ${count === 1 ? \"Symbol\" : \"Symbole\"}`,\n },\n fieldSync: {\n synced: \"Gespeichert\",\n edited: \"Nicht gespeicherte Änderungen\",\n pending: \"Wird gespeichert…\",\n error: \"Speichern fehlgeschlagen\",\n retry: \"Erneut versuchen\",\n },\n passwordReveal: {\n show: \"Passwort anzeigen\",\n hide: \"Passwort verbergen\",\n },\n dangerConfirm: {\n arm: \"Löschen…\",\n confirm: \"Löschen\",\n cancel: \"Abbrechen\",\n prompt: \"Dies kann nicht rückgängig gemacht werden.\",\n password: \"Passwort\",\n phrase: (phrase) => `Geben Sie zur Bestätigung „${phrase}“ ein`,\n acknowledge: \"Ich habe gelesen, was dies bewirkt, und möchte fortfahren.\",\n needsPhrase: (phrase) => `Geben Sie zur Bestätigung „${phrase}“ ein`,\n needsAcknowledge: \"Setzen Sie zur Bestätigung das Häkchen\",\n needsPassword: \"Geben Sie zur Bestätigung Ihr Passwort ein\",\n },\n tabs: {\n // \"Tab\" is what German UIs say; \"Registerkarte\" reads like a 1990s manual.\n add: \"Tab hinzufügen\",\n remove: (tab) => `${tab} entfernen`,\n },\n appShell: {\n collapse: \"Seitenleiste einklappen\",\n expand: \"Seitenleiste ausklappen\",\n toggleGroup: (groupLabel) => `${groupLabel}: Seiten`,\n },\n topBar: {\n theme: \"Theme wechseln\",\n palette: \"Darstellungsvorlage\",\n language: \"Sprache\",\n switchRole: \"Rolle wechseln\",\n role: (value) => `Rolle: ${value}`,\n },\n pickerSheet: {\n close: \"Schließen\",\n },\n dialogFrame: {\n close: \"Schließen\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ausgewählt`,\n clear: \"Auswahl aufheben\",\n cleared: \"Auswahl aufgehoben\",\n },\n swipeableRow: {\n actions: \"Zeilenaktionen\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Datei-Upload\",\n browse: \"Durchsuchen\",\n empty: \"Datei hier ablegen\",\n emptyMultiple: \"Dateien hier ablegen\",\n hint: (accept) => (accept ? `Erlaubt: ${accept}` : \"Beliebiger Dateityp\"),\n busy: \"Wird hochgeladen…\",\n rejectedPick: (count) =>\n count === 1\n ? \"Die Datei wurde nicht hinzugefügt\"\n : `Keine der ${count} Dateien wurde hinzugefügt`,\n rejectedType: (name) => `„${name}“ hat einen nicht unterstützten Dateityp`,\n rejectedTypeOnly: (accept) => `Nur ${accept}-Dateien`,\n rejectedSize: (name, maxSize) => `„${name}“ ist größer als ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `„${name}“ wurde nicht hinzugefügt: höchstens ${n(maxFiles)} ${maxFiles === 1 ? \"Datei\" : \"Dateien\"}`,\n rejectedInvalid: (name) => `„${name}“ kann hier nicht verwendet werden`,\n rejectedMany: (count) =>\n count === 1\n ? \"1 Datei wurde nicht hinzugefügt\"\n : `${n(count)} Dateien wurden nicht hinzugefügt`,\n selected: (count, firstName) =>\n count === 1 ? `„${firstName}“ ausgewählt` : `${n(count)} Dateien ausgewählt`,\n remove: (name) => `„${name}“ entfernen`,\n clearAll: \"Alle Dateien entfernen\",\n removed: (name) => `„${name}“ entfernt`,\n cleared: \"Alle Dateien entfernt\",\n },\n wizard: {\n done: \"Fertig\",\n cancel: \"Abbrechen\",\n back: \"Zurück\",\n next: \"Weiter\",\n skip: \"Überspringen\",\n finish: \"Abschließen\",\n submitting: \"Wird erstellt…\",\n steps: \"Schritte\",\n step: (current, total) => `Schritt ${n(current)} von ${n(total)}`,\n cancelTitle: \"Formular verwerfen?\",\n confirmCancel: \"Ihre Eingaben gehen verloren.\",\n cancelConfirmLabel: \"Verwerfen\",\n cancelDismissLabel: \"Weiter bearbeiten\",\n reviewTitle: \"Überprüfen\",\n edit: \"Bearbeiten\",\n missingRequired: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n genericError: \"Ein Fehler ist aufgetreten\",\n },\n tour: {\n next: \"Weiter\",\n back: \"Zurück\",\n skip: \"Überspringen\",\n done: \"Fertig\",\n awaitClickHint: \"Klicken Sie auf das hervorgehobene Element, um fortzufahren\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Suche löschen\",\n submit: \"Suchen\",\n close: \"Schließen\",\n placeholder: \"Suchen…\",\n empty: \"Keine Ergebnisse\",\n loading: \"Wird gesucht…\",\n dialog: \"Suche\",\n error: \"Die Suche ist fehlgeschlagen. Bitte erneut versuchen.\",\n },\n globalSearch: {\n trigger: \"Suche\",\n placeholder: \"Suchen oder springen zu…\",\n shortcut: (keys) => `Suche (${keys})`,\n suggestions: \"Vorschläge\",\n results: \"Ergebnisse\",\n },\n sparkline: {\n rising: (first, last) => `Steigend von ${first} auf ${last}`,\n falling: (first, last) => `Fallend von ${first} auf ${last}`,\n flat: (value) => `Unverändert bei ${value}`,\n single: (value) => `Ein Wert: ${value}`,\n noData: \"Keine Daten\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n // `amount` arrives formatted and unsigned (\"5 %\", \"1.200 €\").\n increase: (amount) => `Um ${amount} gestiegen`,\n decrease: (amount) => `Um ${amount} gesunken`,\n unchanged: \"Keine Veränderung\",\n better: (change) => `${change} (besser)`,\n worse: (change) => `${change} (schlechter)`,\n noValue: \"Keine Daten\",\n loading: \"Wird geladen…\",\n },\n signaturePad: {\n label: \"Unterschrift\",\n instructions: \"Unterschreiben Sie im Feld mit der Maus, dem Finger oder einem Stift.\",\n typedFallbackHint: \"Wenn Sie nicht zeichnen können, geben Sie stattdessen Ihren Namen ein.\",\n empty: \"Noch nichts gezeichnet\",\n signed: \"Unterschrift gezeichnet\",\n undo: \"Letzten Strich rückgängig machen\",\n clear: \"Leeren\",\n save: \"Unterschrift speichern\",\n useTyped: \"Stattdessen Namen eingeben\",\n useDrawn: \"Stattdessen zeichnen\",\n typedName: \"Vollständiger Name\",\n cleared: \"Unterschrift gelöscht\",\n undone: \"Letzter Strich entfernt\",\n viewEmpty: \"Nicht unterschrieben\",\n viewDrawn: \"Handschriftliche Unterschrift\",\n viewTyped: (name) => `Unterschrieben mit dem eingegebenen Namen ${name}`,\n },\n passwordStrength: {\n tooShort: \"Zu kurz\",\n weak: \"Schwach\",\n fair: \"Mittel\",\n good: \"Gut\",\n strong: \"Stark\",\n announcement: (level) => `Passwortstärke: ${level}`,\n // \"Zeichen\" is the same in singular and plural. The English default does not\n // format these counts, so neither does this file.\n ruleLength: (minLength) => `Mindestens ${minLength} Zeichen`,\n ruleCase: \"Groß- und Kleinbuchstaben\",\n ruleDigit: \"Eine Ziffer\",\n ruleSymbol: \"Ein Sonderzeichen\",\n optional: (rule) => `${rule} (optional)`,\n met: \"Erfüllt:\",\n notMet: \"Nicht erfüllt:\",\n tooLong: (maxBytes) =>\n `Höchstens ${maxBytes} Zeichen (Buchstaben mit Akzent und Emojis zählen mehrfach).`,\n },\n seriesChart: {\n resetZoom: \"Zoom zurücksetzen\",\n zoomHint:\n \"Zum Zoomen ziehen: Eine annähernd quadratische Auswahl zoomt beide Achsen, eine lange, schmale nur ihre eigene. Doppelklick setzt zurück.\",\n empty: \"Keine Daten\",\n legend: \"Datenreihen\",\n points: \"Diagrammwerte\",\n },\n pieChart: {\n slices: \"Diagrammsegmente\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Gesamt\",\n empty: \"Keine Daten\",\n legend: \"Kategorien\",\n },\n confirmDialog: {\n confirm: \"Bestätigen\",\n cancel: \"Abbrechen\",\n typed: (text) => `Geben Sie zur Bestätigung „${text}“ ein`,\n },\n floatingPanel: {\n close: \"Schließen\",\n badge: (count) => `${n(count)} neu`,\n },\n copyButton: {\n copy: \"Kopieren\",\n copied: \"Kopiert\",\n failed: \"Kopieren fehlgeschlagen\",\n copiedAnnouncement: \"In die Zwischenablage kopiert\",\n failedAnnouncement: \"Kopieren in die Zwischenablage fehlgeschlagen\",\n },\n list: {\n unread: \"Ungelesen\",\n opensInNewTab: \"öffnet in einem neuen Tab\",\n },\n breadcrumbs: {\n label: \"Brotkrümelnavigation\",\n showAll: \"Vollständigen Pfad anzeigen\",\n },\n toast: {\n close: \"Benachrichtigung schließen\",\n notifications: \"Benachrichtigungen\",\n undo: \"Rückgängig\",\n redo: \"Wiederholen\",\n },\n form: {\n save: \"Speichern\",\n cancel: \"Abbrechen\",\n // German keyboards label the key \"Strg\"; Apple's ⌘ is the same everywhere.\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Strg+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Zeile hinzufügen\",\n remove: (row) => `Zeile ${row} entfernen`,\n confirmRemove: (row) => `Zeile ${row} entfernen? Zum Bestätigen erneut drücken`,\n row: (row) => `Zeile ${row}`,\n cell: (column, row) => `${column}, Zeile ${row}`,\n totals: \"Summe\",\n },\n progressBar: {\n unlimited: \"Unbegrenzt\",\n overLimit: (amount) => `${amount} über dem Limit`,\n },\n signedAmount: {\n positive: (amount) => `plus ${amount}`,\n negative: (amount) => `minus ${amount}`,\n },\n errorBoundary: {\n title: \"Etwas ist schiefgelaufen\",\n message: \"Dieser Teil der Seite konnte nicht angezeigt werden. Bitte erneut versuchen oder die Seite neu laden.\",\n retry: \"Erneut versuchen\",\n details: \"Fehlerdetails\",\n reload: \"Neu laden\",\n updateTitle: \"Eine neue Version ist verfügbar\",\n updateMessage: \"Ein Teil der App hat sich seit dem Laden dieser Seite geändert. Zum Aktualisieren die Seite neu laden.\",\n offlineTitle: \"Keine Internetverbindung\",\n offlineMessage: \"Diese Seite konnte ohne Verbindung nicht geladen werden. Nach dem Wiederherstellen der Verbindung die Seite neu laden.\",\n copyReport: \"Fehlerbericht kopieren\",\n reported: \"Der Fehler wurde automatisch gemeldet.\",\n reportedAs: (reference) => `Gemeldet unter ${reference}`,\n },\n authedImage: {\n loading: \"Bild wird geladen…\",\n loadError: \"Bild konnte nicht geladen werden\",\n failedImage: (alt) => `${alt}: Bild konnte nicht geladen werden`,\n },\n imageGrid: {\n list: \"Bilder\",\n item: (index, count) => `Bild ${n(index)} von ${n(count)}`,\n actions: (name) => `Aktionen für ${name}`,\n },\n lightbox: {\n dialog: \"Bildansicht\",\n close: \"Schließen\",\n previous: \"Vorheriges Bild\",\n next: \"Nächstes Bild\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Bild ${n(index)} von ${n(count)}`,\n download: \"Herunterladen\",\n zoom: \"Zoomen\",\n noPreview: \"Für diese Datei ist keine Vorschau verfügbar\",\n openInNewTab: \"In neuem Tab öffnen\",\n },\n writeLock: {\n // Impersonal, like the rest of this catalogue where it can be: an app that\n // addresses its users with \"du\" then has fewer keys to override.\n reason: \"Nur zum Ansehen – Änderungen sind hier nicht möglich.\",\n },\n accountState: {\n active: \"Aktiv\",\n inactive: \"Inaktiv\",\n invited: \"Eingeladen\",\n registered: \"Registriert\",\n unverified: \"Nicht bestätigt\",\n passwordChange: \"Passwortänderung erforderlich\",\n },\n shareCard: {\n dialogTitle: \"Teilen\",\n close: \"Schließen\",\n email: \"E-Mail-Adresse\",\n emailOptional: \"E-Mail-Adresse (optional)\",\n // example.com is reserved for examples (RFC 2606); a German-looking domain is\n // somebody's real one.\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"Bitte eine vollständige E-Mail-Adresse eingeben.\",\n role: \"Rolle\",\n roleOf: (name) => `Rolle von ${name}`,\n add: \"Teilen\",\n whoHasAccess: \"Wer hat Zugriff\",\n nobodyYet: \"Bisher hat niemand sonst Zugriff.\",\n pending: \"Ausstehend\",\n openInvite: \"Offener Einladungslink\",\n copyLink: \"Link kopieren\",\n team: \"Team\",\n teamHint: (name) => `Alle in ${name} erhalten Zugriff.`,\n remove: \"Zugriff entfernen\",\n removeConfirm: (name) => `Zugriff für ${name} entfernen?`,\n revokePending: \"Einladung zurückziehen\",\n revokePendingConfirm: (name) => `Einladung für ${name} zurückziehen?`,\n failed: \"Das hat nicht geklappt. Bitte erneut versuchen.\",\n loading: \"Wird geladen…\",\n },\n reauthDialog: {\n title: \"Identität bestätigen\",\n description: \"Zum Fortfahren das aktuelle Passwort eingeben.\",\n password: \"Aktuelles Passwort\",\n submit: \"Weiter\",\n cancel: \"Abbrechen\",\n },\n serverWake: {\n slow: \"Lädt noch – das dauert länger als sonst.\",\n waking: (appName) =>\n `Der Server schläft ein, wenn ${appName ?? \"die App\"} gerade niemand benutzt. Die erste Anfrage nach einer Pause muss ihn erst wieder starten. Das kann einen Moment dauern – es geht nichts verloren, die Seite füllt sich von selbst.`,\n },\n legal: {\n navLabel: \"Rechtliches\",\n },\n characterCount: {\n // \"Zeichen\" is the same in singular and plural.\n count: (used, max) => `${n(used)} von ${n(max)} Zeichen`,\n remaining: (left) => `Noch ${n(left)} Zeichen`,\n limitReached: \"Zeichenlimit erreicht\",\n },\n countrySelect: {\n country: \"Land\",\n search: \"Land suchen\",\n others: \"Weitere Länder\",\n },\n inlineEdit: {\n edit: (label) => `${label} bearbeiten`,\n failed: \"Die Änderung konnte nicht gespeichert werden.\",\n empty: \"Leer\",\n },\n ibanInput: {\n format: \"Eine IBAN beginnt mit einem Ländercode aus zwei Buchstaben und zwei Prüfziffern.\",\n country: (code) => `„${code}“ ist kein Ländercode einer IBAN.`,\n length: (actual, expected) =>\n `Eine IBAN aus diesem Land hat ${n(expected)} Zeichen – diese hat ${n(actual)}.`,\n checksum: \"Die Prüfziffern stimmen nicht – vermutlich ist ein Zeichen falsch eingegeben.\",\n qrRequired: \"Dies ist eine reguläre IBAN. Eine QR-Rechnung braucht die QR-IBAN des Kontos.\",\n qrNotAllowed:\n \"Dies ist eine QR-IBAN, die nur Zahlungen mit QR-Rechnung empfängt. Geben Sie die reguläre IBAN des Kontos ein.\",\n },\n phoneInput: {\n countryCode: \"Ländervorwahl\",\n other: \"Andere\",\n },\n signChip: {\n outflow: \"Ausgabe\",\n inflow: \"Einnahme\",\n direction: (current, next) => `Richtung: ${current} – zu ${next} wechseln`,\n },\n columnMapper: {\n paste: \"Tabelle einfügen\",\n pasteHint:\n \"Die Zeilen aus einer Tabellenkalkulation kopieren und hier einfügen – oder eine CSV- oder Textdatei hier ablegen.\",\n chooseFile: \"Datei auswählen\",\n readError: (name) => `„${name}“ konnte nicht gelesen werden`,\n headerRow: \"Die erste Zeile enthält die Spaltennamen\",\n summary: (columns, rows) =>\n `${n(columns)} ${columns === 1 ? \"Spalte\" : \"Spalten\"}, ${n(rows)} ${rows === 1 ? \"Zeile\" : \"Zeilen\"}`,\n // Fragments of the summary line (\"3 Spalten, 120 Zeilen · durch Semikolons getrennt\").\n separatorSemicolon: \"durch Semikolons getrennt\",\n separatorComma: \"durch Kommas getrennt\",\n separatorTab: \"durch Tabulatoren getrennt\",\n separatorSpace: \"durch Leerzeichen getrennt\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"Dezimalkomma (1,5)\",\n decimalPoint: \"Dezimalpunkt (1.5)\",\n unreadCount: (count) =>\n count === 1\n ? \"1 Zeile konnte nicht gelesen werden\"\n : `${n(count)} Zeilen konnten nicht gelesen werden`,\n // A line number is a position, not a count: unformatted, as `measuredGrid.lineError`.\n unreadLine: (line) => `Zeile ${line} konnte nicht gelesen werden`,\n unreadMore: (count) => `…und ${n(count)} weitere`,\n noRows: \"Keine Zeile dieses Textes lässt sich als Tabellenzeile lesen.\",\n table: \"Spaltenzuordnung\",\n columnN: (column) => `Spalte ${column}`,\n roleOf: (column) => `Was enthält die Spalte „${column}“?`,\n ignore: \"Ignorieren\",\n requiredRole: (role) => `${role} (erforderlich)`,\n previewOf: (shown, total) =>\n shown === 1\n ? `Die erste von ${n(total)} Zeilen`\n : `Die ersten ${n(shown)} von ${n(total)} Zeilen`,\n // `roles` arrives joined with \"oder\" (\"Soll oder Haben\").\n oneOf: (roles) => `entweder ${roles}`,\n missing: (roles) => `Noch erforderlich: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Fehlt\",\n statusUnreviewed: \"Ungeprüft\",\n statusChanged: \"Seit der Prüfung geändert\",\n statusNeedsChange: \"Änderung nötig\",\n statusApproved: \"Bestätigt\",\n statusFilter: \"Status\",\n all: \"Alle\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Texte\",\n allSources: \"Alle Texte\",\n namespace: \"Bereich\",\n allNamespaces: \"Alle Bereiche\",\n search: \"Schlüssel und Texte durchsuchen\",\n placeholdersOnly: (count) => `Nur Platzhalter-Probleme (${n(count)})`,\n placeholderChip: \"Platzhalter\",\n key: \"Schlüssel\",\n statusColumn: \"Status\",\n empty: \"Keine Texte passen zu diesen Filtern.\",\n missingText: \"Fehlt in dieser Sprache\",\n progress: (approved, total) => `${n(approved)} von ${n(total)} bestätigt`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Sprachen\",\n approve: \"Bestätigen\",\n flag: \"Änderung nötig\",\n suggest: \"Übersetzung vorschlagen\",\n reset: \"Als ungeprüft markieren\",\n cancel: \"Abbrechen\",\n approveSelected: \"Auswahl bestätigen\",\n resetSelected: \"Auswahl als ungeprüft markieren\",\n selectShown: \"Alle angezeigten auswählen\",\n changedSince: \"Dieser Text wurde nach der Prüfung geändert. Bitte lesen Sie ihn noch einmal.\",\n reviewedWording: \"Wortlaut bei der Prüfung\",\n reviewedReference: \"Vorlage bei der Prüfung\",\n placeholderMismatch: (reference, text) =>\n `Die Platzhalter weichen von der Vorlage ab – Vorlage: ${reference}; dieser Text: ${text}. Die App setzt dort Werte ein, deshalb müssen sie genau so bleiben.`,\n lastApproved: (name, date) => `Bestätigt von ${name} am ${date}`,\n lastFlagged: (name, date) => `Als änderungsbedürftig markiert von ${name} am ${date}`,\n // Dative, after \"von\": \"Bestätigt von einem gelöschten Konto\".\n erasedReviewer: \"einem gelöschten Konto\",\n suggestion: \"Bessere Formulierung\",\n translation: \"Übersetzung\",\n note: \"Notiz (optional)\",\n notePlaceholder: \"Was falsch ist oder worauf zu achten ist\",\n readOnly: \"Sie können diese Sprache lesen, aber nicht prüfen.\",\n scope: (areas) => `Ihre Prüfung ist beschränkt auf: ${areas}.`,\n exportCorrections: (count) => `Korrekturen exportieren (${n(count)})`,\n failed: \"Das hat nicht geklappt. Bitte erneut versuchen.\",\n },\n };\n}\n"],"mappings":";AAAA,SAAS,sBAAsB;AAgBxB,SAAS,aAAa,cAAmC;AAC9D,QAAM,MAAM,IAAI,KAAK,aAAa,YAAY;AAC9C,QAAM,IAAI,CAAC,UAAkB,IAAI,OAAO,KAAK;AAE7C,SAAO;AAAA,IACL,oBAAoB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,sBAAsB;AAAA,MACtB,sBAAsB,CAAC,SAAS,GAAG,IAAI;AAAA,MACvC,iBAAiB,CAAC,QAAQ,WAAW,EAAE,GAAG,CAAC,IAAI,QAAQ,IAAI,WAAW,YAAS;AAAA,MAC/E,qBAAqB;AAAA,MACrB,wBAAwB,CAAC,SAAS,SAAI,IAAI;AAAA,IAC5C;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,MAAM;AAAA,MACN,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA;AAAA;AAAA,MAGT,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA;AAAA,MAEN,UAAU,CAAC,aAAa,GAAG,aAAa,SAAS,SAAS,QAAQ;AAAA;AAAA,MAElE,eAAe;AAAA,IACjB;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,QACb,MAAM;AAAA,MACR;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,GAAG,IAAI;AAAA,QAC7B,aAAa,CAAC,SAAS,qBAAkB,IAAI;AAAA,QAC7C,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,GAAG,IAAI;AAAA,QAC7B,eAAe,CAAC,SAAS,SAAI,IAAI;AAAA,QACjC,eAAe;AAAA,QACf,SAAS,CAAC,SAAS,qBAAkB,IAAI;AAAA,QACzC,UAAU,CAAC,SAAS,wBAAwB,IAAI;AAAA,QAChD,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW,CAAC,QAAQ,SAAS,GAAG;AAAA,MAChC,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,WAAW,GAAG;AAAA,MAC9C,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,cACE;AAAA,MACF,WAAW,CAAC,SAAS,SAAS,IAAI;AAAA,MAClC,QAAQ,CAAC,UAAW,UAAU,IAAI,YAAY,GAAG,KAAK;AAAA,MACtD,UAAU,CAAC,UACT,UAAU,IAAI,2BAA2B,GAAG,KAAK;AAAA,IACrD;AAAA,IACA,cAAc,EAAE,OAAO,mBAAmB;AAAA,IAC1C,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY,CAAC,OAAO,UAAU,GAAG,KAAK,KAAK,KAAK;AAAA,MAChD,eAAe;AAAA,IACjB;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAET,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,MAEV,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,WAAW;AAAA,MACb;AAAA,MACA,OAAO;AAAA,MACP,eAAe,CAAC,OAAO,UACrB,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,IAAI,UAAU,QAAQ;AAAA,MACjE,iBAAiB,CAAC,WAAW,iBAAiB,MAAM;AAAA,MACpD,kBAAkB,CAAC,WAAW,iBAAiB,MAAM;AAAA,MACrD,aAAa,CAAC,WAAW,mBAAmB,MAAM;AAAA,MAClD,aAAa,CAAC,MAAM,eAAe,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAAA,MACxE,WAAW,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,CAAC,SAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACjE,UAAU,CAAC,UAAU,EAAE,KAAK;AAAA,MAC5B,cAAc,CAAC,SAAS,UAAU,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MACpE,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,gBAAgB;AAAA,IAClB;AAAA,IACA,cAAc;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,MAEX,KAAK,CAAC,SAAS;AAAA,MACf,aAAa;AAAA,MACb,WAAW;AAAA,MACX,eAAe,CAAC,SAAS,GAAG,IAAI;AAAA,MAChC,eAAe,CAAC,MAAM,OACpB,YAAY,IAAI,QAAQ,EAAE;AAAA,IAC9B;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,KAAK,CAAC,MAAM,UAAU,GAAG,IAAI,KAAK,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW,CAAC,UACV,uCAAuC,EAAE,KAAK,CAAC,IAAI,UAAU,IAAI,yBAAsB,wBAAqB;AAAA,IAChH;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,MACd,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO,CAAC,cAAc;AAAA,MACtB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ,CAAC,UAAU,SAAI,KAAK;AAAA,MAC5B,eAAe,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACrC,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,IAAI,aAAa,YAAY;AAAA;AAAA,MAE9E,UAAU,CAAC,UAAU,cAAc,EAAE,KAAK,CAAC;AAAA,IAC7C;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA;AAAA,MAEL,eAAe,CAAC,UAAU,EAAE,KAAK;AAAA,IACnC;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA;AAAA;AAAA,MAGT,OAAO,CAAC,UAAU,SAAI,KAAK;AAAA,MAC3B,SAAS,CAAC,UAAU,SAAI,KAAK;AAAA,MAC7B,QAAQ;AAAA;AAAA,MAER,SAAS,CAAC,QAAQ,cAAc,EAAE,GAAG,CAAC,IAAI,QAAQ,IAAI,YAAY,cAAW;AAAA,MAC7E,WAAW,CAAC,UAAU,SAAI,KAAK;AAAA,IACjC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,IAAI,WAAW,SAAS;AAAA,IAC3E;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ,CAAC,WAAW,sCAA8B,MAAM;AAAA,MACxD,aAAa;AAAA,MACb,aAAa,CAAC,WAAW,sCAA8B,MAAM;AAAA,MAC7D,kBAAkB;AAAA,MAClB,eAAe;AAAA,IACjB;AAAA,IACA,MAAM;AAAA;AAAA,MAEJ,KAAK;AAAA,MACL,QAAQ,CAAC,QAAQ,GAAG,GAAG;AAAA,IACzB;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa,CAAC,eAAe,GAAG,UAAU;AAAA,IAC5C;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM,CAAC,UAAU,UAAU,KAAK;AAAA,IAClC;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAChC,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA;AAAA,MAEJ,MAAM,CAAC,UAAU,eAAe,OAAO,YAAY;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM,CAAC,WAAY,SAAS,YAAY,MAAM,KAAK;AAAA,MACnD,MAAM;AAAA,MACN,cAAc,CAAC,UACb,UAAU,IACN,yCACA,aAAa,KAAK;AAAA,MACxB,cAAc,CAAC,SAAS,SAAI,IAAI;AAAA,MAChC,kBAAkB,CAAC,WAAW,OAAO,MAAM;AAAA,MAC3C,cAAc,CAAC,MAAM,YAAY,SAAI,IAAI,+BAAoB,OAAO;AAAA,MACpE,eAAe,CAAC,MAAM,aACpB,SAAI,IAAI,mDAAwC,EAAE,QAAQ,CAAC,IAAI,aAAa,IAAI,UAAU,SAAS;AAAA,MACrG,iBAAiB,CAAC,SAAS,SAAI,IAAI;AAAA,MACnC,cAAc,CAAC,UACb,UAAU,IACN,uCACA,GAAG,EAAE,KAAK,CAAC;AAAA,MACjB,UAAU,CAAC,OAAO,cAChB,UAAU,IAAI,SAAI,SAAS,yBAAiB,GAAG,EAAE,KAAK,CAAC;AAAA,MACzD,QAAQ,CAAC,SAAS,SAAI,IAAI;AAAA,MAC1B,UAAU;AAAA,MACV,SAAS,CAAC,SAAS,SAAI,IAAI;AAAA,MAC3B,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,MAAM,CAAC,SAAS,UAAU,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;AAAA,MAC/D,aAAa;AAAA,MACb,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,MAAM,CAAC,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IACvD;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU,CAAC,SAAS,UAAU,IAAI;AAAA,MAClC,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,QAAQ,CAAC,OAAO,SAAS,gBAAgB,KAAK,QAAQ,IAAI;AAAA,MAC1D,SAAS,CAAC,OAAO,SAAS,eAAe,KAAK,QAAQ,IAAI;AAAA,MAC1D,MAAM,CAAC,UAAU,sBAAmB,KAAK;AAAA,MACzC,QAAQ,CAAC,UAAU,aAAa,KAAK;AAAA,MACrC,QAAQ;AAAA,MACR,OAAO,CAAC,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO;AAAA,IAC/C;AAAA,IACA,UAAU;AAAA;AAAA,MAER,UAAU,CAAC,WAAW,MAAM,MAAM;AAAA,MAClC,UAAU,CAAC,WAAW,MAAM,MAAM;AAAA,MAClC,WAAW;AAAA,MACX,QAAQ,CAAC,WAAW,GAAG,MAAM;AAAA,MAC7B,OAAO,CAAC,WAAW,GAAG,MAAM;AAAA,MAC5B,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW,CAAC,SAAS,6CAA6C,IAAI;AAAA,IACxE;AAAA,IACA,kBAAkB;AAAA,MAChB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc,CAAC,UAAU,sBAAmB,KAAK;AAAA;AAAA;AAAA,MAGjD,YAAY,CAAC,cAAc,cAAc,SAAS;AAAA,MAClD,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,GAAG,IAAI;AAAA,MAC3B,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,SAAS,CAAC,aACR,gBAAa,QAAQ;AAAA,IACzB;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,UACE;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO,CAAC,OAAO,OAAO,YAAY,GAAG,KAAK,KAAK,KAAK,KAAK,OAAO;AAAA,MAChE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,CAAC,SAAS,sCAA8B,IAAI;AAAA,IACrD;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IAC/B;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA;AAAA,MAER,gBAAgB,CAAC,UAAW,QAAQ,iBAAY;AAAA,IAClD;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,KAAK;AAAA,MACL,QAAQ,CAAC,QAAQ,SAAS,GAAG;AAAA,MAC7B,eAAe,CAAC,QAAQ,SAAS,GAAG;AAAA,MACpC,KAAK,CAAC,QAAQ,SAAS,GAAG;AAAA,MAC1B,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,WAAW,GAAG;AAAA,MAC9C,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,WAAW,CAAC,WAAW,GAAG,MAAM;AAAA,IAClC;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,CAAC,WAAW,QAAQ,MAAM;AAAA,MACpC,UAAU,CAAC,WAAW,SAAS,MAAM;AAAA,IACvC;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY,CAAC,cAAc,kBAAkB,SAAS;AAAA,IACxD;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,CAAC,QAAQ,GAAG,GAAG;AAAA,IAC9B;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,UAAU,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AAAA,MACxD,SAAS,CAAC,SAAS,mBAAgB,IAAI;AAAA,IACzC;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,OAAO,UAAU,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACpD,UAAU,CAAC,OAAO,UAAU,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AAAA,MAC5D,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA;AAAA;AAAA,MAGT,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA;AAAA;AAAA,MAGf,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,MAAM;AAAA,MACN,QAAQ,CAAC,SAAS,aAAa,IAAI;AAAA,MACnC,KAAK;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU,CAAC,SAAS,WAAW,IAAI;AAAA,MACnC,QAAQ;AAAA,MACR,eAAe,CAAC,SAAS,kBAAe,IAAI;AAAA,MAC5C,eAAe;AAAA,MACf,sBAAsB,CAAC,SAAS,oBAAiB,IAAI;AAAA,MACrD,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,CAAC,YACP,mCAAgC,WAAW,SAAS;AAAA,IACxD;AAAA,IACA,OAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA;AAAA,MAEd,OAAO,CAAC,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AAAA,MAC9C,WAAW,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC;AAAA,MACpC,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM,CAAC,UAAU,GAAG,KAAK;AAAA,MACzB,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,SAAS,CAAC,SAAS,SAAI,IAAI;AAAA,MAC3B,QAAQ,CAAC,QAAQ,aACf,iCAAiC,EAAE,QAAQ,CAAC,6BAAwB,EAAE,MAAM,CAAC;AAAA,MAC/E,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,cACE;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW,CAAC,SAAS,SAAS,aAAa,OAAO,cAAS,IAAI;AAAA,IACjE;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,WACE;AAAA,MACF,YAAY;AAAA,MACZ,WAAW,CAAC,SAAS,SAAI,IAAI;AAAA,MAC7B,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,SACjB,GAAG,EAAE,OAAO,CAAC,IAAI,YAAY,IAAI,WAAW,SAAS,KAAK,EAAE,IAAI,CAAC,IAAI,SAAS,IAAI,UAAU,QAAQ;AAAA;AAAA,MAEtG,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,gBAAgB;AAAA;AAAA,MAEhB,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa,CAAC,UACZ,UAAU,IACN,wCACA,GAAG,EAAE,KAAK,CAAC;AAAA;AAAA,MAEjB,YAAY,CAAC,SAAS,SAAS,IAAI;AAAA,MACnC,YAAY,CAAC,UAAU,aAAQ,EAAE,KAAK,CAAC;AAAA,MACvC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,UAAU,MAAM;AAAA,MACrC,QAAQ,CAAC,WAAW,mCAA2B,MAAM;AAAA,MACrD,QAAQ;AAAA,MACR,cAAc,CAAC,SAAS,GAAG,IAAI;AAAA,MAC/B,WAAW,CAAC,OAAO,UACjB,UAAU,IACN,iBAAiB,EAAE,KAAK,CAAC,YACzB,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AAAA;AAAA,MAE5C,OAAO,CAAC,UAAU,YAAY,KAAK;AAAA,MACnC,SAAS,CAAC,UAAU,sBAAsB,KAAK;AAAA,IACjD;AAAA,IACA,mBAAmB;AAAA,MACjB,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,KAAK;AAAA,MACL,aAAa,CAAC,OAAO,UAAU,GAAG,KAAK,SAAM,EAAE,KAAK,CAAC;AAAA,MACrD,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,kBAAkB,CAAC,UAAU,6BAA6B,EAAE,KAAK,CAAC;AAAA,MAClE,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,cAAc;AAAA,MACd,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU,CAAC,UAAU,UAAU,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;AAAA,MAC7D,gBAAgB,CAAC,UAAU,UAAU,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MAC/D,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,qBAAqB,CAAC,WAAW,SAC/B,8DAAyD,SAAS,kBAAkB,IAAI;AAAA,MAC1F,cAAc,CAAC,MAAM,SAAS,oBAAiB,IAAI,OAAO,IAAI;AAAA,MAC9D,aAAa,CAAC,MAAM,SAAS,6CAAuC,IAAI,OAAO,IAAI;AAAA;AAAA,MAEnF,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,0CAAoC,KAAK;AAAA,MAC3D,mBAAmB,CAAC,UAAU,4BAA4B,EAAE,KAAK,CAAC;AAAA,MAClE,QAAQ;AAAA,IACV;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/i18n/german.ts"],"sourcesContent":["import { formatFileSize } from \"./kit-labels\";\nimport type { UiKitLabels } from \"./kit-labels\";\n\n/**\n * The kit's German, formal (\"Sie\"), written in standard spelling with \"ß\" — the SOURCE\n * the public `de-CH` catalogue is derived from (via `swiss()`), not a catalogue itself.\n *\n * Internal on purpose: it lives outside `src/i18n/locales/` because every file there is\n * a public `@eifi1/ui-kit/i18n/<code>` subpath, and the kit ships ONE German — Swiss,\n * formal (0.18.0 removed `/i18n/de`, `/i18n/de-informal` and `/i18n/de-CH-informal`).\n * The text stays written with \"ß\" because `swiss()` respells at runtime, so a Swiss app\n * also gets an argument it passes in (a file name, a phrase to type) respelled; writing\n * \"ss\" here instead would change that behaviour for every function label.\n *\n * Counts and sizes are formatted with `numberLocale`'s digits; the words never change.\n */\nexport function germanLabels(numberLocale: string): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Bild anhängen\",\n attachmentCapture: \"Screenshot aufnehmen\",\n attachmentPaste: \"…oder einen Screenshot aus der Zwischenablage einfügen.\",\n attachmentRemove: \"Anhang entfernen\",\n attachmentList: \"Anhänge\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `${name} entfernen`,\n attachmentLimit: (max) => `Maximal ${n(max)} ${max === 1 ? \"Anhang\" : \"Anhänge\"} – zum Hinzufügen erst einen entfernen.`,\n attachmentUploading: \"Wird hochgeladen…\",\n attachmentUploadFailed: (name) => `„${name}“ konnte nicht hochgeladen werden`,\n },\n feedbackDialog: {\n title: \"Feedback senden\",\n category: \"Kategorie\",\n subject: \"Betreff\",\n body: \"Was ist passiert?\",\n bodyOptional: \"Was ist passiert? (optional)\",\n attachment: \"Screenshot\",\n submitHint: \"Strg/⌘ + Enter zum Senden\",\n cancel: \"Abbrechen\",\n save: \"Senden\",\n },\n feedbackThread: {\n thread: \"Kommentare\",\n empty: \"Noch keine Kommentare\",\n loading: \"Kommentare werden geladen…\",\n // The reader's own messages. \"Ich\" rather than \"Sie\": it reads the same whether\n // the app addresses its users with \"Sie\" or \"du\", so neither has to override it.\n you: \"Ich\",\n staff: \"Team\",\n attachments: \"Anhänge\",\n },\n feedbackComposer: {\n field: \"Kommentar schreiben\",\n placeholder: \"Kommentar schreiben…\",\n send: \"Senden\",\n // German keyboards label the key \"Strg\".\n sendHint: (modifier) => `${modifier === \"Ctrl\" ? \"Strg\" : modifier} + Enter zum Senden`,\n // \"Umschalt\", the German key label, as in the table's sort hint.\n sendHintEnter: \"Enter zum Senden, Umschalt + Enter für neue Zeile\",\n },\n accountSettings: {\n profile: {\n title: \"Profil\",\n email: \"E-Mail\",\n role: \"Rolle\",\n memberSince: \"Mitglied seit\",\n displayName: \"Anzeigename\",\n save: \"Speichern\",\n },\n password: {\n title: \"Passwort ändern\",\n current: \"Aktuelles Passwort\",\n next: \"Neues Passwort\",\n confirm: \"Neues Passwort bestätigen\",\n submit: \"Passwort ändern\",\n tooShort: \"Das neue Passwort ist zu kurz.\",\n mismatch: \"Die Passwörter stimmen nicht überein.\",\n },\n twoFactor: {\n status: \"Zwei-Faktor-Authentifizierung\",\n enabledText: \"Aktiv\",\n disabledText: \"Inaktiv\",\n enable: \"Zwei-Faktor-Authentifizierung einrichten\",\n scanHint: \"Diesen Code mit der Authenticator-App scannen und den angezeigten Code eingeben.\",\n codeLabel: \"Bestätigungscode\",\n verify: \"Bestätigen und aktivieren\",\n disableSection: \"Zwei-Faktor-Authentifizierung deaktivieren\",\n password: \"Aktuelles Passwort\",\n disable: \"Deaktivieren\",\n qrAlt: \"QR-Code für die Authenticator-App\",\n secretHint: \"Scannen nicht möglich? Stattdessen diesen Schlüssel in der App eingeben:\",\n copySecret: \"Schlüssel kopieren\",\n },\n passkeys: {\n title: \"Passkeys\",\n description: \"Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN statt Passwort anmelden.\",\n descriptionAlongside: \"Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN anmelden. Das Passwort funktioniert weiterhin.\",\n empty: \"Noch keine Passkeys\",\n loading: \"Passkeys werden geladen…\",\n list: \"Registrierte Passkeys\",\n nameLabel: \"Name (optional)\",\n namePlaceholder: \"z. B. Laptop, Handy\",\n add: \"Passkey hinzufügen\",\n adding: \"Warten auf das Gerät…\",\n rename: \"Umbenennen\",\n renameItem: (name) => `${name} umbenennen`,\n renameField: (name) => `Neuer Name für ${name}`,\n save: \"Speichern\",\n cancel: \"Abbrechen\",\n delete: \"Löschen\",\n deleteItem: (name) => `${name} löschen`,\n deleteConfirm: (name) => `„${name}“ löschen? Eine Anmeldung damit ist dann nicht mehr möglich.`,\n confirmDelete: \"Passkey löschen\",\n created: (date) => `Hinzugefügt am ${date}`,\n lastUsed: (date) => `Zuletzt verwendet am ${date}`,\n neverUsed: \"Noch nie verwendet\",\n },\n },\n measuredGrid: {\n view: \"Tabellenansicht\",\n cellsView: \"Zellen\",\n textView: \"Text\",\n addRow: \"Zeile hinzufügen\",\n removeRow: (row) => `Zeile ${row} entfernen`,\n clear: \"Tabelle leeren\",\n pasteHint: \"Einen Block aus einer Tabellenkalkulation in eine beliebige Zelle einfügen\",\n cell: (column, row) => `${column}, Zeile ${row}`,\n rowNumber: \"Zeile\",\n rowActions: \"Zeilenaktionen\",\n keyboardHint:\n \"Pfeiltasten wechseln zwischen Zellen. Tippen ersetzt eine Zelle, F2 bearbeitet sie, Escape macht die Bearbeitung rückgängig. Enter geht nach unten und fügt am Ende eine Zeile hinzu.\",\n lineError: (line) => `Zeile ${line} konnte nicht gelesen werden`,\n points: (count) => (count === 1 ? \"1 Punkt\" : `${count} Punkte`),\n problems: (count) =>\n count === 1 ? \"1 Zelle ist keine Zahl\" : `${count} Zellen sind keine Zahlen`,\n },\n pageContents: { title: \"Auf dieser Seite\" },\n common: {\n dismiss: \"Schließen\",\n close: \"Schließen\",\n clear: \"Leeren\",\n search: \"Suchen\",\n done: \"Fertig\",\n cancel: \"Abbrechen\",\n save: \"Speichern\",\n back: \"Zurück\",\n next: \"Weiter\",\n remove: \"Entfernen\",\n loading: \"Wird geladen…\",\n noResults: \"Keine Ergebnisse\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"öffnet in einem neuen Tab\",\n },\n dataTable: {\n columns: \"Spalten\",\n selectAllRows: \"Alle Zeilen auswählen\",\n sortHint: \"Klicken zum Sortieren · Umschalt-Klick für weitere Sortierung\",\n filter: \"Filter\",\n close: \"Schließen\",\n selectRow: \"Zeile auswählen\",\n autoSize: \"Spaltenbreiten anpassen\",\n loading: \"Wird geladen…\",\n filters: \"Filter\",\n // Resets every active filter; \"Alle löschen\" would read as deleting the filters.\n clearAll: \"Alle zurücksetzen\",\n done: \"Fertig\",\n pageSize: \"Zeilen pro Seite\",\n // Sits among 10 / 25 / 50 counting \"Zeilen\", so the plural \"Alle\", not \"Alles\".\n pageSizeAll: \"Alle\",\n prevPage: \"Vorherige Seite\",\n nextPage: \"Nächste Seite\",\n clearFilter: \"Filter zurücksetzen\",\n filterPlaceholder: \"Filtern…\",\n selectFilter: \"Auswählen\",\n selectAll: \"Alle\",\n selectNone: \"Keine\",\n dateFrom: \"Von\",\n dateTo: \"Bis\",\n numberMin: \"Min.\",\n numberMax: \"Max.\",\n numberAbs: \"Betrag\",\n presets: {\n today: \"Heute\",\n yesterday: \"Gestern\",\n this_week: \"Diese Woche\",\n last_week: \"Letzte Woche\",\n last_7_days: \"Letzte 7 Tage\",\n last_30_days: \"Letzte 30 Tage\",\n this_month: \"Dieser Monat\",\n last_month: \"Letzter Monat\",\n last_3_months: \"Letzte 3 Monate\",\n ytd: \"Seit Jahresbeginn\",\n last_year: \"Letztes Jahr\",\n },\n table: \"Datentabelle\",\n filterResults: (shown, total) =>\n `${n(shown)} von ${n(total)} ${total === 1 ? \"Zeile\" : \"Zeilen\"}`,\n sortedAscending: (column) => `Sortiert nach ${column}, aufsteigend`,\n sortedDescending: (column) => `Sortiert nach ${column}, absteigend`,\n sortCleared: (column) => `Sortierung nach ${column} aufgehoben`,\n pageChanged: (page, totalPages) => `Seite ${n(page)} von ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Spalten (${n(visible)}/${n(total)})`,\n empty: \"Keine Einträge\",\n actions: \"Aktionen\",\n edit: \"Bearbeiten\",\n delete: \"Löschen\",\n booleanTrue: \"Ja\",\n booleanFalse: \"Nein\",\n booleanUnset: \"Nicht festgelegt\",\n sortBy: \"Sortieren nach\",\n sortDefault: \"Standardreihenfolge\",\n sortAscending: \"Aufsteigend\",\n sortDescending: \"Absteigend\",\n },\n miniCalendar: {\n previousMonth: \"Vorheriger Monat\",\n nextMonth: \"Nächster Monat\",\n // Already formatted in the provider's locale (\"Montag, 14. September 2026\").\n day: (date) => date,\n chooseStart: \"Startdatum wählen\",\n chooseEnd: \"Enddatum wählen\",\n startSelected: (date) => `${date} als Startdatum gewählt. Wählen Sie jetzt ein Enddatum.`,\n rangeSelected: (from, to) =>\n `Zeitraum ${from} bis ${to} gewählt. Wählen Sie ein Startdatum, um neu zu beginnen.`,\n },\n calendarHeatmap: {\n grid: \"Tageswerte\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Weniger\",\n more: \"Mehr\",\n truncated: (count) =>\n `Die neuesten Tage werden angezeigt; ${n(count)} ${count === 1 ? \"früherer Tag wird\" : \"frühere Tage werden\"} nicht angezeigt.`,\n },\n datePicker: {\n apply: \"Übernehmen\",\n cancel: \"Abbrechen\",\n presets: \"Schnellauswahl\",\n panel: \"Datum wählen\",\n rangePanel: \"Zeitraum wählen\",\n clear: \"Leeren\",\n previousDay: \"Vorheriger Tag\",\n nextDay: \"Nächster Tag\",\n today: \"Heute\",\n },\n monthPicker: {\n previousYear: \"Vorheriges Jahr\",\n nextYear: \"Nächstes Jahr\",\n panel: \"Monat wählen\",\n month: (monthYear) => monthYear,\n previousMonth: \"Vorheriger Monat\",\n nextMonth: \"Nächster Monat\",\n today: \"Heute\",\n yearPanel: \"Jahr wählen\",\n earlierYears: \"Frühere Jahre\",\n laterYears: \"Spätere Jahre\",\n thisYear: \"Dieses Jahr\",\n },\n popover: {\n panel: \"Aufklappfenster\",\n },\n combobox: {\n search: \"Suchen\",\n noResults: \"Keine Ergebnisse\",\n clear: \"Leeren\",\n loading: \"Wird geladen…\",\n create: (query) => `„${query}“ anlegen`,\n selectedCount: (count) => `${n(count)} ausgewählt`,\n loadError: \"Ergebnisse konnten nicht geladen werden\",\n resultCount: (count) => `${n(count)} ${count === 1 ? \"Ergebnis\" : \"Ergebnisse\"}`,\n // \"Zeichen\" is the same in singular and plural.\n minChars: (count) => `Mindestens ${n(count)} Zeichen eingeben`,\n },\n multiSelect: {\n search: \"Suchen\",\n selectAll: \"Alle auswählen\",\n clear: \"Leeren\",\n all: \"Alle\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Taschenrechner öffnen\",\n panel: \"Taschenrechner\",\n calculation: \"Rechnung\",\n backspace: \"Rücktaste\",\n clear: \"Löschen\",\n equals: \"Ist gleich\",\n done: \"Fertig\",\n plus: \"Plus\",\n minus: \"Minus\",\n times: \"Mal\",\n divide: \"Geteilt durch\",\n decimal: \"Dezimaltrennzeichen\",\n },\n currency: {\n currency: \"Währung\",\n search: \"Währung suchen\",\n },\n chipInput: {\n // The value is arbitrary user text, quoted as a citation, so the participle agrees\n // with the implied \"Eintrag\" whatever the chip says.\n added: (value) => `„${value}“ hinzugefügt`,\n removed: (value) => `„${value}“ entfernt`,\n remove: \"Entfernen\",\n // `von` governs the dative, visible only in the plural: \"von 1 Eintrag\", \"von 2 Einträgen\".\n atLimit: (max) => `Grenze von ${n(max)} ${max === 1 ? \"Eintrag\" : \"Einträgen\"} erreicht`,\n duplicate: (value) => `„${value}“ steht bereits in der Liste`,\n },\n swatchPicker: {\n none: \"Keine Farbe\",\n mixed: \"Gemischt: Die ausgewählten Elemente haben unterschiedliche Farben\",\n },\n iconPicker: {\n none: \"Kein Symbol\",\n mixed: \"Gemischt: Die ausgewählten Elemente haben unterschiedliche Symbole\",\n search: \"Symbole suchen\",\n noResults: \"Keine passenden Symbole\",\n resultCount: (count) => `${n(count)} ${count === 1 ? \"Symbol\" : \"Symbole\"}`,\n },\n fieldSync: {\n synced: \"Gespeichert\",\n edited: \"Nicht gespeicherte Änderungen\",\n pending: \"Wird gespeichert…\",\n error: \"Speichern fehlgeschlagen\",\n retry: \"Erneut versuchen\",\n },\n passwordReveal: {\n show: \"Passwort anzeigen\",\n hide: \"Passwort verbergen\",\n },\n dangerConfirm: {\n arm: \"Löschen…\",\n confirm: \"Löschen\",\n cancel: \"Abbrechen\",\n prompt: \"Dies kann nicht rückgängig gemacht werden.\",\n password: \"Passwort\",\n phrase: (phrase) => `Geben Sie zur Bestätigung „${phrase}“ ein`,\n acknowledge: \"Ich habe gelesen, was dies bewirkt, und möchte fortfahren.\",\n needsPhrase: (phrase) => `Geben Sie zur Bestätigung „${phrase}“ ein`,\n needsAcknowledge: \"Setzen Sie zur Bestätigung das Häkchen\",\n needsPassword: \"Geben Sie zur Bestätigung Ihr Passwort ein\",\n },\n tabs: {\n // \"Tab\" is what German UIs say; \"Registerkarte\" reads like a 1990s manual.\n add: \"Tab hinzufügen\",\n remove: (tab) => `${tab} entfernen`,\n },\n appShell: {\n collapse: \"Seitenleiste einklappen\",\n expand: \"Seitenleiste ausklappen\",\n toggleGroup: (groupLabel) => `${groupLabel}: Seiten`,\n },\n topBar: {\n theme: \"Theme wechseln\",\n palette: \"Darstellungsvorlage\",\n language: \"Sprache\",\n switchRole: \"Rolle wechseln\",\n role: (value) => `Rolle: ${value}`,\n },\n pickerSheet: {\n close: \"Schließen\",\n },\n dialogFrame: {\n close: \"Schließen\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ausgewählt`,\n clear: \"Auswahl aufheben\",\n cleared: \"Auswahl aufgehoben\",\n },\n swipeableRow: {\n actions: \"Zeilenaktionen\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Datei-Upload\",\n browse: \"Durchsuchen\",\n empty: \"Datei hier ablegen\",\n emptyMultiple: \"Dateien hier ablegen\",\n hint: (accept) => (accept ? `Erlaubt: ${accept}` : \"Beliebiger Dateityp\"),\n busy: \"Wird hochgeladen…\",\n rejectedPick: (count) =>\n count === 1\n ? \"Die Datei wurde nicht hinzugefügt\"\n : `Keine der ${count} Dateien wurde hinzugefügt`,\n rejectedType: (name) => `„${name}“ hat einen nicht unterstützten Dateityp`,\n rejectedTypeOnly: (accept) => `Nur ${accept}-Dateien`,\n rejectedSize: (name, maxSize) => `„${name}“ ist größer als ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `„${name}“ wurde nicht hinzugefügt: höchstens ${n(maxFiles)} ${maxFiles === 1 ? \"Datei\" : \"Dateien\"}`,\n rejectedInvalid: (name) => `„${name}“ kann hier nicht verwendet werden`,\n rejectedMany: (count) =>\n count === 1\n ? \"1 Datei wurde nicht hinzugefügt\"\n : `${n(count)} Dateien wurden nicht hinzugefügt`,\n selected: (count, firstName) =>\n count === 1 ? `„${firstName}“ ausgewählt` : `${n(count)} Dateien ausgewählt`,\n remove: (name) => `„${name}“ entfernen`,\n clearAll: \"Alle Dateien entfernen\",\n removed: (name) => `„${name}“ entfernt`,\n cleared: \"Alle Dateien entfernt\",\n },\n wizard: {\n done: \"Fertig\",\n cancel: \"Abbrechen\",\n back: \"Zurück\",\n next: \"Weiter\",\n skip: \"Überspringen\",\n finish: \"Abschließen\",\n submitting: \"Wird erstellt…\",\n steps: \"Schritte\",\n step: (current, total) => `Schritt ${n(current)} von ${n(total)}`,\n cancelTitle: \"Formular verwerfen?\",\n confirmCancel: \"Ihre Eingaben gehen verloren.\",\n cancelConfirmLabel: \"Verwerfen\",\n cancelDismissLabel: \"Weiter bearbeiten\",\n reviewTitle: \"Überprüfen\",\n edit: \"Bearbeiten\",\n missingRequired: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n genericError: \"Ein Fehler ist aufgetreten\",\n },\n tour: {\n next: \"Weiter\",\n back: \"Zurück\",\n skip: \"Überspringen\",\n done: \"Fertig\",\n awaitClickHint: \"Klicken Sie auf das hervorgehobene Element, um fortzufahren\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Suche löschen\",\n submit: \"Suchen\",\n close: \"Schließen\",\n placeholder: \"Suchen…\",\n empty: \"Keine Ergebnisse\",\n loading: \"Wird gesucht…\",\n dialog: \"Suche\",\n error: \"Die Suche ist fehlgeschlagen. Bitte erneut versuchen.\",\n },\n globalSearch: {\n trigger: \"Suche\",\n placeholder: \"Suchen oder springen zu…\",\n shortcut: (keys) => `Suche (${keys})`,\n suggestions: \"Vorschläge\",\n results: \"Ergebnisse\",\n },\n sparkline: {\n rising: (first, last) => `Steigend von ${first} auf ${last}`,\n falling: (first, last) => `Fallend von ${first} auf ${last}`,\n flat: (value) => `Unverändert bei ${value}`,\n single: (value) => `Ein Wert: ${value}`,\n noData: \"Keine Daten\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n // `amount` arrives formatted and unsigned (\"5 %\", \"1.200 €\").\n increase: (amount) => `Um ${amount} gestiegen`,\n decrease: (amount) => `Um ${amount} gesunken`,\n unchanged: \"Keine Veränderung\",\n better: (change) => `${change} (besser)`,\n worse: (change) => `${change} (schlechter)`,\n noValue: \"Keine Daten\",\n loading: \"Wird geladen…\",\n },\n signaturePad: {\n label: \"Unterschrift\",\n instructions: \"Unterschreiben Sie im Feld mit der Maus, dem Finger oder einem Stift.\",\n typedFallbackHint: \"Wenn Sie nicht zeichnen können, geben Sie stattdessen Ihren Namen ein.\",\n empty: \"Noch nichts gezeichnet\",\n signed: \"Unterschrift gezeichnet\",\n undo: \"Letzten Strich rückgängig machen\",\n clear: \"Leeren\",\n save: \"Unterschrift speichern\",\n useTyped: \"Stattdessen Namen eingeben\",\n useDrawn: \"Stattdessen zeichnen\",\n typedName: \"Vollständiger Name\",\n cleared: \"Unterschrift gelöscht\",\n undone: \"Letzter Strich entfernt\",\n viewEmpty: \"Nicht unterschrieben\",\n viewDrawn: \"Handschriftliche Unterschrift\",\n viewTyped: (name) => `Unterschrieben mit dem eingegebenen Namen ${name}`,\n },\n passwordStrength: {\n tooShort: \"Zu kurz\",\n weak: \"Schwach\",\n fair: \"Mittel\",\n good: \"Gut\",\n strong: \"Stark\",\n announcement: (level) => `Passwortstärke: ${level}`,\n // \"Zeichen\" is the same in singular and plural. The English default does not\n // format these counts, so neither does this file.\n ruleLength: (minLength) => `Mindestens ${minLength} Zeichen`,\n ruleCase: \"Groß- und Kleinbuchstaben\",\n ruleDigit: \"Eine Ziffer\",\n ruleSymbol: \"Ein Sonderzeichen\",\n optional: (rule) => `${rule} (optional)`,\n met: \"Erfüllt:\",\n notMet: \"Nicht erfüllt:\",\n tooLong: (maxBytes) =>\n `Höchstens ${maxBytes} Zeichen (Buchstaben mit Akzent und Emojis zählen mehrfach).`,\n },\n seriesChart: {\n resetZoom: \"Zoom zurücksetzen\",\n zoomHint:\n \"Zum Zoomen ziehen: Eine annähernd quadratische Auswahl zoomt beide Achsen, eine lange, schmale nur ihre eigene. Doppelklick setzt zurück.\",\n empty: \"Keine Daten\",\n legend: \"Datenreihen\",\n points: \"Diagrammwerte\",\n },\n pieChart: {\n slices: \"Diagrammsegmente\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Gesamt\",\n empty: \"Keine Daten\",\n legend: \"Kategorien\",\n },\n confirmDialog: {\n confirm: \"Bestätigen\",\n cancel: \"Abbrechen\",\n typed: (text) => `Geben Sie zur Bestätigung „${text}“ ein`,\n },\n floatingPanel: {\n close: \"Schließen\",\n badge: (count) => `${n(count)} neu`,\n },\n copyButton: {\n copy: \"Kopieren\",\n copied: \"Kopiert\",\n failed: \"Kopieren fehlgeschlagen\",\n copiedAnnouncement: \"In die Zwischenablage kopiert\",\n failedAnnouncement: \"Kopieren in die Zwischenablage fehlgeschlagen\",\n },\n list: {\n unread: \"Ungelesen\",\n opensInNewTab: \"öffnet in einem neuen Tab\",\n },\n breadcrumbs: {\n label: \"Brotkrümelnavigation\",\n showAll: \"Vollständigen Pfad anzeigen\",\n },\n toast: {\n close: \"Benachrichtigung schließen\",\n notifications: \"Benachrichtigungen\",\n undo: \"Rückgängig\",\n redo: \"Wiederholen\",\n },\n form: {\n save: \"Speichern\",\n cancel: \"Abbrechen\",\n // German keyboards label the key \"Strg\"; Apple's ⌘ is the same everywhere.\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Strg+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Zeile hinzufügen\",\n remove: (row) => `Zeile ${row} entfernen`,\n confirmRemove: (row) => `Zeile ${row} entfernen? Zum Bestätigen erneut drücken`,\n row: (row) => `Zeile ${row}`,\n cell: (column, row) => `${column}, Zeile ${row}`,\n totals: \"Summe\",\n },\n progressBar: {\n unlimited: \"Unbegrenzt\",\n overLimit: (amount) => `${amount} über dem Limit`,\n },\n signedAmount: {\n positive: (amount) => `plus ${amount}`,\n negative: (amount) => `minus ${amount}`,\n },\n errorBoundary: {\n title: \"Etwas ist schiefgelaufen\",\n message: \"Dieser Teil der Seite konnte nicht angezeigt werden. Bitte erneut versuchen oder die Seite neu laden.\",\n retry: \"Erneut versuchen\",\n details: \"Fehlerdetails\",\n reload: \"Neu laden\",\n updateTitle: \"Eine neue Version ist verfügbar\",\n updateMessage: \"Ein Teil der App hat sich seit dem Laden dieser Seite geändert. Zum Aktualisieren die Seite neu laden.\",\n offlineTitle: \"Keine Internetverbindung\",\n offlineMessage: \"Diese Seite konnte ohne Verbindung nicht geladen werden. Nach dem Wiederherstellen der Verbindung die Seite neu laden.\",\n copyReport: \"Fehlerbericht kopieren\",\n reported: \"Der Fehler wurde automatisch gemeldet.\",\n reportedAs: (reference) => `Gemeldet unter ${reference}`,\n },\n authedImage: {\n loading: \"Bild wird geladen…\",\n loadError: \"Bild konnte nicht geladen werden\",\n failedImage: (alt) => `${alt}: Bild konnte nicht geladen werden`,\n },\n imageGrid: {\n list: \"Bilder\",\n item: (index, count) => `Bild ${n(index)} von ${n(count)}`,\n actions: (name) => `Aktionen für ${name}`,\n },\n lightbox: {\n dialog: \"Bildansicht\",\n close: \"Schließen\",\n previous: \"Vorheriges Bild\",\n next: \"Nächstes Bild\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Bild ${n(index)} von ${n(count)}`,\n download: \"Herunterladen\",\n zoom: \"Zoomen\",\n noPreview: \"Für diese Datei ist keine Vorschau verfügbar\",\n openInNewTab: \"In neuem Tab öffnen\",\n },\n writeLock: {\n // Impersonal, like the rest of this catalogue where it can be: an app that\n // addresses its users with \"du\" then has fewer keys to override.\n reason: \"Nur zum Ansehen – Änderungen sind hier nicht möglich.\",\n },\n accountState: {\n active: \"Aktiv\",\n inactive: \"Inaktiv\",\n invited: \"Eingeladen\",\n registered: \"Registriert\",\n unverified: \"Nicht bestätigt\",\n passwordChange: \"Passwortänderung erforderlich\",\n },\n shareCard: {\n dialogTitle: \"Teilen\",\n close: \"Schließen\",\n email: \"E-Mail-Adresse\",\n emailOptional: \"E-Mail-Adresse (optional)\",\n // example.com is reserved for examples (RFC 2606); a German-looking domain is\n // somebody's real one.\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"Bitte eine vollständige E-Mail-Adresse eingeben.\",\n role: \"Rolle\",\n roleOf: (name) => `Rolle von ${name}`,\n add: \"Teilen\",\n whoHasAccess: \"Wer hat Zugriff\",\n nobodyYet: \"Bisher hat niemand sonst Zugriff.\",\n pending: \"Ausstehend\",\n openInvite: \"Offener Einladungslink\",\n copyLink: \"Link kopieren\",\n team: \"Team\",\n teamHint: (name) => `Alle in ${name} erhalten Zugriff.`,\n remove: \"Zugriff entfernen\",\n removeConfirm: (name) => `Zugriff für ${name} entfernen?`,\n revokePending: \"Einladung zurückziehen\",\n revokePendingConfirm: (name) => `Einladung für ${name} zurückziehen?`,\n failed: \"Das hat nicht geklappt. Bitte erneut versuchen.\",\n loading: \"Wird geladen…\",\n },\n reauthDialog: {\n title: \"Identität bestätigen\",\n description: \"Zum Fortfahren das aktuelle Passwort eingeben.\",\n password: \"Aktuelles Passwort\",\n submit: \"Weiter\",\n cancel: \"Abbrechen\",\n },\n serverWake: {\n slow: \"Lädt noch – das dauert länger als sonst.\",\n waking: (appName) =>\n `Der Server schläft ein, wenn ${appName ?? \"die App\"} gerade niemand benutzt. Die erste Anfrage nach einer Pause muss ihn erst wieder starten. Das kann einen Moment dauern – es geht nichts verloren, die Seite füllt sich von selbst.`,\n },\n legal: {\n navLabel: \"Rechtliches\",\n },\n characterCount: {\n // \"Zeichen\" is the same in singular and plural.\n count: (used, max) => `${n(used)} von ${n(max)} Zeichen`,\n remaining: (left) => `Noch ${n(left)} Zeichen`,\n limitReached: \"Zeichenlimit erreicht\",\n },\n countrySelect: {\n country: \"Land\",\n search: \"Land suchen\",\n others: \"Weitere Länder\",\n },\n inlineEdit: {\n edit: (label) => `${label} bearbeiten`,\n failed: \"Die Änderung konnte nicht gespeichert werden.\",\n empty: \"Leer\",\n },\n ibanInput: {\n format: \"Eine IBAN beginnt mit einem Ländercode aus zwei Buchstaben und zwei Prüfziffern.\",\n country: (code) => `„${code}“ ist kein Ländercode einer IBAN.`,\n length: (actual, expected) =>\n `Eine IBAN aus diesem Land hat ${n(expected)} Zeichen – diese hat ${n(actual)}.`,\n checksum: \"Die Prüfziffern stimmen nicht – vermutlich ist ein Zeichen falsch eingegeben.\",\n qrRequired: \"Dies ist eine reguläre IBAN. Eine QR-Rechnung braucht die QR-IBAN des Kontos.\",\n qrNotAllowed:\n \"Dies ist eine QR-IBAN, die nur Zahlungen mit QR-Rechnung empfängt. Geben Sie die reguläre IBAN des Kontos ein.\",\n },\n phoneInput: {\n countryCode: \"Ländervorwahl\",\n other: \"Andere\",\n },\n signChip: {\n outflow: \"Ausgabe\",\n inflow: \"Einnahme\",\n direction: (current, next) => `Richtung: ${current} – zu ${next} wechseln`,\n },\n columnMapper: {\n paste: \"Tabelle einfügen\",\n pasteHint:\n \"Die Zeilen aus einer Tabellenkalkulation kopieren und hier einfügen – oder eine CSV- oder Textdatei hier ablegen.\",\n chooseFile: \"Datei auswählen\",\n readError: (name) => `„${name}“ konnte nicht gelesen werden`,\n headerRow: \"Die erste Zeile enthält die Spaltennamen\",\n summary: (columns, rows) =>\n `${n(columns)} ${columns === 1 ? \"Spalte\" : \"Spalten\"}, ${n(rows)} ${rows === 1 ? \"Zeile\" : \"Zeilen\"}`,\n // Fragments of the summary line (\"3 Spalten, 120 Zeilen · durch Semikolons getrennt\").\n separatorSemicolon: \"durch Semikolons getrennt\",\n separatorComma: \"durch Kommas getrennt\",\n separatorTab: \"durch Tabulatoren getrennt\",\n separatorSpace: \"durch Leerzeichen getrennt\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"Dezimalkomma (1,5)\",\n decimalPoint: \"Dezimalpunkt (1.5)\",\n unreadCount: (count) =>\n count === 1\n ? \"1 Zeile konnte nicht gelesen werden\"\n : `${n(count)} Zeilen konnten nicht gelesen werden`,\n // A line number is a position, not a count: unformatted, as `measuredGrid.lineError`.\n unreadLine: (line) => `Zeile ${line} konnte nicht gelesen werden`,\n unreadMore: (count) => `…und ${n(count)} weitere`,\n noRows: \"Keine Zeile dieses Textes lässt sich als Tabellenzeile lesen.\",\n table: \"Spaltenzuordnung\",\n columnN: (column) => `Spalte ${column}`,\n roleOf: (column) => `Was enthält die Spalte „${column}“?`,\n ignore: \"Ignorieren\",\n requiredRole: (role) => `${role} (erforderlich)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) =>\n shown === 1\n ? `Die erste von ${n(total)} Zeilen`\n : `Die ersten ${n(shown)} von ${n(total)} Zeilen`,\n // `roles` arrives joined with \"oder\" (\"Soll oder Haben\").\n oneOf: (roles) => `entweder ${roles}`,\n missing: (roles) => `Noch erforderlich: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Fehlt\",\n statusUnreviewed: \"Ungeprüft\",\n statusChanged: \"Seit der Prüfung geändert\",\n statusNeedsChange: \"Änderung nötig\",\n statusApproved: \"Bestätigt\",\n statusFilter: \"Status\",\n all: \"Alle\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Texte\",\n allSources: \"Alle Texte\",\n namespace: \"Bereich\",\n allNamespaces: \"Alle Bereiche\",\n search: \"Schlüssel und Texte durchsuchen\",\n placeholdersOnly: (count) => `Nur Platzhalter-Probleme (${n(count)})`,\n placeholderChip: \"Platzhalter\",\n key: \"Schlüssel\",\n statusColumn: \"Status\",\n empty: \"Keine Texte passen zu diesen Filtern.\",\n missingText: \"Fehlt in dieser Sprache\",\n progress: (approved, total) => `${n(approved)} von ${n(total)} bestätigt`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Sprachen\",\n approve: \"Bestätigen\",\n flag: \"Änderung nötig\",\n suggest: \"Übersetzung vorschlagen\",\n reset: \"Als ungeprüft markieren\",\n cancel: \"Abbrechen\",\n approveSelected: \"Auswahl bestätigen\",\n resetSelected: \"Auswahl als ungeprüft markieren\",\n selectShown: \"Alle angezeigten auswählen\",\n changedSince: \"Dieser Text wurde nach der Prüfung geändert. Bitte lesen Sie ihn noch einmal.\",\n reviewedWording: \"Wortlaut bei der Prüfung\",\n reviewedReference: \"Vorlage bei der Prüfung\",\n placeholderMismatch: (reference, text) =>\n `Die Platzhalter weichen von der Vorlage ab – Vorlage: ${reference}; dieser Text: ${text}. Die App setzt dort Werte ein, deshalb müssen sie genau so bleiben.`,\n lastApproved: (name, date) => `Bestätigt von ${name} am ${date}`,\n lastFlagged: (name, date) => `Als änderungsbedürftig markiert von ${name} am ${date}`,\n // Dative, after \"von\": \"Bestätigt von einem gelöschten Konto\".\n erasedReviewer: \"einem gelöschten Konto\",\n suggestion: \"Bessere Formulierung\",\n translation: \"Übersetzung\",\n note: \"Notiz (optional)\",\n notePlaceholder: \"Was falsch ist oder worauf zu achten ist\",\n readOnly: \"Sie können diese Sprache lesen, aber nicht prüfen.\",\n scope: (areas) => `Ihre Prüfung ist beschränkt auf: ${areas}.`,\n exportCorrections: (count) => `Korrekturen exportieren (${n(count)})`,\n failed: \"Das hat nicht geklappt. Bitte erneut versuchen.\",\n approvedToast: (count) => (count === 1 ? \"Text bestätigt\" : `${n(count)} Texte bestätigt`),\n groupCount: (unreviewed, total) => `${n(unreviewed)} ungeprüft / ${n(total)}`,\n approveGroup: (count) => `Ungeprüfte bestätigen (${n(count)})`,\n // The group's name quoted, as `columnMapper.roleOf`'s column: it is often a key\n // (\"billing\"), which unquoted would read as part of the sentence.\n confirmGroup: (count, group) =>\n count === 1\n ? `Den ungeprüften Text in „${group}“ bestätigen?`\n : `Alle ${n(count)} ungeprüften Texte in „${group}“ bestätigen – auch die nicht angezeigten?`,\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
import '../data-table-labels-
|
|
2
|
+
import '../data-table-labels-Cdn1QS2k.js';
|
|
3
3
|
import '../components/mini-calendar.js';
|
|
4
4
|
import '../components/calendar-heatmap.js';
|
|
5
5
|
import '../components/popover.js';
|
|
6
6
|
import '../components/chip.js';
|
|
7
7
|
import '../components/field-sync.js';
|
|
8
|
-
export { A as AppShellLabels, C as CalculatorLabels, y as ChartTooltipPlacement, H as ComboboxLabels, I as CommonLabels, S as CurrencyLabels, W as DEFAULT_APP_SHELL_LABELS, Y as DEFAULT_CALCULATOR_LABELS, _ as DEFAULT_COMBOBOX_LABELS, $ as DEFAULT_COMMON_LABELS, a2 as DEFAULT_CURRENCY_LABELS, a4 as DEFAULT_DATE_PICKER_LABELS, a9 as DEFAULT_FILE_LABELS, af as DEFAULT_MULTI_SELECT_LABELS, ai as DEFAULT_PICKER_SHEET_LABELS, ak as DEFAULT_SWIPEABLE_ROW_LABELS, am as DEFAULT_TOP_BAR_LABELS, as as DatePickerLabels, bs as FileLabels, bV as KitDateFormatContext, bW as KitDateFormatter, bX as KitLinkComponent, bY as KitLinkProps, b_ as LabelOverride, c0 as MultiSelectLabels, c6 as PickerSheetLabels, co as SwipeableRowLabels, cv as TopBarLabels, cA as UiKitLabelOverrides, cB as UiKitLabels, cC as UiKitProvider, cD as UiKitProviderProps, cI as formatFileSize, cK as missingKitLabels, cS as useKitChartTooltipPlacement, cT as useKitDateFormatter, cU as useKitFileLabels, cV as useKitLabelOverrides, cW as useKitLabels, cX as useKitLink, cY as useKitLocale, cZ as useKitWeekStart } from '../feedback-
|
|
8
|
+
export { A as AppShellLabels, C as CalculatorLabels, y as ChartTooltipPlacement, H as ComboboxLabels, I as CommonLabels, S as CurrencyLabels, W as DEFAULT_APP_SHELL_LABELS, Y as DEFAULT_CALCULATOR_LABELS, _ as DEFAULT_COMBOBOX_LABELS, $ as DEFAULT_COMMON_LABELS, a2 as DEFAULT_CURRENCY_LABELS, a4 as DEFAULT_DATE_PICKER_LABELS, a9 as DEFAULT_FILE_LABELS, af as DEFAULT_MULTI_SELECT_LABELS, ai as DEFAULT_PICKER_SHEET_LABELS, ak as DEFAULT_SWIPEABLE_ROW_LABELS, am as DEFAULT_TOP_BAR_LABELS, as as DatePickerLabels, bs as FileLabels, bV as KitDateFormatContext, bW as KitDateFormatter, bX as KitLinkComponent, bY as KitLinkProps, b_ as LabelOverride, c0 as MultiSelectLabels, c6 as PickerSheetLabels, co as SwipeableRowLabels, cv as TopBarLabels, cA as UiKitLabelOverrides, cB as UiKitLabels, cC as UiKitProvider, cD as UiKitProviderProps, cI as formatFileSize, cK as missingKitLabels, cS as useKitChartTooltipPlacement, cT as useKitDateFormatter, cU as useKitFileLabels, cV as useKitLabelOverrides, cW as useKitLabels, cX as useKitLink, cY as useKitLocale, cZ as useKitWeekStart } from '../feedback-BXKH-ToU.js';
|
|
9
9
|
import '../wizard/types.js';
|
|
10
10
|
import '../tour/tour.js';
|
|
11
11
|
import '../search/command-palette.js';
|
package/dist/i18n/languages.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { cB as UiKitLabels } from '../feedback-
|
|
1
|
+
import { cB as UiKitLabels } from '../feedback-BXKH-ToU.js';
|
|
2
2
|
import { LanguageOption } from '../shell/topbar-controls.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../components/tooltip.js';
|
|
5
5
|
import '../hooks/use-anchored-rect.js';
|
|
6
6
|
import '../lib/clipping.js';
|
|
7
|
-
import '../data-table-labels-
|
|
7
|
+
import '../data-table-labels-Cdn1QS2k.js';
|
|
8
8
|
import '../components/data-table-sort.js';
|
|
9
9
|
import '../components/swipeable-row.js';
|
|
10
10
|
import '../components/mini-calendar.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { cB as UiKitLabels } from '../../feedback-
|
|
1
|
+
import { cB as UiKitLabels } from '../../feedback-BXKH-ToU.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../components/tooltip.js';
|
|
4
4
|
import '../../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../../lib/clipping.js';
|
|
6
|
-
import '../../data-table-labels-
|
|
6
|
+
import '../../data-table-labels-Cdn1QS2k.js';
|
|
7
7
|
import '../../components/data-table-sort.js';
|
|
8
8
|
import '../../components/swipeable-row.js';
|
|
9
9
|
import '../../components/mini-calendar.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { cB as UiKitLabels } from '../../feedback-
|
|
1
|
+
import { cB as UiKitLabels } from '../../feedback-BXKH-ToU.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../components/tooltip.js';
|
|
4
4
|
import '../../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../../lib/clipping.js';
|
|
6
|
-
import '../../data-table-labels-
|
|
6
|
+
import '../../data-table-labels-Cdn1QS2k.js';
|
|
7
7
|
import '../../components/data-table-sort.js';
|
|
8
8
|
import '../../components/swipeable-row.js';
|
|
9
9
|
import '../../components/mini-calendar.js';
|
package/dist/i18n/locales/en.js
CHANGED
|
@@ -93,7 +93,11 @@ function uiKitLabelsEn(numberLocale = "en-US") {
|
|
|
93
93
|
placeholdersOnly: (count) => `Only placeholder problems (${n(count)})`,
|
|
94
94
|
progress: (approved, total) => `${n(approved)} of ${n(total)} approved`,
|
|
95
95
|
localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,
|
|
96
|
-
exportCorrections: (count) => `Export corrections (${n(count)})
|
|
96
|
+
exportCorrections: (count) => `Export corrections (${n(count)})`,
|
|
97
|
+
approvedToast: (count) => count === 1 ? "String approved" : `${n(count)} strings approved`,
|
|
98
|
+
groupCount: (unreviewed, total) => `${n(unreviewed)} unreviewed / ${n(total)}`,
|
|
99
|
+
approveGroup: (count) => `Approve unreviewed (${n(count)})`,
|
|
100
|
+
confirmGroup: (count, group) => count === 1 ? `Approve the unreviewed string in ${group}?` : `Approve all ${n(count)} unreviewed strings in ${group}, including those not on screen?`
|
|
97
101
|
},
|
|
98
102
|
characterCount: {
|
|
99
103
|
...d.characterCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/en.ts"],"sourcesContent":["import { DEFAULT_UI_KIT_LABELS } from \"../defaults\";\nimport { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's English words with every count and file size formatted for\n * `numberLocale` — `uiKitLabelsEn(\"en-CH\")` reads \"12’345 rows\", where the defaults\n * print \"12345\". For `<UiKitProvider labels={uiKitLabelsEn(\"en-CH\")}>`.\n *\n * A factory and not a constant on purpose: {@link DEFAULT_UI_KIT_LABELS} prints counts\n * raw and has since 0.1, so an app that passes nothing must keep seeing exactly that.\n * Formatting is something an app asks for, by calling this.\n *\n * Derived rather than copied: every word is the default's own, spread in, and only the\n * labels that print a number are restated — with the same wording and the same\n * singular/plural split — so a key added to the defaults is here the moment it lands.\n * Row and line numbers (`lineItems.row`, `measuredGrid.cell`) are positions, not\n * counts, and stay as the defaults print them, as in the other catalogues.\n */\nexport function uiKitLabelsEn(numberLocale = \"en-US\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const d = DEFAULT_UI_KIT_LABELS;\n\n return {\n ...d,\n feedbackAttachment: {\n ...d.feedbackAttachment,\n attachmentLimit: (max) =>\n `Up to ${n(max)} ${max === 1 ? \"attachment\" : \"attachments\"} — remove one to add another.`,\n },\n measuredGrid: {\n ...d.measuredGrid,\n points: (count) => (count === 1 ? \"1 point\" : `${n(count)} points`),\n problems: (count) =>\n count === 1\n ? \"1 cell is not a number\"\n : `${n(count)} cells are not numbers`,\n },\n dataTable: {\n ...d.dataTable,\n filterResults: (shown, total) => `${n(shown)} of ${n(total)} rows`,\n pageChanged: (page, totalPages) => `Page ${n(page)} of ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Columns (${n(visible)}/${n(total)})`,\n },\n calendarHeatmap: {\n ...d.calendarHeatmap,\n truncated: (count) =>\n `Showing the most recent days; ${n(count)} earlier ${count === 1 ? \"day is\" : \"days are\"} not shown.`,\n },\n combobox: {\n ...d.combobox,\n selectedCount: (count) => `${n(count)} selected`,\n resultCount: (count) =>\n count === 1 ? \"1 result\" : `${n(count)} results`,\n minChars: (count) =>\n count === 1\n ? \"Type at least 1 character\"\n : `Type at least ${n(count)} characters`,\n },\n multiSelect: {\n ...d.multiSelect,\n selectedCount: (count) => n(count),\n },\n chipInput: {\n ...d.chipInput,\n atLimit: (max) => `Limit of ${n(max)} reached`,\n },\n iconPicker: {\n ...d.iconPicker,\n resultCount: (count) => (count === 1 ? \"1 icon\" : `${n(count)} icons`),\n },\n bulkActionBar: {\n ...d.bulkActionBar,\n selected: (count) => `${n(count)} selected`,\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3.4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n ...d.filePicker,\n rejectedCount: (name, maxFiles) =>\n `“${name}” was not added: at most ${n(maxFiles)} ${maxFiles === 1 ? \"file\" : \"files\"}`,\n rejectedMany: (count) => `${n(count)} files were not added`,\n rejectedPick: (count) =>\n count === 1\n ? \"The file was not added\"\n : `None of the ${n(count)} files were added`,\n selected: (count, firstName) =>\n count === 1 ? `“${firstName}” selected` : `${n(count)} files selected`,\n },\n wizard: {\n ...d.wizard,\n step: (current, total) => `Step ${n(current)} of ${n(total)}`,\n },\n tour: {\n ...d.tour,\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n passwordStrength: {\n ...d.passwordStrength,\n ruleLength: (minLength) => `At least ${n(minLength)} characters`,\n tooLong: (maxBytes) =>\n `At most ${n(maxBytes)} characters (accents and emoji count for more than one).`,\n },\n floatingPanel: {\n ...d.floatingPanel,\n badge: (count) => `${n(count)} new`,\n },\n imageGrid: {\n ...d.imageGrid,\n item: (index, count) => `Image ${n(index)} of ${n(count)}`,\n },\n lightbox: {\n ...d.lightbox,\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Image ${n(index)} of ${n(count)}`,\n },\n translationReview: {\n ...d.translationReview,\n filterCount: (label, count) => `${label} · ${n(count)}`,\n placeholdersOnly: (count) => `Only placeholder problems (${n(count)})`,\n progress: (approved, total) => `${n(approved)} of ${n(total)} approved`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n exportCorrections: (count) => `Export corrections (${n(count)})`,\n },\n characterCount: {\n ...d.characterCount,\n count: (used, max) => `${n(used)} of ${n(max)} characters`,\n remaining: (left) =>\n left === 1 ? \"1 character left\" : `${n(left)} characters left`,\n },\n ibanInput: {\n ...d.ibanInput,\n length: (actual, expected) =>\n `An IBAN from this country has ${n(expected)} characters — this one has ${n(actual)}.`,\n },\n columnMapper: {\n ...d.columnMapper,\n summary: (columns, rows) =>\n `${n(columns)} ${columns === 1 ? \"column\" : \"columns\"}, ${n(rows)} ${rows === 1 ? \"row\" : \"rows\"}`,\n unreadCount: (count) =>\n count === 1\n ? \"1 line could not be read\"\n : `${n(count)} lines could not be read`,\n unreadMore: (count) => `…and ${n(count)} more`,\n previewOf: (shown, total) =>\n shown === 1\n ? `The first of ${n(total)} rows`\n : `The first ${n(shown)} of ${n(total)} rows`,\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/en.ts"],"sourcesContent":["import { DEFAULT_UI_KIT_LABELS } from \"../defaults\";\nimport { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's English words with every count and file size formatted for\n * `numberLocale` — `uiKitLabelsEn(\"en-CH\")` reads \"12’345 rows\", where the defaults\n * print \"12345\". For `<UiKitProvider labels={uiKitLabelsEn(\"en-CH\")}>`.\n *\n * A factory and not a constant on purpose: {@link DEFAULT_UI_KIT_LABELS} prints counts\n * raw and has since 0.1, so an app that passes nothing must keep seeing exactly that.\n * Formatting is something an app asks for, by calling this.\n *\n * Derived rather than copied: every word is the default's own, spread in, and only the\n * labels that print a number are restated — with the same wording and the same\n * singular/plural split — so a key added to the defaults is here the moment it lands.\n * Row and line numbers (`lineItems.row`, `measuredGrid.cell`) are positions, not\n * counts, and stay as the defaults print them, as in the other catalogues.\n */\nexport function uiKitLabelsEn(numberLocale = \"en-US\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const d = DEFAULT_UI_KIT_LABELS;\n\n return {\n ...d,\n feedbackAttachment: {\n ...d.feedbackAttachment,\n attachmentLimit: (max) =>\n `Up to ${n(max)} ${max === 1 ? \"attachment\" : \"attachments\"} — remove one to add another.`,\n },\n measuredGrid: {\n ...d.measuredGrid,\n points: (count) => (count === 1 ? \"1 point\" : `${n(count)} points`),\n problems: (count) =>\n count === 1\n ? \"1 cell is not a number\"\n : `${n(count)} cells are not numbers`,\n },\n dataTable: {\n ...d.dataTable,\n filterResults: (shown, total) => `${n(shown)} of ${n(total)} rows`,\n pageChanged: (page, totalPages) => `Page ${n(page)} of ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Columns (${n(visible)}/${n(total)})`,\n },\n calendarHeatmap: {\n ...d.calendarHeatmap,\n truncated: (count) =>\n `Showing the most recent days; ${n(count)} earlier ${count === 1 ? \"day is\" : \"days are\"} not shown.`,\n },\n combobox: {\n ...d.combobox,\n selectedCount: (count) => `${n(count)} selected`,\n resultCount: (count) =>\n count === 1 ? \"1 result\" : `${n(count)} results`,\n minChars: (count) =>\n count === 1\n ? \"Type at least 1 character\"\n : `Type at least ${n(count)} characters`,\n },\n multiSelect: {\n ...d.multiSelect,\n selectedCount: (count) => n(count),\n },\n chipInput: {\n ...d.chipInput,\n atLimit: (max) => `Limit of ${n(max)} reached`,\n },\n iconPicker: {\n ...d.iconPicker,\n resultCount: (count) => (count === 1 ? \"1 icon\" : `${n(count)} icons`),\n },\n bulkActionBar: {\n ...d.bulkActionBar,\n selected: (count) => `${n(count)} selected`,\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3.4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n ...d.filePicker,\n rejectedCount: (name, maxFiles) =>\n `“${name}” was not added: at most ${n(maxFiles)} ${maxFiles === 1 ? \"file\" : \"files\"}`,\n rejectedMany: (count) => `${n(count)} files were not added`,\n rejectedPick: (count) =>\n count === 1\n ? \"The file was not added\"\n : `None of the ${n(count)} files were added`,\n selected: (count, firstName) =>\n count === 1 ? `“${firstName}” selected` : `${n(count)} files selected`,\n },\n wizard: {\n ...d.wizard,\n step: (current, total) => `Step ${n(current)} of ${n(total)}`,\n },\n tour: {\n ...d.tour,\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n passwordStrength: {\n ...d.passwordStrength,\n ruleLength: (minLength) => `At least ${n(minLength)} characters`,\n tooLong: (maxBytes) =>\n `At most ${n(maxBytes)} characters (accents and emoji count for more than one).`,\n },\n floatingPanel: {\n ...d.floatingPanel,\n badge: (count) => `${n(count)} new`,\n },\n imageGrid: {\n ...d.imageGrid,\n item: (index, count) => `Image ${n(index)} of ${n(count)}`,\n },\n lightbox: {\n ...d.lightbox,\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Image ${n(index)} of ${n(count)}`,\n },\n translationReview: {\n ...d.translationReview,\n filterCount: (label, count) => `${label} · ${n(count)}`,\n placeholdersOnly: (count) => `Only placeholder problems (${n(count)})`,\n progress: (approved, total) => `${n(approved)} of ${n(total)} approved`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n exportCorrections: (count) => `Export corrections (${n(count)})`,\n approvedToast: (count) => (count === 1 ? \"String approved\" : `${n(count)} strings approved`),\n groupCount: (unreviewed, total) => `${n(unreviewed)} unreviewed / ${n(total)}`,\n approveGroup: (count) => `Approve unreviewed (${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `Approve the unreviewed string in ${group}?`\n : `Approve all ${n(count)} unreviewed strings in ${group}, including those not on screen?`,\n },\n characterCount: {\n ...d.characterCount,\n count: (used, max) => `${n(used)} of ${n(max)} characters`,\n remaining: (left) =>\n left === 1 ? \"1 character left\" : `${n(left)} characters left`,\n },\n ibanInput: {\n ...d.ibanInput,\n length: (actual, expected) =>\n `An IBAN from this country has ${n(expected)} characters — this one has ${n(actual)}.`,\n },\n columnMapper: {\n ...d.columnMapper,\n summary: (columns, rows) =>\n `${n(columns)} ${columns === 1 ? \"column\" : \"columns\"}, ${n(rows)} ${rows === 1 ? \"row\" : \"rows\"}`,\n unreadCount: (count) =>\n count === 1\n ? \"1 line could not be read\"\n : `${n(count)} lines could not be read`,\n unreadMore: (count) => `…and ${n(count)} more`,\n previewOf: (shown, total) =>\n shown === 1\n ? `The first of ${n(total)} rows`\n : `The first ${n(shown)} of ${n(total)} rows`,\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { cB as UiKitLabels } from '../../feedback-
|
|
1
|
+
import { cB as UiKitLabels } from '../../feedback-BXKH-ToU.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../components/tooltip.js';
|
|
4
4
|
import '../../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../../lib/clipping.js';
|
|
6
|
-
import '../../data-table-labels-
|
|
6
|
+
import '../../data-table-labels-Cdn1QS2k.js';
|
|
7
7
|
import '../../components/data-table-sort.js';
|
|
8
8
|
import '../../components/swipeable-row.js';
|
|
9
9
|
import '../../components/mini-calendar.js';
|
package/dist/i18n/locales/es.js
CHANGED
|
@@ -681,6 +681,7 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
|
|
|
681
681
|
roleOf: (column) => `\xBFQu\xE9 contiene la columna \xAB${column}\xBB?`,
|
|
682
682
|
ignore: "Ignorar",
|
|
683
683
|
requiredRole: (role) => `${role} (obligatorio)`,
|
|
684
|
+
requiredRoleShort: (role) => `${role} *`,
|
|
684
685
|
previewOf: (shown, total) => shown === 1 ? `La primera de ${n(total)} filas` : `Las primeras ${n(shown)} de ${n(total)} filas`,
|
|
685
686
|
// `roles` arrives joined with "o" ("Debe o Haber").
|
|
686
687
|
oneOf: (roles) => `${roles} (a elegir)`,
|
|
@@ -732,7 +733,12 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
|
|
|
732
733
|
readOnly: "Puede leer este idioma, pero no revisarlo.",
|
|
733
734
|
scope: (areas) => `Su revisi\xF3n se limita a: ${areas}.`,
|
|
734
735
|
exportCorrections: (count) => `Exportar correcciones (${n(count)})`,
|
|
735
|
-
failed: "No ha funcionado. Int\xE9ntelo de nuevo."
|
|
736
|
+
failed: "No ha funcionado. Int\xE9ntelo de nuevo.",
|
|
737
|
+
approvedToast: (count) => count === 1 ? "Texto aprobado" : `${n(count)} textos aprobados`,
|
|
738
|
+
// "sin revisar" does not agree with the count, so one form serves both.
|
|
739
|
+
groupCount: (unreviewed, total) => `${n(unreviewed)} sin revisar / ${n(total)}`,
|
|
740
|
+
approveGroup: (count) => `Aprobar los sin revisar (${n(count)})`,
|
|
741
|
+
confirmGroup: (count, group) => count === 1 ? `\xBFAprobar el texto sin revisar de \xAB${group}\xBB?` : `\xBFAprobar los ${n(count)} textos sin revisar de \xAB${group}\xBB, incluidos los que no est\xE1n en pantalla?`
|
|
736
742
|
}
|
|
737
743
|
};
|
|
738
744
|
}
|