@eifi1/ui-kit 0.29.0 → 0.31.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 +65 -6
- 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 +114 -0
- package/dist/account/data-export-setting.js.map +1 -0
- package/dist/account/delete-account-setting.d.ts +95 -0
- package/dist/account/delete-account-setting.js +200 -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 +278 -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 +147 -0
- package/dist/account/sessions-setting.js.map +1 -0
- package/dist/admin/admin-action-confirm.d.ts +95 -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 +95 -0
- package/dist/admin/invitations-panel.js +290 -0
- package/dist/admin/invitations-panel.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +95 -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 +95 -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 +95 -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 +95 -0
- package/dist/admin/user-roster.js +285 -0
- package/dist/admin/user-roster.js.map +1 -0
- package/dist/auth/auth-errors.d.ts +103 -6
- package/dist/auth/auth-errors.js +68 -2
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/forgot-password-form.d.ts +10 -3
- package/dist/auth/forgot-password-form.js +6 -3
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/register-form.d.ts +21 -12
- package/dist/auth/register-form.js +6 -4
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form.d.ts +10 -3
- package/dist/auth/reset-password-form.js +6 -3
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form.d.ts +75 -9
- package/dist/auth/sign-in-form.js +105 -15
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/verify-email.d.ts +7 -2
- package/dist/auth/verify-email.js +44 -8
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/chart.d.ts +20 -11
- 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 +24 -1
- package/dist/components/account-settings-labels.js +6 -2
- package/dist/components/account-settings-labels.js.map +1 -1
- package/dist/components/account-settings.d.ts +69 -8
- package/dist/components/account-settings.js +133 -25
- package/dist/components/account-settings.js.map +1 -1
- package/dist/components/amount-input.d.ts +21 -12
- package/dist/components/button-group.d.ts +21 -12
- package/dist/components/calculator.d.ts +21 -12
- package/dist/components/confirm-dialog.d.ts +21 -12
- package/dist/components/copy-button.d.ts +18 -9
- package/dist/components/danger-confirm.d.ts +21 -12
- package/dist/components/data-table.js +8 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +9 -4
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/facing-pair.d.ts +21 -12
- package/dist/components/file-button.d.ts +21 -12
- package/dist/components/file-dropzone.d.ts +21 -12
- package/dist/components/form-actions.d.ts +21 -12
- package/dist/components/iban-input.d.ts +21 -12
- package/dist/components/language-select.d.ts +21 -12
- package/dist/components/legal-page.d.ts +21 -12
- package/dist/components/legal.d.ts +21 -12
- package/dist/components/money-field.d.ts +21 -12
- package/dist/components/number-field.d.ts +21 -12
- package/dist/components/number-input.d.ts +21 -12
- package/dist/components/numpad-sheet.d.ts +21 -12
- package/dist/components/passkeys-setting.js +2 -1
- package/dist/components/passkeys-setting.js.map +1 -1
- package/dist/components/phone-input.d.ts +21 -12
- package/dist/components/series-chart.d.ts +21 -12
- package/dist/components/settings-fields.d.ts +55 -13
- package/dist/components/settings-fields.js +20 -1
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card.d.ts +20 -11
- package/dist/components/text-link.d.ts +21 -12
- package/dist/components/time-input.d.ts +21 -12
- package/dist/components/ui.d.ts +17 -8
- package/dist/{register-form-V1OeNlMr.d.ts → delete-account-setting-DCFS5Vof.d.ts} +6612 -5612
- package/dist/demo/demo-banner.d.ts +51 -0
- package/dist/demo/demo-banner.js +97 -0
- package/dist/demo/demo-banner.js.map +1 -0
- package/dist/demo/demo-countdown.d.ts +58 -0
- package/dist/demo/demo-countdown.js +79 -0
- package/dist/demo/demo-countdown.js.map +1 -0
- package/dist/demo/demo-ended.d.ts +45 -0
- package/dist/demo/demo-ended.js +42 -0
- package/dist/demo/demo-ended.js.map +1 -0
- package/dist/demo/demo-labels.d.ts +53 -0
- package/dist/demo/demo-labels.js +29 -0
- package/dist/demo/demo-labels.js.map +1 -0
- package/dist/demo/demo-session.d.ts +30 -0
- package/dist/demo/demo-session.js +8 -0
- package/dist/demo/demo-session.js.map +1 -0
- package/dist/demo/demo-start.d.ts +54 -0
- package/dist/demo/demo-start.js +68 -0
- package/dist/demo/demo-start.js.map +1 -0
- package/dist/feedback/feedback-attachment.d.ts +21 -12
- package/dist/feedback/feedback-context.d.ts +21 -12
- package/dist/feedback/feedback-crash.d.ts +21 -12
- package/dist/feedback/feedback-dialog.d.ts +21 -12
- package/dist/feedback/feedback-inbox.d.ts +21 -12
- package/dist/feedback/feedback-inbox.js +12 -2
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +21 -12
- package/dist/feedback/feedback-labels.js +1 -0
- package/dist/feedback/feedback-labels.js.map +1 -1
- package/dist/feedback/feedback-menu.d.ts +21 -12
- package/dist/feedback/feedback-record.d.ts +21 -12
- package/dist/feedback/feedback-record.js +2 -0
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-row-detail.d.ts +21 -12
- package/dist/feedback/feedback-row-detail.js +7 -0
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +21 -12
- package/dist/feedback/feedback-submit.d.ts +21 -12
- package/dist/feedback/feedback-swipe.d.ts +22 -13
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +18 -9
- package/dist/feedback/feedback-thread.d.ts +21 -12
- package/dist/feedback.d.ts +21 -12
- 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 +21 -12
- package/dist/i18n/defaults.d.ts +21 -12
- package/dist/i18n/defaults.js +28 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +21 -12
- package/dist/i18n/german.js +298 -12
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +14 -5
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +15 -6
- package/dist/i18n/locales/de-CH.d.ts +21 -12
- package/dist/i18n/locales/en.d.ts +21 -12
- package/dist/i18n/locales/es.d.ts +21 -12
- package/dist/i18n/locales/es.js +287 -10
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +21 -12
- package/dist/i18n/locales/fr.js +290 -7
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +21 -12
- package/dist/i18n/locales/hu.js +288 -12
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +21 -12
- package/dist/i18n/locales/it.js +289 -7
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +21 -12
- package/dist/i18n/locales/zh.js +279 -7
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +21 -12
- package/dist/i18n/review.js +50 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +31 -4
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -1
- package/dist/landing/access.d.ts +48 -0
- package/dist/landing/access.js +38 -0
- package/dist/landing/access.js.map +1 -0
- package/dist/landing/landing-actions.d.ts +138 -0
- package/dist/landing/landing-actions.js +39 -0
- package/dist/landing/landing-actions.js.map +1 -0
- package/dist/landing/landing-labels.d.ts +43 -0
- package/dist/landing/landing-labels.js +23 -0
- package/dist/landing/landing-labels.js.map +1 -0
- package/dist/landing/landing-sections.d.ts +218 -0
- package/dist/landing/landing-sections.js +167 -0
- package/dist/landing/landing-sections.js.map +1 -0
- package/dist/landing/page-seo.d.ts +99 -0
- package/dist/landing/page-seo.js +121 -0
- package/dist/landing/page-seo.js.map +1 -0
- package/dist/landing/public-header.d.ts +148 -0
- package/dist/landing/public-header.js +49 -0
- package/dist/landing/public-header.js.map +1 -0
- package/dist/landing/routing.d.ts +218 -0
- package/dist/landing/routing.js +81 -0
- package/dist/landing/routing.js.map +1 -0
- package/dist/rhf/fields.d.ts +21 -12
- package/dist/rhf/form.d.ts +21 -12
- package/dist/rhf.d.ts +21 -12
- package/dist/settings/settings-catalogue.d.ts +84 -0
- package/dist/settings/settings-catalogue.js +47 -0
- package/dist/settings/settings-catalogue.js.map +1 -0
- package/dist/settings/settings-context.d.ts +31 -0
- package/dist/settings/settings-context.js +11 -0
- package/dist/settings/settings-context.js.map +1 -0
- package/dist/settings/settings-heading.d.ts +50 -0
- package/dist/settings/settings-heading.js +27 -0
- package/dist/settings/settings-heading.js.map +1 -0
- package/dist/settings/settings-labels.d.ts +41 -0
- package/dist/settings/settings-labels.js +38 -0
- package/dist/settings/settings-labels.js.map +1 -0
- package/dist/settings/settings-layout.d.ts +77 -0
- package/dist/settings/settings-layout.js +242 -0
- package/dist/settings/settings-layout.js.map +1 -0
- package/dist/settings/settings-section.d.ts +133 -0
- package/dist/settings/settings-section.js +63 -0
- package/dist/settings/settings-section.js.map +1 -0
- package/dist/settings/use-account-language.d.ts +83 -0
- package/dist/settings/use-account-language.js +62 -0
- package/dist/settings/use-account-language.js.map +1 -0
- package/dist/settings/use-settings-focus.d.ts +34 -0
- package/dist/settings/use-settings-focus.js +77 -0
- package/dist/settings/use-settings-focus.js.map +1 -0
- package/dist/settings/use-settings-route.d.ts +118 -0
- package/dist/settings/use-settings-route.js +120 -0
- package/dist/settings/use-settings-route.js.map +1 -0
- package/dist/shell/app-shell.d.ts +27 -12
- package/dist/shell/app-shell.js +3 -2
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/top-bar-brand.d.ts +21 -12
- package/dist/shell.d.ts +25 -6
- package/dist/shell.js +56 -0
- package/dist/shell.js.map +1 -1
- package/dist/wizard/stepper-nav.d.ts +21 -12
- package/dist/wizard.d.ts +21 -12
- package/package.json +2 -1
- package/src/account/account-parts.ts +67 -0
- package/src/account/data-export-setting.tsx +219 -0
- package/src/account/delete-account-setting.tsx +363 -0
- package/src/account/email-change-setting.tsx +454 -0
- package/src/account/sessions-setting.tsx +284 -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 +523 -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/auth-errors.ts +196 -8
- package/src/auth/forgot-password-form.tsx +21 -5
- package/src/auth/register-form.tsx +24 -6
- package/src/auth/reset-password-form.tsx +19 -5
- package/src/auth/sign-in-form.tsx +241 -38
- package/src/auth/verify-email.tsx +59 -8
- package/src/components/account-chips.tsx +64 -7
- package/src/components/account-settings-labels.ts +28 -1
- package/src/components/account-settings.tsx +231 -34
- package/src/components/data-table.tsx +8 -0
- package/src/components/date-picker.tsx +9 -4
- package/src/components/passkeys-setting.tsx +2 -1
- package/src/components/settings-fields.tsx +50 -1
- package/src/demo/demo-banner.tsx +159 -0
- package/src/demo/demo-countdown.ts +141 -0
- package/src/demo/demo-ended.tsx +89 -0
- package/src/demo/demo-labels.ts +78 -0
- package/src/demo/demo-session.ts +32 -0
- package/src/demo/demo-start.tsx +150 -0
- package/src/feedback/feedback-inbox.tsx +21 -8
- package/src/feedback/feedback-labels.ts +2 -1
- package/src/feedback/feedback-record.ts +10 -7
- package/src/feedback/feedback-row-detail.tsx +28 -4
- package/src/feedback/feedback-swipe.tsx +1 -1
- package/src/hooks/use-anchored-panel.ts +14 -3
- package/src/i18n/defaults.ts +28 -0
- package/src/i18n/german.ts +327 -5
- package/src/i18n/kit-labels.tsx +42 -0
- package/src/i18n/locales/es.ts +313 -3
- package/src/i18n/locales/fr.ts +316 -0
- package/src/i18n/locales/hu.ts +308 -5
- package/src/i18n/locales/it.ts +313 -0
- package/src/i18n/locales/zh.ts +286 -0
- package/src/i18n/review.ts +49 -0
- package/src/index.ts +184 -0
- package/src/landing/access.ts +97 -0
- package/src/landing/landing-actions.tsx +92 -0
- package/src/landing/landing-labels.ts +59 -0
- package/src/landing/landing-sections.tsx +337 -0
- package/src/landing/page-seo.ts +251 -0
- package/src/landing/public-header.tsx +120 -0
- package/src/landing/routing.tsx +209 -0
- package/src/settings/settings-catalogue.ts +132 -0
- package/src/settings/settings-context.ts +33 -0
- package/src/settings/settings-heading.tsx +65 -0
- package/src/settings/settings-labels.ts +75 -0
- package/src/settings/settings-layout.tsx +379 -0
- package/src/settings/settings-section.tsx +108 -0
- package/src/settings/use-account-language.ts +146 -0
- package/src/settings/use-settings-focus.ts +120 -0
- package/src/settings/use-settings-route.ts +258 -0
- package/src/shell/app-shell.tsx +10 -2
- package/src/shell.ts +45 -0
package/src/i18n/locales/fr.ts
CHANGED
|
@@ -14,6 +14,15 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
14
14
|
const num = new Intl.NumberFormat(numberLocale);
|
|
15
15
|
const n = (value: number) => num.format(value);
|
|
16
16
|
const plural = (count: number, one: string, many: string) => (count < 2 ? one : many);
|
|
17
|
+
// 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in
|
|
18
|
+
// src/auth/auth-errors.ts: no wait → "un instant", under a minute → seconds, else
|
|
19
|
+
// minutes rounded up. kastlan's reviewed "auth.throttled" is the sentence without one.
|
|
20
|
+
const wait = (seconds: number) =>
|
|
21
|
+
seconds < 60 ? `${n(Math.ceil(seconds))}\u00a0s` : `${n(Math.ceil(seconds / 60))}\u00a0min`;
|
|
22
|
+
const rateLimited = (seconds?: number) =>
|
|
23
|
+
!seconds || seconds <= 0
|
|
24
|
+
? "Trop de tentatives. Veuillez patienter un instant, puis réessayer."
|
|
25
|
+
: `Trop de tentatives. Réessayez dans ${wait(seconds)}.`;
|
|
17
26
|
|
|
18
27
|
return {
|
|
19
28
|
feedbackAttachment: {
|
|
@@ -61,6 +70,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
61
70
|
// 0.27.0. "Retour" for feedback, as `feedbackDialog`; "reprise" for rework.
|
|
62
71
|
feedbackStatus: {
|
|
63
72
|
OPEN: "Ouvert",
|
|
73
|
+
READY: "Prêt à implémenter",
|
|
64
74
|
IN_PROGRESS: "En cours",
|
|
65
75
|
IN_EVALUATION: "En évaluation",
|
|
66
76
|
NEEDS_LIVE_TEST: "À tester en production",
|
|
@@ -120,6 +130,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
120
130
|
phoneActions: "Actions sur les retours",
|
|
121
131
|
},
|
|
122
132
|
feedbackDetail: {
|
|
133
|
+
subject: "Objet",
|
|
123
134
|
body: "Description",
|
|
124
135
|
edit: "Modifier",
|
|
125
136
|
editDescription: "Modifier la description",
|
|
@@ -152,6 +163,9 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
152
163
|
memberSince: "Membre depuis",
|
|
153
164
|
displayName: "Nom affiché",
|
|
154
165
|
save: "Enregistrer",
|
|
166
|
+
firstName: "Prénom",
|
|
167
|
+
lastName: "Nom",
|
|
168
|
+
nameRequired: "Saisissez un prénom et un nom.",
|
|
155
169
|
},
|
|
156
170
|
password: {
|
|
157
171
|
title: "Changer le mot de passe",
|
|
@@ -177,6 +191,8 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
177
191
|
qrAlt: "Code QR pour votre application d’authentification",
|
|
178
192
|
secretHint: "Impossible de le scanner\u202f? Saisissez plutôt cette clé dans l’application\u00a0:",
|
|
179
193
|
copySecret: "Copier la clé",
|
|
194
|
+
// 0.31.0: the card's title; the state ("Activée") stands beside it.
|
|
195
|
+
title: "Authentification à deux facteurs",
|
|
180
196
|
},
|
|
181
197
|
passkeys: {
|
|
182
198
|
title: "Clés d’accès",
|
|
@@ -715,6 +731,8 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
715
731
|
registered: "Inscrit",
|
|
716
732
|
unverified: "Non vérifié",
|
|
717
733
|
passwordChange: "Doit changer de mot de passe",
|
|
734
|
+
deletion: "Suppression demandée",
|
|
735
|
+
deletionOn: (date) => `Suppression le ${date}`,
|
|
718
736
|
},
|
|
719
737
|
shareCard: {
|
|
720
738
|
dialogTitle: "Partager",
|
|
@@ -884,6 +902,19 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
884
902
|
setPasswordFailed: "Le mot de passe n’a pas pu être défini.",
|
|
885
903
|
expired: "Cette connexion a expiré. Veuillez vous reconnecter.",
|
|
886
904
|
backToSignIn: "Retour à la connexion",
|
|
905
|
+
// kastlan's backup-code words ("code de secours" — not keksdose's "code de
|
|
906
|
+
// récupération", which is the key of its end-to-end encryption).
|
|
907
|
+
useRecoveryCode: "Utiliser un code de secours",
|
|
908
|
+
useAuthenticatorCode: "Utiliser votre application d’authentification",
|
|
909
|
+
recoveryCode: "Code de secours",
|
|
910
|
+
recoveryIntro:
|
|
911
|
+
"Saisissez l’un des codes de secours que vous avez enregistrés en activant l’authentification à deux facteurs.",
|
|
912
|
+
recoveryCodeHint: (length) =>
|
|
913
|
+
`${n(length)} lettres et chiffres. Les tirets et les espaces ne comptent pas.`,
|
|
914
|
+
recoveryCodeInvalid: "Ce code de secours n’est pas valable ou a déjà été utilisé.",
|
|
915
|
+
rateLimited,
|
|
916
|
+
// 0.31.0: the same words as `landing.requestAccess`.
|
|
917
|
+
requestAccess: "Demander l’accès",
|
|
887
918
|
},
|
|
888
919
|
register: {
|
|
889
920
|
firstName: "Prénom",
|
|
@@ -907,6 +938,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
907
938
|
invitationInvalid: "Ce lien d’invitation n’est pas valide.",
|
|
908
939
|
invitationExpired: "Cette invitation a expiré. Demandez-en une nouvelle.",
|
|
909
940
|
failed: "Échec de l’inscription. Veuillez réessayer.",
|
|
941
|
+
rateLimited,
|
|
910
942
|
},
|
|
911
943
|
completeName: {
|
|
912
944
|
title: "Complétez votre nom",
|
|
@@ -929,6 +961,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
929
961
|
"Le lien est valable une heure et ne fonctionne qu’une seule fois. Vérifiez aussi votre dossier de courrier indésirable.",
|
|
930
962
|
backToSignIn: "Retour à la connexion",
|
|
931
963
|
error: "La demande a échoué. Veuillez réessayer plus tard.",
|
|
964
|
+
rateLimited,
|
|
932
965
|
},
|
|
933
966
|
resetPassword: {
|
|
934
967
|
title: "Choisir un nouveau mot de passe",
|
|
@@ -947,6 +980,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
947
980
|
success: "Votre mot de passe a été changé. Vous pouvez vous connecter avec dès maintenant.",
|
|
948
981
|
sessionsEnded: "Les appareils connectés ont été déconnectés — vous devrez vous y reconnecter.",
|
|
949
982
|
signIn: "Aller à la connexion",
|
|
983
|
+
rateLimited,
|
|
950
984
|
},
|
|
951
985
|
verifyEmail: {
|
|
952
986
|
title: "Confirmez votre adresse e-mail",
|
|
@@ -996,6 +1030,210 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
996
1030
|
currentMark: "(actuelle)",
|
|
997
1031
|
switching: "Changement d’entreprise…",
|
|
998
1032
|
},
|
|
1033
|
+
// 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed French for the admin
|
|
1034
|
+
// words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,
|
|
1035
|
+
// kastlan's for the company, the throttle and "Se déconnecter partout"; written fresh
|
|
1036
|
+
// where no app had the sentence. Phrased so that no sentence about the reader needs
|
|
1037
|
+
// a gender ("déconnecté·e").
|
|
1038
|
+
emailChange: {
|
|
1039
|
+
title: "Adresse e-mail",
|
|
1040
|
+
current: "Adresse actuelle",
|
|
1041
|
+
newEmail: "Nouvelle adresse e-mail",
|
|
1042
|
+
password: "Mot de passe actuel",
|
|
1043
|
+
passwordHint: "Votre adresse sert à vous connecter, c’est pourquoi la changer demande votre mot de passe.",
|
|
1044
|
+
emailTagUse: (address) => `Utiliser ${address}`,
|
|
1045
|
+
emailTagHint:
|
|
1046
|
+
"Beaucoup de fournisseurs livrent nom+tag@… dans la même boîte, ce qui rend le courrier de cette application filtrable et traçable. Vérifiez que le vôtre le fait avant de vous y fier\u00a0: vous vous connecteriez avec l’adresse marquée.",
|
|
1047
|
+
submit: "Changer d’adresse e-mail",
|
|
1048
|
+
sameAsCurrent: "C’est déjà votre adresse.",
|
|
1049
|
+
emailTaken: "Un compte existe déjà avec cette adresse e-mail.",
|
|
1050
|
+
wrongPassword: "Le mot de passe est incorrect.",
|
|
1051
|
+
pending: (newEmail) => `Confirmez le lien que nous avons envoyé à ${newEmail}.`,
|
|
1052
|
+
pendingHint: (currentEmail) =>
|
|
1053
|
+
`D’ici là, vous continuez à vous connecter avec ${currentEmail}. Vérifiez aussi votre dossier de courrier indésirable.`,
|
|
1054
|
+
resend: "Renvoyer le lien",
|
|
1055
|
+
resent: "Nous avons renvoyé le lien.",
|
|
1056
|
+
cancel: "Annuler le changement",
|
|
1057
|
+
confirmed: (email) => `Votre adresse e-mail est désormais ${email}.`,
|
|
1058
|
+
passkeyNote:
|
|
1059
|
+
"Vos clés d’accès continuent de fonctionner. Votre appareil peut encore les afficher sous votre ancienne adresse.",
|
|
1060
|
+
rateLimited,
|
|
1061
|
+
failed: "Cela n’a pas fonctionné. Veuillez réessayer.",
|
|
1062
|
+
},
|
|
1063
|
+
sessions: {
|
|
1064
|
+
title: "Sessions",
|
|
1065
|
+
description:
|
|
1066
|
+
"Une session ouverte sur un appareil que vous n’utilisez plus, ou auquel vous ne vous fiez pas\u202f? Déconnectez-vous partout.",
|
|
1067
|
+
signOutEverywhere: "Se déconnecter partout…",
|
|
1068
|
+
signOutEverywherePrompt:
|
|
1069
|
+
"Toutes les sessions prennent fin, y compris celle-ci\u00a0: cet appareil sera déconnecté lui aussi, et il faudra vous reconnecter ici.",
|
|
1070
|
+
confirmSignOutEverywhere: "Se déconnecter partout",
|
|
1071
|
+
list: "Vos sessions ouvertes",
|
|
1072
|
+
loading: "Chargement des sessions…",
|
|
1073
|
+
empty: "Aucune session à afficher.",
|
|
1074
|
+
current: "Cet appareil",
|
|
1075
|
+
unknownDevice: "Appareil inconnu",
|
|
1076
|
+
// A colon: `when` is either "il y a 3 heures" or a date.
|
|
1077
|
+
lastActive: (when) => `Dernière activité\u00a0: ${when}`,
|
|
1078
|
+
ip: (address) => `IP ${address}`,
|
|
1079
|
+
revoke: "Déconnecter",
|
|
1080
|
+
// Starts with `revoke`, the button's visible text, for voice control.
|
|
1081
|
+
revokeItem: (device) => `Déconnecter ${device}`,
|
|
1082
|
+
failed: "Cela n’a pas fonctionné. Veuillez réessayer.",
|
|
1083
|
+
},
|
|
1084
|
+
deleteAccount: {
|
|
1085
|
+
title: "Supprimer le compte",
|
|
1086
|
+
afterDays: (days) =>
|
|
1087
|
+
`Votre compte est désactivé immédiatement et effacé définitivement ${n(days)} ${plural(days, "jour", "jours")} plus tard.`,
|
|
1088
|
+
operator: "Votre compte est désactivé immédiatement, puis l’exploitant l’effacera définitivement.",
|
|
1089
|
+
arm: "Supprimer le compte…",
|
|
1090
|
+
prompt: "Toutes vos sessions prendront fin, sur tous les appareils, et votre compte ne pourra plus être utilisé.",
|
|
1091
|
+
handOver: (count) =>
|
|
1092
|
+
count < 2
|
|
1093
|
+
? `${n(count)} élément visible par d’autres passera à un administrateur.`
|
|
1094
|
+
: `${n(count)} éléments visibles par d’autres passeront à un administrateur.`,
|
|
1095
|
+
confirm: "Supprimer mon compte",
|
|
1096
|
+
done: "Votre compte est désactivé. Déconnexion en cours.",
|
|
1097
|
+
wrongPassword: "Le mot de passe est incorrect.",
|
|
1098
|
+
confirmationMismatch: "Ce n’est pas l’adresse de votre compte.",
|
|
1099
|
+
lastAdmin:
|
|
1100
|
+
"Votre compte est le dernier compte administrateur. Nommez d’abord quelqu’un d’autre administrateur.",
|
|
1101
|
+
lastAdminOf: (companies) =>
|
|
1102
|
+
`Votre compte est le dernier compte administrateur de ${companies}. Nommez-y d’abord quelqu’un d’autre administrateur.`,
|
|
1103
|
+
// keksdose's "ménage".
|
|
1104
|
+
householdHasMembers:
|
|
1105
|
+
"Votre ménage a d’autres membres, le compte ne peut donc pas être supprimé ici. Veuillez écrire à l’exploitant.",
|
|
1106
|
+
rateLimited,
|
|
1107
|
+
failed: "Votre compte n’a pas pu être supprimé. Veuillez réessayer.",
|
|
1108
|
+
},
|
|
1109
|
+
dataExport: {
|
|
1110
|
+
title: "Exporter vos données",
|
|
1111
|
+
description: "Téléchargez une copie des données de votre compte sous forme de fichier JSON.",
|
|
1112
|
+
download: "Télécharger mes données",
|
|
1113
|
+
started: "Votre téléchargement a commencé.",
|
|
1114
|
+
saveAgain: "Rien ne s’est passé\u202f? Enregistrer le fichier",
|
|
1115
|
+
rateLimited: (seconds) =>
|
|
1116
|
+
seconds && seconds > 0
|
|
1117
|
+
? `Vous venez d’exporter vos données. Réessayez dans ${wait(seconds)}.`
|
|
1118
|
+
: "Vous venez d’exporter vos données. Veuillez réessayer dans une minute.",
|
|
1119
|
+
failed: "L’export a échoué. Veuillez réessayer.",
|
|
1120
|
+
},
|
|
1121
|
+
userRoster: {
|
|
1122
|
+
name: "Nom",
|
|
1123
|
+
email: "E-mail",
|
|
1124
|
+
role: "Rôle",
|
|
1125
|
+
state: "État",
|
|
1126
|
+
created: "Créé le",
|
|
1127
|
+
lastLogin: "Dernière connexion",
|
|
1128
|
+
never: "Jamais",
|
|
1129
|
+
actions: "Actions",
|
|
1130
|
+
actionsFor: (name) => `Actions pour ${name}`,
|
|
1131
|
+
},
|
|
1132
|
+
roleSelect: {
|
|
1133
|
+
label: "Rôle",
|
|
1134
|
+
rolesLegend: "Rôles",
|
|
1135
|
+
roleOf: (name) => `Rôle de ${name}`,
|
|
1136
|
+
lockedLastAdmin: "Le dernier compte administrateur actif garde ce rôle.",
|
|
1137
|
+
lockedSelf: "Vous ne pouvez pas changer votre propre rôle.",
|
|
1138
|
+
notForLastAdmin: "pas pour le dernier administrateur",
|
|
1139
|
+
notForSelf: "pas pour votre propre compte",
|
|
1140
|
+
unavailable: (role, reason) => `${role} (${reason})`,
|
|
1141
|
+
},
|
|
1142
|
+
reviewerScope: {
|
|
1143
|
+
languages: "Langues",
|
|
1144
|
+
hint: "Cochez les langues que cette personne relit.",
|
|
1145
|
+
none: "Aucune langue\u00a0: enregistrer retire le rôle de relecteur.",
|
|
1146
|
+
areas: "Limiter à",
|
|
1147
|
+
legalOnly: "Uniquement les pages légales",
|
|
1148
|
+
legalOnlyHint:
|
|
1149
|
+
"Mentions légales, politique de confidentialité et conditions d’utilisation\u00a0: pour un juriste plutôt que pour un locuteur natif.",
|
|
1150
|
+
failed: "Le rôle de relecteur n’a pas pu être enregistré. Veuillez réessayer.",
|
|
1151
|
+
},
|
|
1152
|
+
adminAction: {
|
|
1153
|
+
confirm: "Confirmer",
|
|
1154
|
+
cancel: "Annuler",
|
|
1155
|
+
close: "Fermer",
|
|
1156
|
+
lastAdmin:
|
|
1157
|
+
"C’est le dernier compte administrateur actif. Nommez d’abord quelqu’un d’autre administrateur.",
|
|
1158
|
+
self: "Vous ne pouvez pas faire cela sur votre propre compte.",
|
|
1159
|
+
confirmationMismatch:
|
|
1160
|
+
"L’adresse ne correspond pas à ce compte. Vérifiez sur quel compte vous êtes.",
|
|
1161
|
+
otherCompanies:
|
|
1162
|
+
"Ce compte appartient aussi à d’autres entreprises, seul l’exploitant de la plateforme peut donc faire cela. Vous pouvez plutôt le retirer de cette entreprise.",
|
|
1163
|
+
removeFromCompany: "Retirer de l’entreprise",
|
|
1164
|
+
failed: "Cela n’a pas fonctionné. Veuillez réessayer.",
|
|
1165
|
+
},
|
|
1166
|
+
adminActionLog: {
|
|
1167
|
+
title: "Actions d’administration",
|
|
1168
|
+
empty: "Aucune action d’administration pour l’instant.",
|
|
1169
|
+
loading: "Chargement…",
|
|
1170
|
+
by: (actor) => `par ${actor}`,
|
|
1171
|
+
bySelf: "par la personne elle-même",
|
|
1172
|
+
automatic: "automatiquement",
|
|
1173
|
+
erased: "un compte effacé",
|
|
1174
|
+
filteredTo: (target) => `Uniquement ${target}`,
|
|
1175
|
+
showAll: "Afficher toutes les actions",
|
|
1176
|
+
filterBy: (target) => `Afficher uniquement les actions concernant ${target}`,
|
|
1177
|
+
// Agreeing with "compte" (masculine), like `accountState`.
|
|
1178
|
+
actions: {
|
|
1179
|
+
deactivate: "Désactivé",
|
|
1180
|
+
reactivate: "Réactivé",
|
|
1181
|
+
role: "Rôle modifié",
|
|
1182
|
+
membership_remove: "Retiré de l’entreprise",
|
|
1183
|
+
password_change_require: "Nouveau mot de passe exigé",
|
|
1184
|
+
password_change_withdraw: "Exigence de mot de passe retirée",
|
|
1185
|
+
mail_verification: "E-mail de confirmation envoyé",
|
|
1186
|
+
mail_reset: "E-mail de réinitialisation du mot de passe envoyé",
|
|
1187
|
+
reviewer: "Périmètre de relecture modifié",
|
|
1188
|
+
invite: "Invité",
|
|
1189
|
+
invite_resend: "Invitation renvoyée",
|
|
1190
|
+
invite_revoke: "Invitation révoquée",
|
|
1191
|
+
transfer: "Travail transmis",
|
|
1192
|
+
deletion_request: "Suppression demandée",
|
|
1193
|
+
deletion_cancel: "Suppression annulée",
|
|
1194
|
+
erase: "Compte effacé",
|
|
1195
|
+
},
|
|
1196
|
+
},
|
|
1197
|
+
transferOwnership: {
|
|
1198
|
+
title: (name) => `Transmettre le travail de ${name}`,
|
|
1199
|
+
body: "Tout ce que possède ce compte passe au compte choisi, en une seule étape.",
|
|
1200
|
+
recipient: "Le transmettre à",
|
|
1201
|
+
choose: "Choisissez un compte…",
|
|
1202
|
+
chooseFirst: "Choisissez qui reçoit le travail",
|
|
1203
|
+
confirm: "Transmettre",
|
|
1204
|
+
customer: "client",
|
|
1205
|
+
deactivated: "désactivé",
|
|
1206
|
+
self: "le même compte",
|
|
1207
|
+
unavailable: (account, reason) => `${account} (${reason})`,
|
|
1208
|
+
noCandidates: "Aucun autre compte ne peut le recevoir.",
|
|
1209
|
+
},
|
|
1210
|
+
invitations: {
|
|
1211
|
+
email: "Adresse e-mail",
|
|
1212
|
+
invalidEmail: "Saisissez une adresse e-mail complète.",
|
|
1213
|
+
role: "Rôle",
|
|
1214
|
+
scope: "Portée",
|
|
1215
|
+
scopeNone: "Aucune",
|
|
1216
|
+
language: "Langue de l’invitation",
|
|
1217
|
+
note: "Note",
|
|
1218
|
+
invite: "Inviter",
|
|
1219
|
+
listTitle: "Invitations",
|
|
1220
|
+
empty: "Personne n’a encore été invité.",
|
|
1221
|
+
loading: "Chargement…",
|
|
1222
|
+
// Agreeing with "invitation" (feminine).
|
|
1223
|
+
status: { open: "Ouverte", accepted: "Acceptée", expired: "Expirée", revoked: "Révoquée" },
|
|
1224
|
+
sent: (date) => `Envoyée le ${date}`,
|
|
1225
|
+
// kastlan's "Valable jusqu’au".
|
|
1226
|
+
expires: (date) => `Valable jusqu’au ${date}`,
|
|
1227
|
+
invitedBy: (name) => `par ${name}`,
|
|
1228
|
+
resend: (email) => `Envoyer un nouveau lien à ${email}`,
|
|
1229
|
+
copyLink: "Copier le lien d’invitation",
|
|
1230
|
+
revoke: (email) => `Révoquer l’invitation de ${email}`,
|
|
1231
|
+
consoleHint:
|
|
1232
|
+
"Ce serveur n’envoie pas d’e-mails — ils sont écrits dans le journal du serveur. Copiez ici chaque lien d’invitation et transmettez-le vous-même\u00a0: il n’est affiché qu’une seule fois.",
|
|
1233
|
+
linkReady: (email) => `Le lien d’invitation pour ${email}, affiché cette seule fois\u00a0:`,
|
|
1234
|
+
notSent: (email) => `${email} est invité, mais l’e-mail n’a pas pu être envoyé. Renvoyez-le.`,
|
|
1235
|
+
failed: "Cela n’a pas fonctionné. Veuillez réessayer.",
|
|
1236
|
+
},
|
|
999
1237
|
characterCount: {
|
|
1000
1238
|
count: (used, max) => `${n(used)} sur ${n(max)} ${plural(max, "caractère", "caractères")}`,
|
|
1001
1239
|
remaining: (left) => `${n(left)} ${plural(left, "caractère restant", "caractères restants")}`,
|
|
@@ -1126,6 +1364,84 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
1126
1364
|
? `Approuver le texte non relu de «\u202f${group}\u202f»\u202f?`
|
|
1127
1365
|
: `Approuver les ${n(count)} textes non relus de «\u202f${group}\u202f», y compris ceux qui ne sont pas à l’écran\u202f?`,
|
|
1128
1366
|
},
|
|
1367
|
+
// 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md
|
|
1368
|
+
// §4–§5: the settings shell, the landing page's generic words and the demo. The help
|
|
1369
|
+
// lines name things as `accountSettings`, `sessions` and `dataExport` do, and no
|
|
1370
|
+
// sentence about the reader needs a gender ("informé·e").
|
|
1371
|
+
settings: {
|
|
1372
|
+
title: "Paramètres",
|
|
1373
|
+
search: "Rechercher dans les paramètres",
|
|
1374
|
+
searchPlaceholder: "Rechercher dans les paramètres…",
|
|
1375
|
+
results: "Paramètres correspondants",
|
|
1376
|
+
noMatches: (query) => `Aucun paramètre ne correspond à «\u202f${query}\u202f».`,
|
|
1377
|
+
// As `commandPalette.clear`.
|
|
1378
|
+
clearSearch: "Effacer la recherche",
|
|
1379
|
+
back: "Retour aux paramètres",
|
|
1380
|
+
sections: "Sections des paramètres",
|
|
1381
|
+
matchCount: (count) => `${n(count)} ${plural(count, "résultat", "résultats")}`,
|
|
1382
|
+
groups: {
|
|
1383
|
+
appearance: {
|
|
1384
|
+
title: "Apparence",
|
|
1385
|
+
help: "Langue, thème et apparence de l’application sur cet appareil.",
|
|
1386
|
+
},
|
|
1387
|
+
account: {
|
|
1388
|
+
title: "Compte",
|
|
1389
|
+
help: "Votre profil et votre adresse e-mail.",
|
|
1390
|
+
},
|
|
1391
|
+
security: {
|
|
1392
|
+
title: "Sécurité",
|
|
1393
|
+
help: "Comment vous vous connectez\u00a0: mot de passe, codes 2FA, clés d’accès et sessions.",
|
|
1394
|
+
},
|
|
1395
|
+
notifications: {
|
|
1396
|
+
title: "Notifications",
|
|
1397
|
+
help: "Quelles notifications vous recevez, quand et sur quels appareils.",
|
|
1398
|
+
},
|
|
1399
|
+
data: {
|
|
1400
|
+
title: "Données",
|
|
1401
|
+
help: "Exportez ce qui vous appartient, ou supprimez-le avec votre compte.",
|
|
1402
|
+
},
|
|
1403
|
+
},
|
|
1404
|
+
},
|
|
1405
|
+
landing: {
|
|
1406
|
+
signIn: "Se connecter",
|
|
1407
|
+
requestAccess: "Demander l’accès",
|
|
1408
|
+
getStarted: "Commencer",
|
|
1409
|
+
tryDemo: "Essayer la démo",
|
|
1410
|
+
openApp: "Ouvrir l’application",
|
|
1411
|
+
continueDemo: "Continuer la démo",
|
|
1412
|
+
// As `legal.notice` ("Bêta fermée").
|
|
1413
|
+
beta: "Bêta",
|
|
1414
|
+
// Plain text: a mail's subject and body lines, never HTML. The no-break space
|
|
1415
|
+
// before the colon, as everywhere in this catalogue.
|
|
1416
|
+
accessSubject: (app) => (app ? `Accès à ${app}` : "Demande d’accès"),
|
|
1417
|
+
accessName: "Nom\u00a0:",
|
|
1418
|
+
accessCompany: "Entreprise\u00a0:",
|
|
1419
|
+
accessUse: "Utilisation prévue\u00a0:",
|
|
1420
|
+
},
|
|
1421
|
+
demo: {
|
|
1422
|
+
starting: "Démarrage de la démo…",
|
|
1423
|
+
rateLimited: (minutes) =>
|
|
1424
|
+
minutes
|
|
1425
|
+
? `Trop de démos depuis ce réseau. Réessayez dans ${n(minutes)}\u00a0min.`
|
|
1426
|
+
: "Trop de démos depuis ce réseau. Réessayez plus tard.",
|
|
1427
|
+
capacity: "La démo est complète pour le moment. Réessayez plus tard.",
|
|
1428
|
+
unavailable: "La démo n’est pas disponible pour le moment.",
|
|
1429
|
+
failed: "La démo n’a pas pu être lancée. Veuillez réessayer.",
|
|
1430
|
+
// As `legal.backHome`.
|
|
1431
|
+
backToStart: "Retour à l’accueil",
|
|
1432
|
+
hoursLeft: (hours, minutes) => `Démo · il reste ${n(hours)}\u00a0h ${n(minutes)}\u00a0min`,
|
|
1433
|
+
minutesLeft: (minutes) => `Démo · il reste ${n(minutes)}\u00a0min`,
|
|
1434
|
+
badge: "Démo",
|
|
1435
|
+
readOnly: "Vous consultez des données d’exemple. Aucune modification n’est possible.",
|
|
1436
|
+
sandbox: "Ce que vous créez vous-même est supprimé à la fin de la démo.",
|
|
1437
|
+
details: "Détails de la démo",
|
|
1438
|
+
writeLocked: "Impossible dans la démo.",
|
|
1439
|
+
endedTitle: "La démo est terminée",
|
|
1440
|
+
endedReadOnly: "Les données d’exemple sont réinitialisées régulièrement.",
|
|
1441
|
+
endedSandbox:
|
|
1442
|
+
"Les données d’exemple sont réinitialisées régulièrement\u202f; ce que vous avez créé dans la démo est supprimé.",
|
|
1443
|
+
restart: "Lancer une nouvelle démo",
|
|
1444
|
+
},
|
|
1129
1445
|
};
|
|
1130
1446
|
}
|
|
1131
1447
|
|