@eifi1/ui-kit 0.28.1 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -4
- package/dist/account/account-parts.d.ts +21 -0
- package/dist/account/account-parts.js +40 -0
- package/dist/account/account-parts.js.map +1 -0
- package/dist/account/data-export-setting.d.ts +73 -0
- package/dist/account/data-export-setting.js +113 -0
- package/dist/account/data-export-setting.js.map +1 -0
- package/dist/account/delete-account-setting.d.ts +91 -0
- package/dist/account/delete-account-setting.js +199 -0
- package/dist/account/delete-account-setting.js.map +1 -0
- package/dist/account/email-change-setting.d.ts +136 -0
- package/dist/account/email-change-setting.js +277 -0
- package/dist/account/email-change-setting.js.map +1 -0
- package/dist/account/sessions-setting.d.ts +110 -0
- package/dist/account/sessions-setting.js +146 -0
- package/dist/account/sessions-setting.js.map +1 -0
- package/dist/admin/admin-action-confirm.d.ts +91 -0
- package/dist/admin/admin-action-confirm.js +276 -0
- package/dist/admin/admin-action-confirm.js.map +1 -0
- package/dist/admin/admin-action-log.d.ts +105 -0
- package/dist/admin/admin-action-log.js +153 -0
- package/dist/admin/admin-action-log.js.map +1 -0
- package/dist/admin/admin-parts.d.ts +40 -0
- package/dist/admin/admin-parts.js +45 -0
- package/dist/admin/admin-parts.js.map +1 -0
- package/dist/admin/invitations-panel.d.ts +91 -0
- package/dist/admin/invitations-panel.js +289 -0
- package/dist/admin/invitations-panel.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +91 -0
- package/dist/admin/reviewer-scope-editor.js +134 -0
- package/dist/admin/reviewer-scope-editor.js.map +1 -0
- package/dist/admin/role-select.d.ts +91 -0
- package/dist/admin/role-select.js +128 -0
- package/dist/admin/role-select.js.map +1 -0
- package/dist/admin/transfer-ownership-dialog.d.ts +91 -0
- package/dist/admin/transfer-ownership-dialog.js +83 -0
- package/dist/admin/transfer-ownership-dialog.js.map +1 -0
- package/dist/admin/user-roster.d.ts +91 -0
- package/dist/admin/user-roster.js +285 -0
- package/dist/admin/user-roster.js.map +1 -0
- package/dist/auth/accept-invitation.d.ts +90 -0
- package/dist/auth/accept-invitation.js +117 -0
- package/dist/auth/accept-invitation.js.map +1 -0
- package/dist/auth/auth-errors.d.ts +139 -0
- package/dist/auth/auth-errors.js +92 -0
- package/dist/auth/auth-errors.js.map +1 -0
- package/dist/auth/complete-name-dialog.d.ts +71 -0
- package/dist/auth/complete-name-dialog.js +168 -0
- package/dist/auth/complete-name-dialog.js.map +1 -0
- package/dist/auth/email-tag.d.ts +60 -0
- package/dist/auth/email-tag.js +23 -0
- package/dist/auth/email-tag.js.map +1 -0
- package/dist/auth/forgot-password-form.d.ts +86 -0
- package/dist/auth/forgot-password-form.js +123 -0
- package/dist/auth/forgot-password-form.js.map +1 -0
- package/dist/auth/form-rules.d.ts +27 -0
- package/dist/auth/form-rules.js +23 -0
- package/dist/auth/form-rules.js.map +1 -0
- package/dist/auth/new-password-fields.d.ts +38 -0
- package/dist/auth/new-password-fields.js +54 -0
- package/dist/auth/new-password-fields.js.map +1 -0
- package/dist/auth/not-found-page.d.ts +57 -0
- package/dist/auth/not-found-page.js +40 -0
- package/dist/auth/not-found-page.js.map +1 -0
- package/dist/auth/register-form.d.ts +91 -0
- package/dist/auth/register-form.js +270 -0
- package/dist/auth/register-form.js.map +1 -0
- package/dist/auth/reset-password-form.d.ts +131 -0
- package/dist/auth/reset-password-form.js +167 -0
- package/dist/auth/reset-password-form.js.map +1 -0
- package/dist/auth/sign-in-form.d.ts +295 -0
- package/dist/auth/sign-in-form.js +426 -0
- package/dist/auth/sign-in-form.js.map +1 -0
- package/dist/auth/status-parts.d.ts +78 -0
- package/dist/auth/status-parts.js +83 -0
- package/dist/auth/status-parts.js.map +1 -0
- package/dist/auth/verify-email.d.ts +126 -0
- package/dist/auth/verify-email.js +243 -0
- package/dist/auth/verify-email.js.map +1 -0
- package/dist/chart.d.ts +25 -5
- package/dist/components/account-chips.d.ts +47 -7
- package/dist/components/account-chips.js +19 -3
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/account-settings-labels.d.ts +12 -1
- package/dist/components/account-settings-labels.js +4 -1
- package/dist/components/account-settings-labels.js.map +1 -1
- package/dist/components/account-settings.d.ts +61 -6
- package/dist/components/account-settings.js +115 -15
- package/dist/components/account-settings.js.map +1 -1
- package/dist/components/amount-input.d.ts +26 -5
- package/dist/components/button-group.d.ts +26 -5
- package/dist/components/calculator.d.ts +26 -5
- package/dist/components/confirm-dialog.d.ts +26 -5
- package/dist/components/copy-button.d.ts +23 -2
- package/dist/components/danger-confirm.d.ts +26 -5
- package/dist/components/facing-pair.d.ts +26 -5
- package/dist/components/file-button.d.ts +26 -5
- package/dist/components/file-dropzone.d.ts +26 -5
- package/dist/components/form-actions.d.ts +26 -5
- package/dist/components/iban-input.d.ts +26 -5
- package/dist/components/language-select.d.ts +26 -12
- package/dist/components/legal-page.d.ts +26 -5
- package/dist/components/legal.d.ts +26 -5
- package/dist/components/money-field.d.ts +26 -5
- package/dist/components/number-field.d.ts +26 -5
- package/dist/components/number-input.d.ts +26 -5
- package/dist/components/numpad-sheet.d.ts +26 -5
- package/dist/components/phone-input.d.ts +26 -5
- package/dist/components/series-chart.d.ts +26 -5
- package/dist/components/settings-fields.d.ts +25 -7
- package/dist/components/share-card.d.ts +25 -4
- package/dist/components/text-link.d.ts +26 -5
- package/dist/components/time-input.d.ts +26 -5
- package/dist/components/ui.d.ts +23 -2
- package/dist/components/user-avatar.d.ts +16 -2
- package/dist/components/user-avatar.js +7 -3
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/{kit-labels-Du0uHBq4.d.ts → delete-account-setting-CGVMckMw.d.ts} +6654 -5302
- package/dist/feedback/feedback-attachment.d.ts +26 -5
- package/dist/feedback/feedback-context.d.ts +26 -5
- package/dist/feedback/feedback-crash.d.ts +26 -5
- package/dist/feedback/feedback-dialog.d.ts +26 -5
- package/dist/feedback/feedback-inbox.d.ts +26 -5
- package/dist/feedback/feedback-labels.d.ts +26 -5
- package/dist/feedback/feedback-menu.d.ts +26 -5
- package/dist/feedback/feedback-record.d.ts +26 -5
- package/dist/feedback/feedback-row-detail.d.ts +26 -5
- package/dist/feedback/feedback-status-undo.d.ts +26 -5
- package/dist/feedback/feedback-submit.d.ts +26 -5
- package/dist/feedback/feedback-swipe.d.ts +26 -5
- package/dist/feedback/feedback-table.d.ts +23 -2
- package/dist/feedback/feedback-thread.d.ts +26 -5
- package/dist/feedback.d.ts +26 -5
- package/dist/hooks/use-anchored-panel.d.ts +6 -2
- package/dist/hooks/use-anchored-panel.js +2 -1
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +26 -5
- package/dist/i18n/defaults.d.ts +26 -5
- package/dist/i18n/defaults.js +40 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +26 -5
- package/dist/i18n/german.js +343 -2
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +23 -2
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +21 -204
- package/dist/i18n/locales/de-CH.d.ts +26 -5
- package/dist/i18n/locales/en.d.ts +26 -5
- package/dist/i18n/locales/es.d.ts +26 -5
- package/dist/i18n/locales/es.js +337 -3
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +26 -5
- package/dist/i18n/locales/fr.js +344 -2
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +26 -5
- package/dist/i18n/locales/hu.js +337 -3
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +26 -5
- package/dist/i18n/locales/it.js +342 -2
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +26 -5
- package/dist/i18n/locales/zh.js +333 -2
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +26 -5
- package/dist/i18n/review.js +45 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +19 -3
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/person-name.d.ts +69 -0
- package/dist/lib/person-name.js +65 -0
- package/dist/lib/person-name.js.map +1 -0
- package/dist/rhf/fields.d.ts +26 -5
- package/dist/rhf/form.d.ts +26 -5
- package/dist/rhf.d.ts +26 -5
- package/dist/shell/app-shell.d.ts +26 -5
- package/dist/shell/company-switcher.d.ts +59 -0
- package/dist/shell/company-switcher.js +85 -0
- package/dist/shell/company-switcher.js.map +1 -0
- package/dist/shell/top-bar-brand.d.ts +26 -5
- package/dist/shell/topbar-action-menu.d.ts +1 -0
- package/dist/shell.d.ts +20 -5
- package/dist/wizard/stepper-nav.d.ts +26 -5
- package/dist/wizard.d.ts +26 -5
- package/package.json +1 -1
- package/src/account/account-parts.ts +67 -0
- package/src/account/data-export-setting.tsx +218 -0
- package/src/account/delete-account-setting.tsx +362 -0
- package/src/account/email-change-setting.tsx +457 -0
- package/src/account/sessions-setting.tsx +283 -0
- package/src/admin/admin-action-confirm.tsx +495 -0
- package/src/admin/admin-action-log.tsx +297 -0
- package/src/admin/admin-parts.ts +82 -0
- package/src/admin/invitations-panel.tsx +516 -0
- package/src/admin/reviewer-scope-editor.tsx +234 -0
- package/src/admin/role-select.tsx +286 -0
- package/src/admin/transfer-ownership-dialog.tsx +172 -0
- package/src/admin/user-roster.tsx +573 -0
- package/src/auth/accept-invitation.tsx +227 -0
- package/src/auth/auth-errors.ts +262 -0
- package/src/auth/complete-name-dialog.tsx +253 -0
- package/src/auth/email-tag.ts +75 -0
- package/src/auth/forgot-password-form.tsx +229 -0
- package/src/auth/form-rules.ts +40 -0
- package/src/auth/new-password-fields.tsx +85 -0
- package/src/auth/not-found-page.tsx +98 -0
- package/src/auth/register-form.tsx +477 -0
- package/src/auth/reset-password-form.tsx +351 -0
- package/src/auth/sign-in-form.tsx +859 -0
- package/src/auth/status-parts.tsx +138 -0
- package/src/auth/verify-email.tsx +409 -0
- package/src/components/account-chips.tsx +64 -7
- package/src/components/account-settings-labels.ts +15 -1
- package/src/components/account-settings.tsx +199 -23
- package/src/components/user-avatar.tsx +22 -4
- package/src/hooks/use-anchored-panel.ts +14 -3
- package/src/i18n/defaults.ts +40 -0
- package/src/i18n/german.ts +379 -0
- package/src/i18n/kit-labels.tsx +60 -0
- package/src/i18n/locales/es.ts +371 -1
- package/src/i18n/locales/fr.ts +379 -0
- package/src/i18n/locales/hu.ts +366 -1
- package/src/i18n/locales/it.ts +373 -0
- package/src/i18n/locales/zh.ts +343 -0
- package/src/i18n/review.ts +44 -0
- package/src/index.ts +146 -0
- package/src/lib/person-name.ts +157 -0
- package/src/shell/company-switcher.tsx +140 -0
package/src/i18n/german.ts
CHANGED
|
@@ -17,6 +17,15 @@ import type { UiKitLabels } from "./kit-labels";
|
|
|
17
17
|
export function germanLabels(numberLocale: string): UiKitLabels {
|
|
18
18
|
const num = new Intl.NumberFormat(numberLocale);
|
|
19
19
|
const n = (value: number) => num.format(value);
|
|
20
|
+
// 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in
|
|
21
|
+
// src/auth/auth-errors.ts: no wait → "einen Moment", under a minute → seconds, else
|
|
22
|
+
// minutes rounded up. kastlan's reviewed "auth.throttled" is the sentence without one.
|
|
23
|
+
const wait = (seconds: number) =>
|
|
24
|
+
seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;
|
|
25
|
+
const rateLimited = (seconds?: number) =>
|
|
26
|
+
!seconds || seconds <= 0
|
|
27
|
+
? "Zu viele Versuche. Bitte warten Sie einen Moment und versuchen Sie es dann noch einmal."
|
|
28
|
+
: `Zu viele Versuche. Versuchen Sie es in ${wait(seconds)} erneut.`;
|
|
20
29
|
|
|
21
30
|
return {
|
|
22
31
|
feedbackAttachment: {
|
|
@@ -162,6 +171,9 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
162
171
|
memberSince: "Mitglied seit",
|
|
163
172
|
displayName: "Anzeigename",
|
|
164
173
|
save: "Speichern",
|
|
174
|
+
firstName: "Vorname",
|
|
175
|
+
lastName: "Nachname",
|
|
176
|
+
nameRequired: "Geben Sie Vor- und Nachnamen ein.",
|
|
165
177
|
},
|
|
166
178
|
password: {
|
|
167
179
|
title: "Passwort ändern",
|
|
@@ -718,6 +730,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
718
730
|
registered: "Registriert",
|
|
719
731
|
unverified: "Nicht bestätigt",
|
|
720
732
|
passwordChange: "Passwortänderung erforderlich",
|
|
733
|
+
deletion: "Löschung beantragt",
|
|
734
|
+
deletionOn: (date) => `Löschung am ${date}`,
|
|
721
735
|
},
|
|
722
736
|
shareCard: {
|
|
723
737
|
dialogTitle: "Teilen",
|
|
@@ -851,6 +865,371 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
851
865
|
},
|
|
852
866
|
},
|
|
853
867
|
},
|
|
868
|
+
// 0.29.0 — docs/auth-harmonization.md: keksdose's reviewed de-CH wording (auth.*,
|
|
869
|
+
// verify_email, error.not_found_*, budget_share.join_*), kastlan's for the names and
|
|
870
|
+
// the 2FA prompt; written fresh where neither app had the sentence. Formal "Sie".
|
|
871
|
+
signIn: {
|
|
872
|
+
email: "E-Mail",
|
|
873
|
+
password: "Passwort",
|
|
874
|
+
submit: "Anmelden",
|
|
875
|
+
passkey: "Mit Passkey anmelden",
|
|
876
|
+
forgotPassword: "Passwort vergessen?",
|
|
877
|
+
noAccount: "Noch kein Konto?",
|
|
878
|
+
register: "Registrieren",
|
|
879
|
+
invalidCredentials: "Die E-Mail-Adresse oder das Passwort ist falsch.",
|
|
880
|
+
failed: "Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
881
|
+
passkeyFailed: "Passkey-Anmeldung fehlgeschlagen.",
|
|
882
|
+
deactivatedHint: "Konto deaktiviert? Schreiben Sie an {contact}.",
|
|
883
|
+
tagHint: (taggedAddress) =>
|
|
884
|
+
`Mit ${taggedAddress} registriert? Verwenden Sie diese Adresse.`,
|
|
885
|
+
twoFactorTitle: "Zwei-Faktor-Authentifizierung",
|
|
886
|
+
twoFactorIntro: "Geben Sie den Code aus Ihrer Authenticator-App ein.",
|
|
887
|
+
code: "2FA-Code",
|
|
888
|
+
verify: "Bestätigen",
|
|
889
|
+
codeInvalid: "Ungültiger 2FA-Code.",
|
|
890
|
+
setPasswordTitle: "Neues Passwort vergeben",
|
|
891
|
+
setPasswordIntro:
|
|
892
|
+
"Für dieses Konto wurde ein neues Passwort angefordert. Vergeben Sie eines, dann geht es direkt weiter.",
|
|
893
|
+
newPassword: "Neues Passwort",
|
|
894
|
+
confirmPassword: "Neues Passwort wiederholen",
|
|
895
|
+
passwordMismatch: "Die Passwörter stimmen nicht überein.",
|
|
896
|
+
setPasswordSubmit: "Passwort vergeben und anmelden",
|
|
897
|
+
setPasswordFailed: "Das Passwort konnte nicht vergeben werden.",
|
|
898
|
+
expired: "Diese Anmeldung ist abgelaufen. Bitte melden Sie sich erneut an.",
|
|
899
|
+
backToSignIn: "Zurück zur Anmeldung",
|
|
900
|
+
// kastlan's backup-code words ("Backup-Code" — not keksdose's
|
|
901
|
+
// "Wiederherstellungscode", which is the key of its end-to-end encryption).
|
|
902
|
+
useRecoveryCode: "Backup-Code verwenden",
|
|
903
|
+
useAuthenticatorCode: "Authenticator-App verwenden",
|
|
904
|
+
recoveryCode: "Backup-Code",
|
|
905
|
+
recoveryIntro:
|
|
906
|
+
"Geben Sie einen der Backup-Codes ein, die Sie beim Einrichten der Zwei-Faktor-Authentifizierung gespeichert haben.",
|
|
907
|
+
recoveryCodeHint: (length) =>
|
|
908
|
+
`${n(length)} Buchstaben und Ziffern. Bindestriche und Leerzeichen spielen keine Rolle.`,
|
|
909
|
+
recoveryCodeInvalid: "Dieser Backup-Code ist ungültig oder wurde schon verwendet.",
|
|
910
|
+
rateLimited,
|
|
911
|
+
},
|
|
912
|
+
register: {
|
|
913
|
+
firstName: "Vorname",
|
|
914
|
+
lastName: "Nachname",
|
|
915
|
+
email: "E-Mail",
|
|
916
|
+
emailTagUse: (address) => `${address} verwenden`,
|
|
917
|
+
emailTagHint:
|
|
918
|
+
"Viele Anbieter stellen name+kennung@… an dasselbe Postfach zu, damit Post von dieser App filter- und zuordenbar wird. Prüfen Sie vorher, ob Ihrer das tut: Angemeldet wird dann mit der markierten Adresse.",
|
|
919
|
+
invitedEmailHint: "Die Adresse, an die Ihre Einladung gesendet wurde.",
|
|
920
|
+
invitedTagNote: "Die markierte Adresse erhält eine eigene Bestätigungs-E-Mail.",
|
|
921
|
+
password: "Passwort",
|
|
922
|
+
confirmPassword: "Passwort wiederholen",
|
|
923
|
+
passwordMismatch: "Die Passwörter stimmen nicht überein.",
|
|
924
|
+
language: "Sprache",
|
|
925
|
+
submit: "Registrieren",
|
|
926
|
+
haveAccount: "Bereits registriert?",
|
|
927
|
+
signIn: "Anmelden",
|
|
928
|
+
emailTaken: "Ein Konto mit dieser E-Mail-Adresse existiert bereits.",
|
|
929
|
+
registrationClosed:
|
|
930
|
+
"Neue Konten gibt es nur auf Einladung. Bitten Sie den Betreiber, Ihre E-Mail-Adresse einzuladen.",
|
|
931
|
+
invitationInvalid: "Dieser Einladungslink ist ungültig.",
|
|
932
|
+
invitationExpired: "Diese Einladung ist abgelaufen. Bitten Sie um eine neue.",
|
|
933
|
+
failed: "Registrierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
934
|
+
rateLimited,
|
|
935
|
+
},
|
|
936
|
+
completeName: {
|
|
937
|
+
title: "Namen vervollständigen",
|
|
938
|
+
description:
|
|
939
|
+
"Vor- und Nachname werden jetzt getrennt erfasst. Prüfen Sie, was eingetragen ist, und ergänzen Sie, was fehlt.",
|
|
940
|
+
firstName: "Vorname",
|
|
941
|
+
lastName: "Nachname",
|
|
942
|
+
save: "Speichern",
|
|
943
|
+
later: "Später",
|
|
944
|
+
failed: "Ihr Name konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.",
|
|
945
|
+
},
|
|
946
|
+
forgotPassword: {
|
|
947
|
+
title: "Passwort vergessen",
|
|
948
|
+
intro:
|
|
949
|
+
"Geben Sie die E-Mail-Adresse Ihres Kontos ein. Wir schicken Ihnen einen Link, mit dem Sie ein neues Passwort vergeben können.",
|
|
950
|
+
email: "E-Mail",
|
|
951
|
+
submit: "Link anfordern",
|
|
952
|
+
sent: (email) => `Falls es ein Konto zu ${email} gibt, ist der Link unterwegs.`,
|
|
953
|
+
sentHint: "Der Link gilt eine Stunde und funktioniert genau einmal. Sehen Sie auch im Spam-Ordner nach.",
|
|
954
|
+
backToSignIn: "Zurück zur Anmeldung",
|
|
955
|
+
error: "Anfrage fehlgeschlagen. Bitte versuchen Sie es später noch einmal.",
|
|
956
|
+
rateLimited,
|
|
957
|
+
},
|
|
958
|
+
resetPassword: {
|
|
959
|
+
title: "Neues Passwort vergeben",
|
|
960
|
+
checking: "Link wird geprüft…",
|
|
961
|
+
intro: (email) => `Sie vergeben ein neues Passwort für ${email}.`,
|
|
962
|
+
newPassword: "Neues Passwort",
|
|
963
|
+
confirmPassword: "Neues Passwort wiederholen",
|
|
964
|
+
mismatch: "Die Passwörter stimmen nicht überein.",
|
|
965
|
+
submit: "Passwort speichern",
|
|
966
|
+
failed: "Das Passwort konnte nicht geändert werden.",
|
|
967
|
+
noToken: "Dieser Link ist unvollständig.",
|
|
968
|
+
invalid: "Dieser Link ist ungültig oder abgelaufen.",
|
|
969
|
+
invalidHint: "Links gelten eine Stunde und funktionieren nur einmal. Fordern Sie einfach einen neuen an.",
|
|
970
|
+
requestNew: "Neuen Link anfordern",
|
|
971
|
+
success: "Ihr Passwort ist geändert. Sie können sich jetzt damit anmelden.",
|
|
972
|
+
sessionsEnded: "Angemeldete Geräte wurden abgemeldet – dort müssen Sie sich neu anmelden.",
|
|
973
|
+
signIn: "Zur Anmeldung",
|
|
974
|
+
rateLimited,
|
|
975
|
+
},
|
|
976
|
+
verifyEmail: {
|
|
977
|
+
title: "E-Mail-Adresse bestätigen",
|
|
978
|
+
verifying: "Wird bestätigt…",
|
|
979
|
+
verified: "Ihre E-Mail-Adresse ist bestätigt.",
|
|
980
|
+
continue: "Weiter",
|
|
981
|
+
invalid: "Dieser Bestätigungslink ist ungültig",
|
|
982
|
+
expired: "Dieser Bestätigungslink ist abgelaufen",
|
|
983
|
+
noToken: "Diesem Link fehlt das Bestätigungs-Token.",
|
|
984
|
+
invalidHint: "Der Link ist vermutlich abgelaufen oder wurde schon benutzt.",
|
|
985
|
+
requestInApp: "Sie können in der App einen neuen anfordern.",
|
|
986
|
+
requestHere: "Sie können hier einen neuen anfordern.",
|
|
987
|
+
resend: "Erneut senden",
|
|
988
|
+
resendIn: (seconds) => `In ${n(seconds)} s erneut senden`,
|
|
989
|
+
resent: "Bestätigungs-E-Mail gesendet",
|
|
990
|
+
resendError: "Bestätigungs-E-Mail konnte nicht gesendet werden",
|
|
991
|
+
banner: "Bitte bestätigen Sie Ihre E-Mail-Adresse.",
|
|
992
|
+
dismiss: "Später",
|
|
993
|
+
},
|
|
994
|
+
notFound: {
|
|
995
|
+
title: "Seite nicht gefunden",
|
|
996
|
+
body: "Diese Adresse gibt es (nicht mehr). Vielleicht ein Tippfehler – oder die Seite ist umgezogen.",
|
|
997
|
+
home: "Zur Startseite",
|
|
998
|
+
app: "Zurück zur App",
|
|
999
|
+
},
|
|
1000
|
+
acceptInvitation: {
|
|
1001
|
+
title: "Einladung annehmen",
|
|
1002
|
+
// Not keksdose's "Trete bei…": first person, where this catalogue's progress
|
|
1003
|
+
// words are impersonal ("Wird geladen…").
|
|
1004
|
+
accepting: "Beitritt läuft…",
|
|
1005
|
+
accepted: "Einladung angenommen.",
|
|
1006
|
+
joined: (name) => `Sie sind ${name} beigetreten.`,
|
|
1007
|
+
continue: "Weiter",
|
|
1008
|
+
invalid: "Beitritt über diesen Link nicht möglich",
|
|
1009
|
+
expired: "Diese Einladung ist abgelaufen",
|
|
1010
|
+
noToken: "Diesem Link fehlt das Einladungs-Token.",
|
|
1011
|
+
askAgain: "Bitten Sie die Person, die Sie eingeladen hat, um eine neue Einladung.",
|
|
1012
|
+
signInFirst: "Melden Sie sich an, um diese Einladung anzunehmen",
|
|
1013
|
+
signInHint: "Verwenden Sie das Konto, an das die Einladung gesendet wurde.",
|
|
1014
|
+
signIn: "Anmelden",
|
|
1015
|
+
register: "Registrieren",
|
|
1016
|
+
},
|
|
1017
|
+
companySwitcher: {
|
|
1018
|
+
// "Unternehmen" (0.30), the word kastlan's admin strings use ("Aus dem Unternehmen
|
|
1019
|
+
// entfernen"), so one German word names a company across the kit.
|
|
1020
|
+
switchCompany: "Unternehmen wechseln",
|
|
1021
|
+
heading: "Unternehmen",
|
|
1022
|
+
current: (name) => `Unternehmen: ${name}`,
|
|
1023
|
+
currentMark: "(aktuell)",
|
|
1024
|
+
switching: "Unternehmen wird gewechselt…",
|
|
1025
|
+
},
|
|
1026
|
+
// 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed de-CH for the admin
|
|
1027
|
+
// words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,
|
|
1028
|
+
// kastlan's for "Unternehmen", the throttle and "Überall abmelden"; written fresh where
|
|
1029
|
+
// no app had the sentence. Formal "Sie". "Administratorrechte" rather than "der letzte
|
|
1030
|
+
// Administrator", which would give the reader a gender.
|
|
1031
|
+
emailChange: {
|
|
1032
|
+
title: "E-Mail-Adresse",
|
|
1033
|
+
current: "Aktuelle Adresse",
|
|
1034
|
+
newEmail: "Neue E-Mail-Adresse",
|
|
1035
|
+
password: "Aktuelles Passwort",
|
|
1036
|
+
passwordHint: "Mit Ihrer Adresse melden Sie sich an – deshalb braucht eine Änderung Ihr Passwort.",
|
|
1037
|
+
emailTagUse: (address) => `${address} verwenden`,
|
|
1038
|
+
emailTagHint:
|
|
1039
|
+
"Viele Anbieter stellen name+kennung@… an dasselbe Postfach zu, damit Post von dieser App filter- und zuordenbar wird. Prüfen Sie vorher, ob Ihrer das tut: Angemeldet wird dann mit der markierten Adresse.",
|
|
1040
|
+
submit: "E-Mail-Adresse ändern",
|
|
1041
|
+
sameAsCurrent: "Das ist bereits Ihre Adresse.",
|
|
1042
|
+
emailTaken: "Ein Konto mit dieser E-Mail-Adresse existiert bereits.",
|
|
1043
|
+
wrongPassword: "Das Passwort ist falsch.",
|
|
1044
|
+
pending: (newEmail) => `Bestätigen Sie den Link, den wir an ${newEmail} geschickt haben.`,
|
|
1045
|
+
pendingHint: (currentEmail) =>
|
|
1046
|
+
`Bis dahin melden Sie sich weiterhin mit ${currentEmail} an. Sehen Sie auch im Spam-Ordner nach.`,
|
|
1047
|
+
resend: "Link erneut senden",
|
|
1048
|
+
resent: "Wir haben den Link erneut gesendet.",
|
|
1049
|
+
cancel: "Änderung abbrechen",
|
|
1050
|
+
confirmed: (email) => `Ihre E-Mail-Adresse ist jetzt ${email}.`,
|
|
1051
|
+
passkeyNote:
|
|
1052
|
+
"Ihre Passkeys funktionieren weiterhin. Ihr Gerät zeigt sie eventuell noch unter der alten Adresse an.",
|
|
1053
|
+
rateLimited,
|
|
1054
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1055
|
+
},
|
|
1056
|
+
sessions: {
|
|
1057
|
+
title: "Sitzungen",
|
|
1058
|
+
description:
|
|
1059
|
+
"Auf einem Gerät angemeldet, das Sie nicht mehr nutzen oder dem Sie nicht trauen? Melden Sie sich überall ab.",
|
|
1060
|
+
signOutEverywhere: "Überall abmelden…",
|
|
1061
|
+
signOutEverywherePrompt:
|
|
1062
|
+
"Damit enden alle Sitzungen, auch diese: Sie werden auch auf diesem Gerät abgemeldet und melden sich hier neu an.",
|
|
1063
|
+
confirmSignOutEverywhere: "Überall abmelden",
|
|
1064
|
+
list: "Wo Sie angemeldet sind",
|
|
1065
|
+
loading: "Sitzungen werden geladen…",
|
|
1066
|
+
empty: "Keine Sitzungen vorhanden.",
|
|
1067
|
+
current: "Dieses Gerät",
|
|
1068
|
+
unknownDevice: "Unbekanntes Gerät",
|
|
1069
|
+
// A colon: `when` is either "vor 3 Stunden" or a date.
|
|
1070
|
+
lastActive: (when) => `Zuletzt aktiv: ${when}`,
|
|
1071
|
+
ip: (address) => `IP ${address}`,
|
|
1072
|
+
revoke: "Abmelden",
|
|
1073
|
+
// Starts with `revoke`, the button's visible text, for voice control.
|
|
1074
|
+
revokeItem: (device) => `Abmelden: ${device}`,
|
|
1075
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1076
|
+
},
|
|
1077
|
+
deleteAccount: {
|
|
1078
|
+
title: "Konto löschen",
|
|
1079
|
+
afterDays: (days) =>
|
|
1080
|
+
days === 1
|
|
1081
|
+
? "Ihr Konto wird sofort deaktiviert und 1 Tag später endgültig gelöscht."
|
|
1082
|
+
: `Ihr Konto wird sofort deaktiviert und ${n(days)} Tage später endgültig gelöscht.`,
|
|
1083
|
+
operator: "Ihr Konto wird sofort deaktiviert und anschließend vom Betreiber endgültig gelöscht.",
|
|
1084
|
+
arm: "Konto löschen…",
|
|
1085
|
+
prompt: "Sie werden auf allen Geräten abgemeldet, und Ihr Konto kann nicht mehr verwendet werden.",
|
|
1086
|
+
handOver: (count) =>
|
|
1087
|
+
count === 1
|
|
1088
|
+
? "1 Element, das andere sehen können, geht an einen Administrator über."
|
|
1089
|
+
: `${n(count)} Elemente, die andere sehen können, gehen an einen Administrator über.`,
|
|
1090
|
+
confirm: "Mein Konto löschen",
|
|
1091
|
+
done: "Ihr Konto ist deaktiviert. Sie werden abgemeldet.",
|
|
1092
|
+
wrongPassword: "Das Passwort ist falsch.",
|
|
1093
|
+
confirmationMismatch: "Das ist nicht die Adresse Ihres Kontos.",
|
|
1094
|
+
lastAdmin:
|
|
1095
|
+
"Ihr Konto ist das letzte mit Administratorrechten. Geben Sie zuerst einem anderen Konto Administratorrechte.",
|
|
1096
|
+
lastAdminOf: (companies) =>
|
|
1097
|
+
`Ihr Konto ist das letzte mit Administratorrechten bei ${companies}. Geben Sie dort zuerst einem anderen Konto Administratorrechte.`,
|
|
1098
|
+
// keksdose's "Haushalt".
|
|
1099
|
+
householdHasMembers:
|
|
1100
|
+
"Ihr Haushalt hat weitere Mitglieder, deshalb kann das Konto hier nicht gelöscht werden. Bitte schreiben Sie dem Betreiber.",
|
|
1101
|
+
rateLimited,
|
|
1102
|
+
failed: "Ihr Konto konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.",
|
|
1103
|
+
},
|
|
1104
|
+
dataExport: {
|
|
1105
|
+
title: "Ihre Daten exportieren",
|
|
1106
|
+
description: "Laden Sie eine Kopie der Daten Ihres Kontos als JSON-Datei herunter.",
|
|
1107
|
+
download: "Meine Daten herunterladen",
|
|
1108
|
+
started: "Ihr Download hat begonnen.",
|
|
1109
|
+
saveAgain: "Nicht gestartet? Datei speichern",
|
|
1110
|
+
rateLimited: (seconds) =>
|
|
1111
|
+
seconds && seconds > 0
|
|
1112
|
+
? `Sie haben Ihre Daten gerade erst exportiert. Versuchen Sie es in ${wait(seconds)} erneut.`
|
|
1113
|
+
: "Sie haben Ihre Daten gerade erst exportiert. Bitte versuchen Sie es in einer Minute erneut.",
|
|
1114
|
+
failed: "Der Export ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
1115
|
+
},
|
|
1116
|
+
userRoster: {
|
|
1117
|
+
name: "Name",
|
|
1118
|
+
email: "E-Mail",
|
|
1119
|
+
role: "Rolle",
|
|
1120
|
+
state: "Status",
|
|
1121
|
+
created: "Erstellt",
|
|
1122
|
+
lastLogin: "Letzte Anmeldung",
|
|
1123
|
+
never: "Nie",
|
|
1124
|
+
actions: "Aktionen",
|
|
1125
|
+
actionsFor: (name) => `Aktionen für ${name}`,
|
|
1126
|
+
},
|
|
1127
|
+
roleSelect: {
|
|
1128
|
+
label: "Rolle",
|
|
1129
|
+
rolesLegend: "Rollen",
|
|
1130
|
+
roleOf: (name) => `Rolle von ${name}`,
|
|
1131
|
+
lockedLastAdmin: "Das letzte aktive Konto mit Administratorrechten behält diese Rolle.",
|
|
1132
|
+
lockedSelf: "Ihre eigene Rolle können Sie nicht ändern.",
|
|
1133
|
+
notForLastAdmin: "nicht für das letzte Administratorkonto",
|
|
1134
|
+
notForSelf: "nicht für Ihr eigenes Konto",
|
|
1135
|
+
unavailable: (role, reason) => `${role} (${reason})`,
|
|
1136
|
+
},
|
|
1137
|
+
reviewerScope: {
|
|
1138
|
+
languages: "Sprachen",
|
|
1139
|
+
hint: "Kreuzen Sie die Sprachen an, die diese Person prüft.",
|
|
1140
|
+
none: "Keine Sprache: Beim Speichern wird die Prüfrolle entzogen.",
|
|
1141
|
+
areas: "Beschränken auf",
|
|
1142
|
+
legalOnly: "Nur die rechtlichen Seiten",
|
|
1143
|
+
legalOnlyHint:
|
|
1144
|
+
"Impressum, Datenschutzerklärung und Nutzungsbedingungen – für eine Juristin oder einen Juristen statt für Muttersprachler.",
|
|
1145
|
+
failed: "Die Prüfrolle konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.",
|
|
1146
|
+
},
|
|
1147
|
+
adminAction: {
|
|
1148
|
+
confirm: "Bestätigen",
|
|
1149
|
+
cancel: "Abbrechen",
|
|
1150
|
+
close: "Schließen",
|
|
1151
|
+
lastAdmin:
|
|
1152
|
+
"Dies ist das letzte aktive Konto mit Administratorrechten. Geben Sie zuerst einem anderen Konto Administratorrechte.",
|
|
1153
|
+
self: "Mit Ihrem eigenen Konto ist das nicht möglich.",
|
|
1154
|
+
confirmationMismatch:
|
|
1155
|
+
"Die Adresse passt nicht zu diesem Konto. Prüfen Sie, bei welchem Konto Sie sind.",
|
|
1156
|
+
otherCompanies:
|
|
1157
|
+
"Dieses Konto gehört auch zu anderen Unternehmen, deshalb kann nur der Plattformbetreiber das tun. Sie können es stattdessen aus diesem Unternehmen entfernen.",
|
|
1158
|
+
removeFromCompany: "Aus dem Unternehmen entfernen",
|
|
1159
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1160
|
+
},
|
|
1161
|
+
adminActionLog: {
|
|
1162
|
+
title: "Admin-Aktionen",
|
|
1163
|
+
empty: "Noch keine Admin-Aktionen.",
|
|
1164
|
+
loading: "Wird geladen…",
|
|
1165
|
+
// "durch", not "von": it takes the accusative, so `erased` ("ein gelöschtes Konto")
|
|
1166
|
+
// reads right both on its own and after it.
|
|
1167
|
+
by: (actor) => `durch ${actor}`,
|
|
1168
|
+
bySelf: "durch die Person selbst",
|
|
1169
|
+
automatic: "automatisch",
|
|
1170
|
+
erased: "ein gelöschtes Konto",
|
|
1171
|
+
filteredTo: (target) => `Nur ${target}`,
|
|
1172
|
+
showAll: "Alle Aktionen zeigen",
|
|
1173
|
+
filterBy: (target) => `Nur Aktionen zu ${target} zeigen`,
|
|
1174
|
+
actions: {
|
|
1175
|
+
deactivate: "Deaktiviert",
|
|
1176
|
+
reactivate: "Reaktiviert",
|
|
1177
|
+
role: "Rolle geändert",
|
|
1178
|
+
membership_remove: "Aus dem Unternehmen entfernt",
|
|
1179
|
+
password_change_require: "Neues Passwort verlangt",
|
|
1180
|
+
password_change_withdraw: "Passwortforderung zurückgenommen",
|
|
1181
|
+
mail_verification: "Bestätigungsmail gesendet",
|
|
1182
|
+
mail_reset: "Mail zum Zurücksetzen des Passworts gesendet",
|
|
1183
|
+
reviewer: "Prüfrolle geändert",
|
|
1184
|
+
invite: "Eingeladen",
|
|
1185
|
+
invite_resend: "Einladung erneut gesendet",
|
|
1186
|
+
invite_revoke: "Einladung zurückgezogen",
|
|
1187
|
+
transfer: "Arbeit übergeben",
|
|
1188
|
+
deletion_request: "Löschung beantragt",
|
|
1189
|
+
deletion_cancel: "Löschung aufgehoben",
|
|
1190
|
+
erase: "Konto endgültig gelöscht",
|
|
1191
|
+
},
|
|
1192
|
+
},
|
|
1193
|
+
transferOwnership: {
|
|
1194
|
+
title: (name) => `Arbeit von ${name} übergeben`,
|
|
1195
|
+
body: "Alles, was diesem Konto gehört, geht in einem Schritt an das gewählte Konto.",
|
|
1196
|
+
recipient: "Übergeben an",
|
|
1197
|
+
choose: "Konto wählen…",
|
|
1198
|
+
chooseFirst: "Wählen Sie, wer die Arbeit erhält",
|
|
1199
|
+
confirm: "Übergeben",
|
|
1200
|
+
customer: "Kundenkonto",
|
|
1201
|
+
deactivated: "deaktiviert",
|
|
1202
|
+
self: "dasselbe Konto",
|
|
1203
|
+
unavailable: (account, reason) => `${account} (${reason})`,
|
|
1204
|
+
noCandidates: "Kein anderes Konto kann sie erhalten.",
|
|
1205
|
+
},
|
|
1206
|
+
invitations: {
|
|
1207
|
+
email: "E-Mail-Adresse",
|
|
1208
|
+
invalidEmail: "Bitte eine vollständige E-Mail-Adresse eingeben.",
|
|
1209
|
+
role: "Rolle",
|
|
1210
|
+
scope: "Bereich",
|
|
1211
|
+
scopeNone: "Keiner",
|
|
1212
|
+
language: "Sprache der Einladung",
|
|
1213
|
+
note: "Notiz",
|
|
1214
|
+
invite: "Einladen",
|
|
1215
|
+
listTitle: "Einladungen",
|
|
1216
|
+
empty: "Noch niemand ist eingeladen.",
|
|
1217
|
+
loading: "Wird geladen…",
|
|
1218
|
+
status: { open: "Offen", accepted: "Angenommen", expired: "Abgelaufen", revoked: "Zurückgezogen" },
|
|
1219
|
+
sent: (date) => `Gesendet am ${date}`,
|
|
1220
|
+
// kastlan's "Gültig bis".
|
|
1221
|
+
expires: (date) => `Gültig bis ${date}`,
|
|
1222
|
+
invitedBy: (name) => `von ${name}`,
|
|
1223
|
+
resend: (email) => `${email} einen neuen Link senden`,
|
|
1224
|
+
copyLink: "Einladungslink kopieren",
|
|
1225
|
+
revoke: (email) => `Einladung an ${email} zurückziehen`,
|
|
1226
|
+
consoleHint:
|
|
1227
|
+
"Dieser Server verschickt keine Mails – sie werden ins Server-Log geschrieben. Kopieren Sie jeden Einladungslink hier und geben Sie ihn selbst weiter: Er wird nur einmal angezeigt.",
|
|
1228
|
+
linkReady: (email) => `Der Einladungslink für ${email}, nur dieses eine Mal angezeigt:`,
|
|
1229
|
+
notSent: (email) =>
|
|
1230
|
+
`${email} ist eingeladen, aber die Mail konnte nicht gesendet werden. Senden Sie sie erneut.`,
|
|
1231
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1232
|
+
},
|
|
854
1233
|
characterCount: {
|
|
855
1234
|
// "Zeichen" is the same in singular and plural.
|
|
856
1235
|
count: (used, max) => `${n(used)} von ${n(max)} Zeichen`,
|
package/src/i18n/kit-labels.tsx
CHANGED
|
@@ -57,6 +57,26 @@ import type { ImageGridLabels } from "../components/image-grid";
|
|
|
57
57
|
import type { LightboxLabels } from "../components/lightbox";
|
|
58
58
|
import type { WriteLockLabels } from "../components/write-lock";
|
|
59
59
|
import type { LegalLabels } from "../components/legal";
|
|
60
|
+
import type { SignInLabels } from "../auth/sign-in-form";
|
|
61
|
+
import type { RegisterLabels } from "../auth/register-form";
|
|
62
|
+
import type { CompleteNameLabels } from "../auth/complete-name-dialog";
|
|
63
|
+
import type { ForgotPasswordLabels } from "../auth/forgot-password-form";
|
|
64
|
+
import type { ResetPasswordLabels } from "../auth/reset-password-form";
|
|
65
|
+
import type { VerifyEmailLabels } from "../auth/verify-email";
|
|
66
|
+
import type { NotFoundLabels } from "../auth/not-found-page";
|
|
67
|
+
import type { AcceptInvitationLabels } from "../auth/accept-invitation";
|
|
68
|
+
import type { CompanySwitcherLabels } from "../shell/company-switcher";
|
|
69
|
+
import type { EmailChangeLabels } from "../account/email-change-setting";
|
|
70
|
+
import type { SessionsLabels } from "../account/sessions-setting";
|
|
71
|
+
import type { DeleteAccountLabels } from "../account/delete-account-setting";
|
|
72
|
+
import type { DataExportLabels } from "../account/data-export-setting";
|
|
73
|
+
import type { UserRosterLabels } from "../admin/user-roster";
|
|
74
|
+
import type { RoleSelectLabels } from "../admin/role-select";
|
|
75
|
+
import type { ReviewerScopeLabels } from "../admin/reviewer-scope-editor";
|
|
76
|
+
import type { AdminActionLabels } from "../admin/admin-action-confirm";
|
|
77
|
+
import type { AdminActionLogLabels } from "../admin/admin-action-log";
|
|
78
|
+
import type { TransferOwnershipLabels } from "../admin/transfer-ownership-dialog";
|
|
79
|
+
import type { InvitationsLabels } from "../admin/invitations-panel";
|
|
60
80
|
import type { AccountStateLabels } from "../components/account-chips";
|
|
61
81
|
import type { ShareCardLabels } from "../components/share-card";
|
|
62
82
|
import type { ReauthDialogLabels } from "../components/reauth-dialog";
|
|
@@ -323,6 +343,46 @@ export interface UiKitLabels {
|
|
|
323
343
|
* sections that are the same in every app, filled in with the app's operator
|
|
324
344
|
* (docs/legal-harmonization.md §4.3/§4.4). */
|
|
325
345
|
legal: LegalLabels;
|
|
346
|
+
/** 0.29.0: sign-in form: credentials, passkey, 2FA, forced new password (docs/auth-harmonization.md §5). */
|
|
347
|
+
signIn: SignInLabels;
|
|
348
|
+
/** 0.29.0: the sign-up form, with the +app address tag (§4.1, §4.5). */
|
|
349
|
+
register: RegisterLabels;
|
|
350
|
+
/** 0.29.0: asking a migrated account for first and last name once (§3.3). */
|
|
351
|
+
completeName: CompleteNameLabels;
|
|
352
|
+
/** 0.29.0: requesting a reset link (always the same answer). */
|
|
353
|
+
forgotPassword: ForgotPasswordLabels;
|
|
354
|
+
/** 0.29.0: choosing a new password from a reset link; not a sign-in (§6.3). */
|
|
355
|
+
resetPassword: ResetPasswordLabels;
|
|
356
|
+
/** 0.29.0: the verify-email page and the unverified banner. */
|
|
357
|
+
verifyEmail: VerifyEmailLabels;
|
|
358
|
+
/** 0.29.0: the 404 page. */
|
|
359
|
+
notFound: NotFoundLabels;
|
|
360
|
+
/** 0.29.0: accepting an invitation with an account (§4.4). */
|
|
361
|
+
acceptInvitation: AcceptInvitationLabels;
|
|
362
|
+
/** 0.29.0: kastlan's switcher between a user's companies (§5.3). */
|
|
363
|
+
companySwitcher: CompanySwitcherLabels;
|
|
364
|
+
/** 0.30.0: changing the account's address with re-verification (docs/user-admin-harmonization.md §6.2). */
|
|
365
|
+
emailChange: EmailChangeLabels;
|
|
366
|
+
/** 0.30.0: sign out everywhere, and kastlan's device list (§6.3). */
|
|
367
|
+
sessions: SessionsLabels;
|
|
368
|
+
/** 0.30.0: deletion in two stages (§6.4). */
|
|
369
|
+
deleteAccount: DeleteAccountLabels;
|
|
370
|
+
/** 0.30.0: the self-service JSON export (§6.5). */
|
|
371
|
+
dataExport: DataExportLabels;
|
|
372
|
+
/** 0.30.0: the admin user list's columns (§3). */
|
|
373
|
+
userRoster: UserRosterLabels;
|
|
374
|
+
/** 0.30.0: picking one or several roles, with the reasons a choice is locked (§4.1). */
|
|
375
|
+
roleSelect: RoleSelectLabels;
|
|
376
|
+
/** 0.30.0: a translation reviewer's languages and areas. */
|
|
377
|
+
reviewerScope: ReviewerScopeLabels;
|
|
378
|
+
/** 0.30.0: an admin action's confirmation and refusals (§4.2). */
|
|
379
|
+
adminAction: AdminActionLabels;
|
|
380
|
+
/** 0.30.0: the admin_actions list (§4.3). */
|
|
381
|
+
adminActionLog: AdminActionLogLabels;
|
|
382
|
+
/** 0.30.0: handing an account's work to another (Kurvenschmiede). */
|
|
383
|
+
transferOwnership: TransferOwnershipLabels;
|
|
384
|
+
/** 0.30.0: the invitations panel (§5). */
|
|
385
|
+
invitations: InvitationsLabels;
|
|
326
386
|
/** 0.22.0: the screen-reader words of `Input` / `Textarea`'s `showCount` counter. */
|
|
327
387
|
characterCount: CharacterCountLabels;
|
|
328
388
|
/** 0.22.0: `CountrySelect`. Its list's "no results" and counts are `combobox`'s. */
|