@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/dist/i18n/german.js
CHANGED
|
@@ -3,6 +3,8 @@ import { formatFileSize } from "./kit-labels.js";
|
|
|
3
3
|
function germanLabels(numberLocale) {
|
|
4
4
|
const num = new Intl.NumberFormat(numberLocale);
|
|
5
5
|
const n = (value) => num.format(value);
|
|
6
|
+
const wait = (seconds) => seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;
|
|
7
|
+
const rateLimited = (seconds) => !seconds || seconds <= 0 ? "Zu viele Versuche. Bitte warten Sie einen Moment und versuchen Sie es dann noch einmal." : `Zu viele Versuche. Versuchen Sie es in ${wait(seconds)} erneut.`;
|
|
6
8
|
return {
|
|
7
9
|
feedbackAttachment: {
|
|
8
10
|
attachmentAdd: "Anhang hinzuf\xFCgen",
|
|
@@ -139,7 +141,10 @@ function germanLabels(numberLocale) {
|
|
|
139
141
|
role: "Rolle",
|
|
140
142
|
memberSince: "Mitglied seit",
|
|
141
143
|
displayName: "Anzeigename",
|
|
142
|
-
save: "Speichern"
|
|
144
|
+
save: "Speichern",
|
|
145
|
+
firstName: "Vorname",
|
|
146
|
+
lastName: "Nachname",
|
|
147
|
+
nameRequired: "Geben Sie Vor- und Nachnamen ein."
|
|
143
148
|
},
|
|
144
149
|
password: {
|
|
145
150
|
title: "Passwort \xE4ndern",
|
|
@@ -680,7 +685,9 @@ function germanLabels(numberLocale) {
|
|
|
680
685
|
invited: "Eingeladen",
|
|
681
686
|
registered: "Registriert",
|
|
682
687
|
unverified: "Nicht best\xE4tigt",
|
|
683
|
-
passwordChange: "Passwort\xE4nderung erforderlich"
|
|
688
|
+
passwordChange: "Passwort\xE4nderung erforderlich",
|
|
689
|
+
deletion: "L\xF6schung beantragt",
|
|
690
|
+
deletionOn: (date) => `L\xF6schung am ${date}`
|
|
684
691
|
},
|
|
685
692
|
shareCard: {
|
|
686
693
|
dialogTitle: "Teilen",
|
|
@@ -816,6 +823,340 @@ Die vollst\xE4ndige Postanschrift wird betroffenen Personen und Aufsichtsbeh\xF6
|
|
|
816
823
|
}
|
|
817
824
|
}
|
|
818
825
|
},
|
|
826
|
+
// 0.29.0 — docs/auth-harmonization.md: keksdose's reviewed de-CH wording (auth.*,
|
|
827
|
+
// verify_email, error.not_found_*, budget_share.join_*), kastlan's for the names and
|
|
828
|
+
// the 2FA prompt; written fresh where neither app had the sentence. Formal "Sie".
|
|
829
|
+
signIn: {
|
|
830
|
+
email: "E-Mail",
|
|
831
|
+
password: "Passwort",
|
|
832
|
+
submit: "Anmelden",
|
|
833
|
+
passkey: "Mit Passkey anmelden",
|
|
834
|
+
forgotPassword: "Passwort vergessen?",
|
|
835
|
+
noAccount: "Noch kein Konto?",
|
|
836
|
+
register: "Registrieren",
|
|
837
|
+
invalidCredentials: "Die E-Mail-Adresse oder das Passwort ist falsch.",
|
|
838
|
+
failed: "Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
839
|
+
passkeyFailed: "Passkey-Anmeldung fehlgeschlagen.",
|
|
840
|
+
deactivatedHint: "Konto deaktiviert? Schreiben Sie an {contact}.",
|
|
841
|
+
tagHint: (taggedAddress) => `Mit ${taggedAddress} registriert? Verwenden Sie diese Adresse.`,
|
|
842
|
+
twoFactorTitle: "Zwei-Faktor-Authentifizierung",
|
|
843
|
+
twoFactorIntro: "Geben Sie den Code aus Ihrer Authenticator-App ein.",
|
|
844
|
+
code: "2FA-Code",
|
|
845
|
+
verify: "Best\xE4tigen",
|
|
846
|
+
codeInvalid: "Ung\xFCltiger 2FA-Code.",
|
|
847
|
+
setPasswordTitle: "Neues Passwort vergeben",
|
|
848
|
+
setPasswordIntro: "F\xFCr dieses Konto wurde ein neues Passwort angefordert. Vergeben Sie eines, dann geht es direkt weiter.",
|
|
849
|
+
newPassword: "Neues Passwort",
|
|
850
|
+
confirmPassword: "Neues Passwort wiederholen",
|
|
851
|
+
passwordMismatch: "Die Passw\xF6rter stimmen nicht \xFCberein.",
|
|
852
|
+
setPasswordSubmit: "Passwort vergeben und anmelden",
|
|
853
|
+
setPasswordFailed: "Das Passwort konnte nicht vergeben werden.",
|
|
854
|
+
expired: "Diese Anmeldung ist abgelaufen. Bitte melden Sie sich erneut an.",
|
|
855
|
+
backToSignIn: "Zur\xFCck zur Anmeldung",
|
|
856
|
+
// kastlan's backup-code words ("Backup-Code" — not keksdose's
|
|
857
|
+
// "Wiederherstellungscode", which is the key of its end-to-end encryption).
|
|
858
|
+
useRecoveryCode: "Backup-Code verwenden",
|
|
859
|
+
useAuthenticatorCode: "Authenticator-App verwenden",
|
|
860
|
+
recoveryCode: "Backup-Code",
|
|
861
|
+
recoveryIntro: "Geben Sie einen der Backup-Codes ein, die Sie beim Einrichten der Zwei-Faktor-Authentifizierung gespeichert haben.",
|
|
862
|
+
recoveryCodeHint: (length) => `${n(length)} Buchstaben und Ziffern. Bindestriche und Leerzeichen spielen keine Rolle.`,
|
|
863
|
+
recoveryCodeInvalid: "Dieser Backup-Code ist ung\xFCltig oder wurde schon verwendet.",
|
|
864
|
+
rateLimited
|
|
865
|
+
},
|
|
866
|
+
register: {
|
|
867
|
+
firstName: "Vorname",
|
|
868
|
+
lastName: "Nachname",
|
|
869
|
+
email: "E-Mail",
|
|
870
|
+
emailTagUse: (address) => `${address} verwenden`,
|
|
871
|
+
emailTagHint: "Viele Anbieter stellen name+kennung@\u2026 an dasselbe Postfach zu, damit Post von dieser App filter- und zuordenbar wird. Pr\xFCfen Sie vorher, ob Ihrer das tut: Angemeldet wird dann mit der markierten Adresse.",
|
|
872
|
+
invitedEmailHint: "Die Adresse, an die Ihre Einladung gesendet wurde.",
|
|
873
|
+
invitedTagNote: "Die markierte Adresse erh\xE4lt eine eigene Best\xE4tigungs-E-Mail.",
|
|
874
|
+
password: "Passwort",
|
|
875
|
+
confirmPassword: "Passwort wiederholen",
|
|
876
|
+
passwordMismatch: "Die Passw\xF6rter stimmen nicht \xFCberein.",
|
|
877
|
+
language: "Sprache",
|
|
878
|
+
submit: "Registrieren",
|
|
879
|
+
haveAccount: "Bereits registriert?",
|
|
880
|
+
signIn: "Anmelden",
|
|
881
|
+
emailTaken: "Ein Konto mit dieser E-Mail-Adresse existiert bereits.",
|
|
882
|
+
registrationClosed: "Neue Konten gibt es nur auf Einladung. Bitten Sie den Betreiber, Ihre E-Mail-Adresse einzuladen.",
|
|
883
|
+
invitationInvalid: "Dieser Einladungslink ist ung\xFCltig.",
|
|
884
|
+
invitationExpired: "Diese Einladung ist abgelaufen. Bitten Sie um eine neue.",
|
|
885
|
+
failed: "Registrierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
886
|
+
rateLimited
|
|
887
|
+
},
|
|
888
|
+
completeName: {
|
|
889
|
+
title: "Namen vervollst\xE4ndigen",
|
|
890
|
+
description: "Vor- und Nachname werden jetzt getrennt erfasst. Pr\xFCfen Sie, was eingetragen ist, und erg\xE4nzen Sie, was fehlt.",
|
|
891
|
+
firstName: "Vorname",
|
|
892
|
+
lastName: "Nachname",
|
|
893
|
+
save: "Speichern",
|
|
894
|
+
later: "Sp\xE4ter",
|
|
895
|
+
failed: "Ihr Name konnte nicht gespeichert werden. Bitte versuchen Sie es erneut."
|
|
896
|
+
},
|
|
897
|
+
forgotPassword: {
|
|
898
|
+
title: "Passwort vergessen",
|
|
899
|
+
intro: "Geben Sie die E-Mail-Adresse Ihres Kontos ein. Wir schicken Ihnen einen Link, mit dem Sie ein neues Passwort vergeben k\xF6nnen.",
|
|
900
|
+
email: "E-Mail",
|
|
901
|
+
submit: "Link anfordern",
|
|
902
|
+
sent: (email) => `Falls es ein Konto zu ${email} gibt, ist der Link unterwegs.`,
|
|
903
|
+
sentHint: "Der Link gilt eine Stunde und funktioniert genau einmal. Sehen Sie auch im Spam-Ordner nach.",
|
|
904
|
+
backToSignIn: "Zur\xFCck zur Anmeldung",
|
|
905
|
+
error: "Anfrage fehlgeschlagen. Bitte versuchen Sie es sp\xE4ter noch einmal.",
|
|
906
|
+
rateLimited
|
|
907
|
+
},
|
|
908
|
+
resetPassword: {
|
|
909
|
+
title: "Neues Passwort vergeben",
|
|
910
|
+
checking: "Link wird gepr\xFCft\u2026",
|
|
911
|
+
intro: (email) => `Sie vergeben ein neues Passwort f\xFCr ${email}.`,
|
|
912
|
+
newPassword: "Neues Passwort",
|
|
913
|
+
confirmPassword: "Neues Passwort wiederholen",
|
|
914
|
+
mismatch: "Die Passw\xF6rter stimmen nicht \xFCberein.",
|
|
915
|
+
submit: "Passwort speichern",
|
|
916
|
+
failed: "Das Passwort konnte nicht ge\xE4ndert werden.",
|
|
917
|
+
noToken: "Dieser Link ist unvollst\xE4ndig.",
|
|
918
|
+
invalid: "Dieser Link ist ung\xFCltig oder abgelaufen.",
|
|
919
|
+
invalidHint: "Links gelten eine Stunde und funktionieren nur einmal. Fordern Sie einfach einen neuen an.",
|
|
920
|
+
requestNew: "Neuen Link anfordern",
|
|
921
|
+
success: "Ihr Passwort ist ge\xE4ndert. Sie k\xF6nnen sich jetzt damit anmelden.",
|
|
922
|
+
sessionsEnded: "Angemeldete Ger\xE4te wurden abgemeldet \u2013 dort m\xFCssen Sie sich neu anmelden.",
|
|
923
|
+
signIn: "Zur Anmeldung",
|
|
924
|
+
rateLimited
|
|
925
|
+
},
|
|
926
|
+
verifyEmail: {
|
|
927
|
+
title: "E-Mail-Adresse best\xE4tigen",
|
|
928
|
+
verifying: "Wird best\xE4tigt\u2026",
|
|
929
|
+
verified: "Ihre E-Mail-Adresse ist best\xE4tigt.",
|
|
930
|
+
continue: "Weiter",
|
|
931
|
+
invalid: "Dieser Best\xE4tigungslink ist ung\xFCltig",
|
|
932
|
+
expired: "Dieser Best\xE4tigungslink ist abgelaufen",
|
|
933
|
+
noToken: "Diesem Link fehlt das Best\xE4tigungs-Token.",
|
|
934
|
+
invalidHint: "Der Link ist vermutlich abgelaufen oder wurde schon benutzt.",
|
|
935
|
+
requestInApp: "Sie k\xF6nnen in der App einen neuen anfordern.",
|
|
936
|
+
requestHere: "Sie k\xF6nnen hier einen neuen anfordern.",
|
|
937
|
+
resend: "Erneut senden",
|
|
938
|
+
resendIn: (seconds) => `In ${n(seconds)} s erneut senden`,
|
|
939
|
+
resent: "Best\xE4tigungs-E-Mail gesendet",
|
|
940
|
+
resendError: "Best\xE4tigungs-E-Mail konnte nicht gesendet werden",
|
|
941
|
+
banner: "Bitte best\xE4tigen Sie Ihre E-Mail-Adresse.",
|
|
942
|
+
dismiss: "Sp\xE4ter"
|
|
943
|
+
},
|
|
944
|
+
notFound: {
|
|
945
|
+
title: "Seite nicht gefunden",
|
|
946
|
+
body: "Diese Adresse gibt es (nicht mehr). Vielleicht ein Tippfehler \u2013 oder die Seite ist umgezogen.",
|
|
947
|
+
home: "Zur Startseite",
|
|
948
|
+
app: "Zur\xFCck zur App"
|
|
949
|
+
},
|
|
950
|
+
acceptInvitation: {
|
|
951
|
+
title: "Einladung annehmen",
|
|
952
|
+
// Not keksdose's "Trete bei…": first person, where this catalogue's progress
|
|
953
|
+
// words are impersonal ("Wird geladen…").
|
|
954
|
+
accepting: "Beitritt l\xE4uft\u2026",
|
|
955
|
+
accepted: "Einladung angenommen.",
|
|
956
|
+
joined: (name) => `Sie sind ${name} beigetreten.`,
|
|
957
|
+
continue: "Weiter",
|
|
958
|
+
invalid: "Beitritt \xFCber diesen Link nicht m\xF6glich",
|
|
959
|
+
expired: "Diese Einladung ist abgelaufen",
|
|
960
|
+
noToken: "Diesem Link fehlt das Einladungs-Token.",
|
|
961
|
+
askAgain: "Bitten Sie die Person, die Sie eingeladen hat, um eine neue Einladung.",
|
|
962
|
+
signInFirst: "Melden Sie sich an, um diese Einladung anzunehmen",
|
|
963
|
+
signInHint: "Verwenden Sie das Konto, an das die Einladung gesendet wurde.",
|
|
964
|
+
signIn: "Anmelden",
|
|
965
|
+
register: "Registrieren"
|
|
966
|
+
},
|
|
967
|
+
companySwitcher: {
|
|
968
|
+
// "Unternehmen" (0.30), the word kastlan's admin strings use ("Aus dem Unternehmen
|
|
969
|
+
// entfernen"), so one German word names a company across the kit.
|
|
970
|
+
switchCompany: "Unternehmen wechseln",
|
|
971
|
+
heading: "Unternehmen",
|
|
972
|
+
current: (name) => `Unternehmen: ${name}`,
|
|
973
|
+
currentMark: "(aktuell)",
|
|
974
|
+
switching: "Unternehmen wird gewechselt\u2026"
|
|
975
|
+
},
|
|
976
|
+
// 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed de-CH for the admin
|
|
977
|
+
// words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,
|
|
978
|
+
// kastlan's for "Unternehmen", the throttle and "Überall abmelden"; written fresh where
|
|
979
|
+
// no app had the sentence. Formal "Sie". "Administratorrechte" rather than "der letzte
|
|
980
|
+
// Administrator", which would give the reader a gender.
|
|
981
|
+
emailChange: {
|
|
982
|
+
title: "E-Mail-Adresse",
|
|
983
|
+
current: "Aktuelle Adresse",
|
|
984
|
+
newEmail: "Neue E-Mail-Adresse",
|
|
985
|
+
password: "Aktuelles Passwort",
|
|
986
|
+
passwordHint: "Mit Ihrer Adresse melden Sie sich an \u2013 deshalb braucht eine \xC4nderung Ihr Passwort.",
|
|
987
|
+
emailTagUse: (address) => `${address} verwenden`,
|
|
988
|
+
emailTagHint: "Viele Anbieter stellen name+kennung@\u2026 an dasselbe Postfach zu, damit Post von dieser App filter- und zuordenbar wird. Pr\xFCfen Sie vorher, ob Ihrer das tut: Angemeldet wird dann mit der markierten Adresse.",
|
|
989
|
+
submit: "E-Mail-Adresse \xE4ndern",
|
|
990
|
+
sameAsCurrent: "Das ist bereits Ihre Adresse.",
|
|
991
|
+
emailTaken: "Ein Konto mit dieser E-Mail-Adresse existiert bereits.",
|
|
992
|
+
wrongPassword: "Das Passwort ist falsch.",
|
|
993
|
+
pending: (newEmail) => `Best\xE4tigen Sie den Link, den wir an ${newEmail} geschickt haben.`,
|
|
994
|
+
pendingHint: (currentEmail) => `Bis dahin melden Sie sich weiterhin mit ${currentEmail} an. Sehen Sie auch im Spam-Ordner nach.`,
|
|
995
|
+
resend: "Link erneut senden",
|
|
996
|
+
resent: "Wir haben den Link erneut gesendet.",
|
|
997
|
+
cancel: "\xC4nderung abbrechen",
|
|
998
|
+
confirmed: (email) => `Ihre E-Mail-Adresse ist jetzt ${email}.`,
|
|
999
|
+
passkeyNote: "Ihre Passkeys funktionieren weiterhin. Ihr Ger\xE4t zeigt sie eventuell noch unter der alten Adresse an.",
|
|
1000
|
+
rateLimited,
|
|
1001
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen."
|
|
1002
|
+
},
|
|
1003
|
+
sessions: {
|
|
1004
|
+
title: "Sitzungen",
|
|
1005
|
+
description: "Auf einem Ger\xE4t angemeldet, das Sie nicht mehr nutzen oder dem Sie nicht trauen? Melden Sie sich \xFCberall ab.",
|
|
1006
|
+
signOutEverywhere: "\xDCberall abmelden\u2026",
|
|
1007
|
+
signOutEverywherePrompt: "Damit enden alle Sitzungen, auch diese: Sie werden auch auf diesem Ger\xE4t abgemeldet und melden sich hier neu an.",
|
|
1008
|
+
confirmSignOutEverywhere: "\xDCberall abmelden",
|
|
1009
|
+
list: "Wo Sie angemeldet sind",
|
|
1010
|
+
loading: "Sitzungen werden geladen\u2026",
|
|
1011
|
+
empty: "Keine Sitzungen vorhanden.",
|
|
1012
|
+
current: "Dieses Ger\xE4t",
|
|
1013
|
+
unknownDevice: "Unbekanntes Ger\xE4t",
|
|
1014
|
+
// A colon: `when` is either "vor 3 Stunden" or a date.
|
|
1015
|
+
lastActive: (when) => `Zuletzt aktiv: ${when}`,
|
|
1016
|
+
ip: (address) => `IP ${address}`,
|
|
1017
|
+
revoke: "Abmelden",
|
|
1018
|
+
// Starts with `revoke`, the button's visible text, for voice control.
|
|
1019
|
+
revokeItem: (device) => `Abmelden: ${device}`,
|
|
1020
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen."
|
|
1021
|
+
},
|
|
1022
|
+
deleteAccount: {
|
|
1023
|
+
title: "Konto l\xF6schen",
|
|
1024
|
+
afterDays: (days) => days === 1 ? "Ihr Konto wird sofort deaktiviert und 1 Tag sp\xE4ter endg\xFCltig gel\xF6scht." : `Ihr Konto wird sofort deaktiviert und ${n(days)} Tage sp\xE4ter endg\xFCltig gel\xF6scht.`,
|
|
1025
|
+
operator: "Ihr Konto wird sofort deaktiviert und anschlie\xDFend vom Betreiber endg\xFCltig gel\xF6scht.",
|
|
1026
|
+
arm: "Konto l\xF6schen\u2026",
|
|
1027
|
+
prompt: "Sie werden auf allen Ger\xE4ten abgemeldet, und Ihr Konto kann nicht mehr verwendet werden.",
|
|
1028
|
+
handOver: (count) => count === 1 ? "1 Element, das andere sehen k\xF6nnen, geht an einen Administrator \xFCber." : `${n(count)} Elemente, die andere sehen k\xF6nnen, gehen an einen Administrator \xFCber.`,
|
|
1029
|
+
confirm: "Mein Konto l\xF6schen",
|
|
1030
|
+
done: "Ihr Konto ist deaktiviert. Sie werden abgemeldet.",
|
|
1031
|
+
wrongPassword: "Das Passwort ist falsch.",
|
|
1032
|
+
confirmationMismatch: "Das ist nicht die Adresse Ihres Kontos.",
|
|
1033
|
+
lastAdmin: "Ihr Konto ist das letzte mit Administratorrechten. Geben Sie zuerst einem anderen Konto Administratorrechte.",
|
|
1034
|
+
lastAdminOf: (companies) => `Ihr Konto ist das letzte mit Administratorrechten bei ${companies}. Geben Sie dort zuerst einem anderen Konto Administratorrechte.`,
|
|
1035
|
+
// keksdose's "Haushalt".
|
|
1036
|
+
householdHasMembers: "Ihr Haushalt hat weitere Mitglieder, deshalb kann das Konto hier nicht gel\xF6scht werden. Bitte schreiben Sie dem Betreiber.",
|
|
1037
|
+
rateLimited,
|
|
1038
|
+
failed: "Ihr Konto konnte nicht gel\xF6scht werden. Bitte versuchen Sie es erneut."
|
|
1039
|
+
},
|
|
1040
|
+
dataExport: {
|
|
1041
|
+
title: "Ihre Daten exportieren",
|
|
1042
|
+
description: "Laden Sie eine Kopie der Daten Ihres Kontos als JSON-Datei herunter.",
|
|
1043
|
+
download: "Meine Daten herunterladen",
|
|
1044
|
+
started: "Ihr Download hat begonnen.",
|
|
1045
|
+
saveAgain: "Nicht gestartet? Datei speichern",
|
|
1046
|
+
rateLimited: (seconds) => seconds && seconds > 0 ? `Sie haben Ihre Daten gerade erst exportiert. Versuchen Sie es in ${wait(seconds)} erneut.` : "Sie haben Ihre Daten gerade erst exportiert. Bitte versuchen Sie es in einer Minute erneut.",
|
|
1047
|
+
failed: "Der Export ist fehlgeschlagen. Bitte versuchen Sie es erneut."
|
|
1048
|
+
},
|
|
1049
|
+
userRoster: {
|
|
1050
|
+
name: "Name",
|
|
1051
|
+
email: "E-Mail",
|
|
1052
|
+
role: "Rolle",
|
|
1053
|
+
state: "Status",
|
|
1054
|
+
created: "Erstellt",
|
|
1055
|
+
lastLogin: "Letzte Anmeldung",
|
|
1056
|
+
never: "Nie",
|
|
1057
|
+
actions: "Aktionen",
|
|
1058
|
+
actionsFor: (name) => `Aktionen f\xFCr ${name}`
|
|
1059
|
+
},
|
|
1060
|
+
roleSelect: {
|
|
1061
|
+
label: "Rolle",
|
|
1062
|
+
rolesLegend: "Rollen",
|
|
1063
|
+
roleOf: (name) => `Rolle von ${name}`,
|
|
1064
|
+
lockedLastAdmin: "Das letzte aktive Konto mit Administratorrechten beh\xE4lt diese Rolle.",
|
|
1065
|
+
lockedSelf: "Ihre eigene Rolle k\xF6nnen Sie nicht \xE4ndern.",
|
|
1066
|
+
notForLastAdmin: "nicht f\xFCr das letzte Administratorkonto",
|
|
1067
|
+
notForSelf: "nicht f\xFCr Ihr eigenes Konto",
|
|
1068
|
+
unavailable: (role, reason) => `${role} (${reason})`
|
|
1069
|
+
},
|
|
1070
|
+
reviewerScope: {
|
|
1071
|
+
languages: "Sprachen",
|
|
1072
|
+
hint: "Kreuzen Sie die Sprachen an, die diese Person pr\xFCft.",
|
|
1073
|
+
none: "Keine Sprache: Beim Speichern wird die Pr\xFCfrolle entzogen.",
|
|
1074
|
+
areas: "Beschr\xE4nken auf",
|
|
1075
|
+
legalOnly: "Nur die rechtlichen Seiten",
|
|
1076
|
+
legalOnlyHint: "Impressum, Datenschutzerkl\xE4rung und Nutzungsbedingungen \u2013 f\xFCr eine Juristin oder einen Juristen statt f\xFCr Muttersprachler.",
|
|
1077
|
+
failed: "Die Pr\xFCfrolle konnte nicht gespeichert werden. Bitte versuchen Sie es erneut."
|
|
1078
|
+
},
|
|
1079
|
+
adminAction: {
|
|
1080
|
+
confirm: "Best\xE4tigen",
|
|
1081
|
+
cancel: "Abbrechen",
|
|
1082
|
+
close: "Schlie\xDFen",
|
|
1083
|
+
lastAdmin: "Dies ist das letzte aktive Konto mit Administratorrechten. Geben Sie zuerst einem anderen Konto Administratorrechte.",
|
|
1084
|
+
self: "Mit Ihrem eigenen Konto ist das nicht m\xF6glich.",
|
|
1085
|
+
confirmationMismatch: "Die Adresse passt nicht zu diesem Konto. Pr\xFCfen Sie, bei welchem Konto Sie sind.",
|
|
1086
|
+
otherCompanies: "Dieses Konto geh\xF6rt auch zu anderen Unternehmen, deshalb kann nur der Plattformbetreiber das tun. Sie k\xF6nnen es stattdessen aus diesem Unternehmen entfernen.",
|
|
1087
|
+
removeFromCompany: "Aus dem Unternehmen entfernen",
|
|
1088
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen."
|
|
1089
|
+
},
|
|
1090
|
+
adminActionLog: {
|
|
1091
|
+
title: "Admin-Aktionen",
|
|
1092
|
+
empty: "Noch keine Admin-Aktionen.",
|
|
1093
|
+
loading: "Wird geladen\u2026",
|
|
1094
|
+
// "durch", not "von": it takes the accusative, so `erased` ("ein gelöschtes Konto")
|
|
1095
|
+
// reads right both on its own and after it.
|
|
1096
|
+
by: (actor) => `durch ${actor}`,
|
|
1097
|
+
bySelf: "durch die Person selbst",
|
|
1098
|
+
automatic: "automatisch",
|
|
1099
|
+
erased: "ein gel\xF6schtes Konto",
|
|
1100
|
+
filteredTo: (target) => `Nur ${target}`,
|
|
1101
|
+
showAll: "Alle Aktionen zeigen",
|
|
1102
|
+
filterBy: (target) => `Nur Aktionen zu ${target} zeigen`,
|
|
1103
|
+
actions: {
|
|
1104
|
+
deactivate: "Deaktiviert",
|
|
1105
|
+
reactivate: "Reaktiviert",
|
|
1106
|
+
role: "Rolle ge\xE4ndert",
|
|
1107
|
+
membership_remove: "Aus dem Unternehmen entfernt",
|
|
1108
|
+
password_change_require: "Neues Passwort verlangt",
|
|
1109
|
+
password_change_withdraw: "Passwortforderung zur\xFCckgenommen",
|
|
1110
|
+
mail_verification: "Best\xE4tigungsmail gesendet",
|
|
1111
|
+
mail_reset: "Mail zum Zur\xFCcksetzen des Passworts gesendet",
|
|
1112
|
+
reviewer: "Pr\xFCfrolle ge\xE4ndert",
|
|
1113
|
+
invite: "Eingeladen",
|
|
1114
|
+
invite_resend: "Einladung erneut gesendet",
|
|
1115
|
+
invite_revoke: "Einladung zur\xFCckgezogen",
|
|
1116
|
+
transfer: "Arbeit \xFCbergeben",
|
|
1117
|
+
deletion_request: "L\xF6schung beantragt",
|
|
1118
|
+
deletion_cancel: "L\xF6schung aufgehoben",
|
|
1119
|
+
erase: "Konto endg\xFCltig gel\xF6scht"
|
|
1120
|
+
}
|
|
1121
|
+
},
|
|
1122
|
+
transferOwnership: {
|
|
1123
|
+
title: (name) => `Arbeit von ${name} \xFCbergeben`,
|
|
1124
|
+
body: "Alles, was diesem Konto geh\xF6rt, geht in einem Schritt an das gew\xE4hlte Konto.",
|
|
1125
|
+
recipient: "\xDCbergeben an",
|
|
1126
|
+
choose: "Konto w\xE4hlen\u2026",
|
|
1127
|
+
chooseFirst: "W\xE4hlen Sie, wer die Arbeit erh\xE4lt",
|
|
1128
|
+
confirm: "\xDCbergeben",
|
|
1129
|
+
customer: "Kundenkonto",
|
|
1130
|
+
deactivated: "deaktiviert",
|
|
1131
|
+
self: "dasselbe Konto",
|
|
1132
|
+
unavailable: (account, reason) => `${account} (${reason})`,
|
|
1133
|
+
noCandidates: "Kein anderes Konto kann sie erhalten."
|
|
1134
|
+
},
|
|
1135
|
+
invitations: {
|
|
1136
|
+
email: "E-Mail-Adresse",
|
|
1137
|
+
invalidEmail: "Bitte eine vollst\xE4ndige E-Mail-Adresse eingeben.",
|
|
1138
|
+
role: "Rolle",
|
|
1139
|
+
scope: "Bereich",
|
|
1140
|
+
scopeNone: "Keiner",
|
|
1141
|
+
language: "Sprache der Einladung",
|
|
1142
|
+
note: "Notiz",
|
|
1143
|
+
invite: "Einladen",
|
|
1144
|
+
listTitle: "Einladungen",
|
|
1145
|
+
empty: "Noch niemand ist eingeladen.",
|
|
1146
|
+
loading: "Wird geladen\u2026",
|
|
1147
|
+
status: { open: "Offen", accepted: "Angenommen", expired: "Abgelaufen", revoked: "Zur\xFCckgezogen" },
|
|
1148
|
+
sent: (date) => `Gesendet am ${date}`,
|
|
1149
|
+
// kastlan's "Gültig bis".
|
|
1150
|
+
expires: (date) => `G\xFCltig bis ${date}`,
|
|
1151
|
+
invitedBy: (name) => `von ${name}`,
|
|
1152
|
+
resend: (email) => `${email} einen neuen Link senden`,
|
|
1153
|
+
copyLink: "Einladungslink kopieren",
|
|
1154
|
+
revoke: (email) => `Einladung an ${email} zur\xFCckziehen`,
|
|
1155
|
+
consoleHint: "Dieser Server verschickt keine Mails \u2013 sie werden ins Server-Log geschrieben. Kopieren Sie jeden Einladungslink hier und geben Sie ihn selbst weiter: Er wird nur einmal angezeigt.",
|
|
1156
|
+
linkReady: (email) => `Der Einladungslink f\xFCr ${email}, nur dieses eine Mal angezeigt:`,
|
|
1157
|
+
notSent: (email) => `${email} ist eingeladen, aber die Mail konnte nicht gesendet werden. Senden Sie sie erneut.`,
|
|
1158
|
+
failed: "Das hat nicht geklappt. Bitte erneut versuchen."
|
|
1159
|
+
},
|
|
819
1160
|
characterCount: {
|
|
820
1161
|
// "Zeichen" is the same in singular and plural.
|
|
821
1162
|
count: (used, max) => `${n(used)} von ${n(max)} Zeichen`,
|