@eifi1/ui-kit 0.29.0 → 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.
Files changed (187) hide show
  1. package/README.md +26 -4
  2. package/dist/account/account-parts.d.ts +21 -0
  3. package/dist/account/account-parts.js +40 -0
  4. package/dist/account/account-parts.js.map +1 -0
  5. package/dist/account/data-export-setting.d.ts +73 -0
  6. package/dist/account/data-export-setting.js +113 -0
  7. package/dist/account/data-export-setting.js.map +1 -0
  8. package/dist/account/delete-account-setting.d.ts +91 -0
  9. package/dist/account/delete-account-setting.js +199 -0
  10. package/dist/account/delete-account-setting.js.map +1 -0
  11. package/dist/account/email-change-setting.d.ts +136 -0
  12. package/dist/account/email-change-setting.js +277 -0
  13. package/dist/account/email-change-setting.js.map +1 -0
  14. package/dist/account/sessions-setting.d.ts +110 -0
  15. package/dist/account/sessions-setting.js +146 -0
  16. package/dist/account/sessions-setting.js.map +1 -0
  17. package/dist/admin/admin-action-confirm.d.ts +91 -0
  18. package/dist/admin/admin-action-confirm.js +276 -0
  19. package/dist/admin/admin-action-confirm.js.map +1 -0
  20. package/dist/admin/admin-action-log.d.ts +105 -0
  21. package/dist/admin/admin-action-log.js +153 -0
  22. package/dist/admin/admin-action-log.js.map +1 -0
  23. package/dist/admin/admin-parts.d.ts +40 -0
  24. package/dist/admin/admin-parts.js +45 -0
  25. package/dist/admin/admin-parts.js.map +1 -0
  26. package/dist/admin/invitations-panel.d.ts +91 -0
  27. package/dist/admin/invitations-panel.js +289 -0
  28. package/dist/admin/invitations-panel.js.map +1 -0
  29. package/dist/admin/reviewer-scope-editor.d.ts +91 -0
  30. package/dist/admin/reviewer-scope-editor.js +134 -0
  31. package/dist/admin/reviewer-scope-editor.js.map +1 -0
  32. package/dist/admin/role-select.d.ts +91 -0
  33. package/dist/admin/role-select.js +128 -0
  34. package/dist/admin/role-select.js.map +1 -0
  35. package/dist/admin/transfer-ownership-dialog.d.ts +91 -0
  36. package/dist/admin/transfer-ownership-dialog.js +83 -0
  37. package/dist/admin/transfer-ownership-dialog.js.map +1 -0
  38. package/dist/admin/user-roster.d.ts +91 -0
  39. package/dist/admin/user-roster.js +285 -0
  40. package/dist/admin/user-roster.js.map +1 -0
  41. package/dist/auth/auth-errors.d.ts +85 -6
  42. package/dist/auth/auth-errors.js +62 -2
  43. package/dist/auth/auth-errors.js.map +1 -1
  44. package/dist/auth/forgot-password-form.d.ts +10 -3
  45. package/dist/auth/forgot-password-form.js +6 -3
  46. package/dist/auth/forgot-password-form.js.map +1 -1
  47. package/dist/auth/register-form.d.ts +17 -12
  48. package/dist/auth/register-form.js +6 -4
  49. package/dist/auth/register-form.js.map +1 -1
  50. package/dist/auth/reset-password-form.d.ts +10 -3
  51. package/dist/auth/reset-password-form.js +6 -3
  52. package/dist/auth/reset-password-form.js.map +1 -1
  53. package/dist/auth/sign-in-form.d.ts +61 -9
  54. package/dist/auth/sign-in-form.js +94 -13
  55. package/dist/auth/sign-in-form.js.map +1 -1
  56. package/dist/auth/verify-email.d.ts +7 -2
  57. package/dist/auth/verify-email.js +44 -8
  58. package/dist/auth/verify-email.js.map +1 -1
  59. package/dist/chart.d.ts +16 -11
  60. package/dist/components/account-chips.d.ts +47 -7
  61. package/dist/components/account-chips.js +19 -3
  62. package/dist/components/account-chips.js.map +1 -1
  63. package/dist/components/account-settings-labels.d.ts +12 -1
  64. package/dist/components/account-settings-labels.js +4 -1
  65. package/dist/components/account-settings-labels.js.map +1 -1
  66. package/dist/components/account-settings.d.ts +61 -6
  67. package/dist/components/account-settings.js +115 -15
  68. package/dist/components/account-settings.js.map +1 -1
  69. package/dist/components/amount-input.d.ts +17 -12
  70. package/dist/components/button-group.d.ts +17 -12
  71. package/dist/components/calculator.d.ts +17 -12
  72. package/dist/components/confirm-dialog.d.ts +17 -12
  73. package/dist/components/copy-button.d.ts +14 -9
  74. package/dist/components/danger-confirm.d.ts +17 -12
  75. package/dist/components/facing-pair.d.ts +17 -12
  76. package/dist/components/file-button.d.ts +17 -12
  77. package/dist/components/file-dropzone.d.ts +17 -12
  78. package/dist/components/form-actions.d.ts +17 -12
  79. package/dist/components/iban-input.d.ts +17 -12
  80. package/dist/components/language-select.d.ts +17 -12
  81. package/dist/components/legal-page.d.ts +17 -12
  82. package/dist/components/legal.d.ts +17 -12
  83. package/dist/components/money-field.d.ts +17 -12
  84. package/dist/components/number-field.d.ts +17 -12
  85. package/dist/components/number-input.d.ts +17 -12
  86. package/dist/components/numpad-sheet.d.ts +17 -12
  87. package/dist/components/phone-input.d.ts +17 -12
  88. package/dist/components/series-chart.d.ts +17 -12
  89. package/dist/components/settings-fields.d.ts +16 -11
  90. package/dist/components/share-card.d.ts +16 -11
  91. package/dist/components/text-link.d.ts +17 -12
  92. package/dist/components/time-input.d.ts +17 -12
  93. package/dist/components/ui.d.ts +13 -8
  94. package/dist/{register-form-V1OeNlMr.d.ts → delete-account-setting-CGVMckMw.d.ts} +6616 -5645
  95. package/dist/feedback/feedback-attachment.d.ts +17 -12
  96. package/dist/feedback/feedback-context.d.ts +17 -12
  97. package/dist/feedback/feedback-crash.d.ts +17 -12
  98. package/dist/feedback/feedback-dialog.d.ts +17 -12
  99. package/dist/feedback/feedback-inbox.d.ts +17 -12
  100. package/dist/feedback/feedback-labels.d.ts +17 -12
  101. package/dist/feedback/feedback-menu.d.ts +17 -12
  102. package/dist/feedback/feedback-record.d.ts +17 -12
  103. package/dist/feedback/feedback-row-detail.d.ts +17 -12
  104. package/dist/feedback/feedback-status-undo.d.ts +17 -12
  105. package/dist/feedback/feedback-submit.d.ts +17 -12
  106. package/dist/feedback/feedback-swipe.d.ts +17 -12
  107. package/dist/feedback/feedback-table.d.ts +14 -9
  108. package/dist/feedback/feedback-thread.d.ts +17 -12
  109. package/dist/feedback.d.ts +17 -12
  110. package/dist/hooks/use-anchored-panel.d.ts +6 -2
  111. package/dist/hooks/use-anchored-panel.js +2 -1
  112. package/dist/hooks/use-anchored-panel.js.map +1 -1
  113. package/dist/hooks/use-file-drop.d.ts +17 -12
  114. package/dist/i18n/defaults.d.ts +17 -12
  115. package/dist/i18n/defaults.js +22 -0
  116. package/dist/i18n/defaults.js.map +1 -1
  117. package/dist/i18n/german.d.ts +17 -12
  118. package/dist/i18n/german.js +215 -11
  119. package/dist/i18n/german.js.map +1 -1
  120. package/dist/i18n/kit-labels.d.ts +10 -5
  121. package/dist/i18n/kit-labels.js.map +1 -1
  122. package/dist/i18n/languages.d.ts +11 -6
  123. package/dist/i18n/locales/de-CH.d.ts +17 -12
  124. package/dist/i18n/locales/en.d.ts +17 -12
  125. package/dist/i18n/locales/es.d.ts +17 -12
  126. package/dist/i18n/locales/es.js +207 -9
  127. package/dist/i18n/locales/es.js.map +1 -1
  128. package/dist/i18n/locales/fr.d.ts +17 -12
  129. package/dist/i18n/locales/fr.js +209 -6
  130. package/dist/i18n/locales/fr.js.map +1 -1
  131. package/dist/i18n/locales/hu.d.ts +17 -12
  132. package/dist/i18n/locales/hu.js +207 -11
  133. package/dist/i18n/locales/hu.js.map +1 -1
  134. package/dist/i18n/locales/it.d.ts +17 -12
  135. package/dist/i18n/locales/it.js +209 -6
  136. package/dist/i18n/locales/it.js.map +1 -1
  137. package/dist/i18n/locales/zh.d.ts +17 -12
  138. package/dist/i18n/locales/zh.js +200 -6
  139. package/dist/i18n/locales/zh.js.map +1 -1
  140. package/dist/i18n/review.d.ts +17 -12
  141. package/dist/i18n/review.js +37 -1
  142. package/dist/i18n/review.js.map +1 -1
  143. package/dist/index.d.ts +8 -3
  144. package/dist/index.js +53 -0
  145. package/dist/index.js.map +1 -1
  146. package/dist/rhf/fields.d.ts +17 -12
  147. package/dist/rhf/form.d.ts +17 -12
  148. package/dist/rhf.d.ts +17 -12
  149. package/dist/shell/app-shell.d.ts +17 -12
  150. package/dist/shell/top-bar-brand.d.ts +17 -12
  151. package/dist/shell.d.ts +11 -6
  152. package/dist/wizard/stepper-nav.d.ts +17 -12
  153. package/dist/wizard.d.ts +17 -12
  154. package/package.json +1 -1
  155. package/src/account/account-parts.ts +67 -0
  156. package/src/account/data-export-setting.tsx +218 -0
  157. package/src/account/delete-account-setting.tsx +362 -0
  158. package/src/account/email-change-setting.tsx +457 -0
  159. package/src/account/sessions-setting.tsx +283 -0
  160. package/src/admin/admin-action-confirm.tsx +495 -0
  161. package/src/admin/admin-action-log.tsx +297 -0
  162. package/src/admin/admin-parts.ts +82 -0
  163. package/src/admin/invitations-panel.tsx +516 -0
  164. package/src/admin/reviewer-scope-editor.tsx +234 -0
  165. package/src/admin/role-select.tsx +286 -0
  166. package/src/admin/transfer-ownership-dialog.tsx +172 -0
  167. package/src/admin/user-roster.tsx +573 -0
  168. package/src/auth/auth-errors.ts +165 -8
  169. package/src/auth/forgot-password-form.tsx +21 -5
  170. package/src/auth/register-form.tsx +24 -6
  171. package/src/auth/reset-password-form.tsx +19 -5
  172. package/src/auth/sign-in-form.tsx +207 -35
  173. package/src/auth/verify-email.tsx +59 -8
  174. package/src/components/account-chips.tsx +64 -7
  175. package/src/components/account-settings-labels.ts +15 -1
  176. package/src/components/account-settings.tsx +199 -23
  177. package/src/hooks/use-anchored-panel.ts +14 -3
  178. package/src/i18n/defaults.ts +22 -0
  179. package/src/i18n/german.ts +241 -5
  180. package/src/i18n/kit-labels.tsx +33 -0
  181. package/src/i18n/locales/es.ts +230 -3
  182. package/src/i18n/locales/fr.ts +232 -0
  183. package/src/i18n/locales/hu.ts +224 -5
  184. package/src/i18n/locales/it.ts +230 -0
  185. package/src/i18n/locales/zh.ts +205 -0
  186. package/src/i18n/review.ts +36 -0
  187. package/src/index.ts +93 -0
@@ -4,6 +4,8 @@ function uiKitLabelsFr(numberLocale = "fr-FR") {
4
4
  const num = new Intl.NumberFormat(numberLocale);
5
5
  const n = (value) => num.format(value);
6
6
  const plural = (count, one, many) => count < 2 ? one : many;
7
+ const wait = (seconds) => seconds < 60 ? `${n(Math.ceil(seconds))}\xA0s` : `${n(Math.ceil(seconds / 60))}\xA0min`;
8
+ const rateLimited = (seconds) => !seconds || seconds <= 0 ? "Trop de tentatives. Veuillez patienter un instant, puis r\xE9essayer." : `Trop de tentatives. R\xE9essayez dans ${wait(seconds)}.`;
7
9
  return {
8
10
  feedbackAttachment: {
9
11
  attachmentAdd: "Ajouter une pi\xE8ce jointe",
@@ -134,7 +136,10 @@ function uiKitLabelsFr(numberLocale = "fr-FR") {
134
136
  role: "R\xF4le",
135
137
  memberSince: "Membre depuis",
136
138
  displayName: "Nom affich\xE9",
137
- save: "Enregistrer"
139
+ save: "Enregistrer",
140
+ firstName: "Pr\xE9nom",
141
+ lastName: "Nom",
142
+ nameRequired: "Saisissez un pr\xE9nom et un nom."
138
143
  },
139
144
  password: {
140
145
  title: "Changer le mot de passe",
@@ -672,7 +677,9 @@ function uiKitLabelsFr(numberLocale = "fr-FR") {
672
677
  invited: "Invit\xE9",
673
678
  registered: "Inscrit",
674
679
  unverified: "Non v\xE9rifi\xE9",
675
- passwordChange: "Doit changer de mot de passe"
680
+ passwordChange: "Doit changer de mot de passe",
681
+ deletion: "Suppression demand\xE9e",
682
+ deletionOn: (date) => `Suppression le ${date}`
676
683
  },
677
684
  shareCard: {
678
685
  dialogTitle: "Partager",
@@ -841,7 +848,16 @@ L\u2019adresse postale compl\xE8te est communiqu\xE9e sur demande aux personnes
841
848
  setPasswordSubmit: "D\xE9finir le mot de passe et se connecter",
842
849
  setPasswordFailed: "Le mot de passe n\u2019a pas pu \xEAtre d\xE9fini.",
843
850
  expired: "Cette connexion a expir\xE9. Veuillez vous reconnecter.",
844
- backToSignIn: "Retour \xE0 la connexion"
851
+ backToSignIn: "Retour \xE0 la connexion",
852
+ // kastlan's backup-code words ("code de secours" — not keksdose's "code de
853
+ // récupération", which is the key of its end-to-end encryption).
854
+ useRecoveryCode: "Utiliser un code de secours",
855
+ useAuthenticatorCode: "Utiliser votre application d\u2019authentification",
856
+ recoveryCode: "Code de secours",
857
+ recoveryIntro: "Saisissez l\u2019un des codes de secours que vous avez enregistr\xE9s en activant l\u2019authentification \xE0 deux facteurs.",
858
+ recoveryCodeHint: (length) => `${n(length)} lettres et chiffres. Les tirets et les espaces ne comptent pas.`,
859
+ recoveryCodeInvalid: "Ce code de secours n\u2019est pas valable ou a d\xE9j\xE0 \xE9t\xE9 utilis\xE9.",
860
+ rateLimited
845
861
  },
846
862
  register: {
847
863
  firstName: "Pr\xE9nom",
@@ -862,7 +878,8 @@ L\u2019adresse postale compl\xE8te est communiqu\xE9e sur demande aux personnes
862
878
  registrationClosed: "Les nouveaux comptes ne sont cr\xE9\xE9s que sur invitation. Demandez \xE0 l\u2019exploitant d\u2019inviter votre adresse e-mail.",
863
879
  invitationInvalid: "Ce lien d\u2019invitation n\u2019est pas valide.",
864
880
  invitationExpired: "Cette invitation a expir\xE9. Demandez-en une nouvelle.",
865
- failed: "\xC9chec de l\u2019inscription. Veuillez r\xE9essayer."
881
+ failed: "\xC9chec de l\u2019inscription. Veuillez r\xE9essayer.",
882
+ rateLimited
866
883
  },
867
884
  completeName: {
868
885
  title: "Compl\xE9tez votre nom",
@@ -881,7 +898,8 @@ L\u2019adresse postale compl\xE8te est communiqu\xE9e sur demande aux personnes
881
898
  sent: (email) => `S\u2019il existe un compte pour ${email}, le lien est en route.`,
882
899
  sentHint: "Le lien est valable une heure et ne fonctionne qu\u2019une seule fois. V\xE9rifiez aussi votre dossier de courrier ind\xE9sirable.",
883
900
  backToSignIn: "Retour \xE0 la connexion",
884
- error: "La demande a \xE9chou\xE9. Veuillez r\xE9essayer plus tard."
901
+ error: "La demande a \xE9chou\xE9. Veuillez r\xE9essayer plus tard.",
902
+ rateLimited
885
903
  },
886
904
  resetPassword: {
887
905
  title: "Choisir un nouveau mot de passe",
@@ -898,7 +916,8 @@ L\u2019adresse postale compl\xE8te est communiqu\xE9e sur demande aux personnes
898
916
  requestNew: "Demander un nouveau lien",
899
917
  success: "Votre mot de passe a \xE9t\xE9 chang\xE9. Vous pouvez vous connecter avec d\xE8s maintenant.",
900
918
  sessionsEnded: "Les appareils connect\xE9s ont \xE9t\xE9 d\xE9connect\xE9s \u2014 vous devrez vous y reconnecter.",
901
- signIn: "Aller \xE0 la connexion"
919
+ signIn: "Aller \xE0 la connexion",
920
+ rateLimited
902
921
  },
903
922
  verifyEmail: {
904
923
  title: "Confirmez votre adresse e-mail",
@@ -948,6 +967,190 @@ L\u2019adresse postale compl\xE8te est communiqu\xE9e sur demande aux personnes
948
967
  currentMark: "(actuelle)",
949
968
  switching: "Changement d\u2019entreprise\u2026"
950
969
  },
970
+ // 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed French for the admin
971
+ // words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,
972
+ // kastlan's for the company, the throttle and "Se déconnecter partout"; written fresh
973
+ // where no app had the sentence. Phrased so that no sentence about the reader needs
974
+ // a gender ("déconnecté·e").
975
+ emailChange: {
976
+ title: "Adresse e-mail",
977
+ current: "Adresse actuelle",
978
+ newEmail: "Nouvelle adresse e-mail",
979
+ password: "Mot de passe actuel",
980
+ passwordHint: "Votre adresse sert \xE0 vous connecter, c\u2019est pourquoi la changer demande votre mot de passe.",
981
+ emailTagUse: (address) => `Utiliser ${address}`,
982
+ emailTagHint: "Beaucoup de fournisseurs livrent nom+tag@\u2026 dans la m\xEAme bo\xEEte, ce qui rend le courrier de cette application filtrable et tra\xE7able. V\xE9rifiez que le v\xF4tre le fait avant de vous y fier\xA0: vous vous connecteriez avec l\u2019adresse marqu\xE9e.",
983
+ submit: "Changer d\u2019adresse e-mail",
984
+ sameAsCurrent: "C\u2019est d\xE9j\xE0 votre adresse.",
985
+ emailTaken: "Un compte existe d\xE9j\xE0 avec cette adresse e-mail.",
986
+ wrongPassword: "Le mot de passe est incorrect.",
987
+ pending: (newEmail) => `Confirmez le lien que nous avons envoy\xE9 \xE0 ${newEmail}.`,
988
+ pendingHint: (currentEmail) => `D\u2019ici l\xE0, vous continuez \xE0 vous connecter avec ${currentEmail}. V\xE9rifiez aussi votre dossier de courrier ind\xE9sirable.`,
989
+ resend: "Renvoyer le lien",
990
+ resent: "Nous avons renvoy\xE9 le lien.",
991
+ cancel: "Annuler le changement",
992
+ confirmed: (email) => `Votre adresse e-mail est d\xE9sormais ${email}.`,
993
+ passkeyNote: "Vos cl\xE9s d\u2019acc\xE8s continuent de fonctionner. Votre appareil peut encore les afficher sous votre ancienne adresse.",
994
+ rateLimited,
995
+ failed: "Cela n\u2019a pas fonctionn\xE9. Veuillez r\xE9essayer."
996
+ },
997
+ sessions: {
998
+ title: "Sessions",
999
+ description: "Une session ouverte sur un appareil que vous n\u2019utilisez plus, ou auquel vous ne vous fiez pas\u202F? D\xE9connectez-vous partout.",
1000
+ signOutEverywhere: "Se d\xE9connecter partout\u2026",
1001
+ signOutEverywherePrompt: "Toutes les sessions prennent fin, y compris celle-ci\xA0: cet appareil sera d\xE9connect\xE9 lui aussi, et il faudra vous reconnecter ici.",
1002
+ confirmSignOutEverywhere: "Se d\xE9connecter partout",
1003
+ list: "Vos sessions ouvertes",
1004
+ loading: "Chargement des sessions\u2026",
1005
+ empty: "Aucune session \xE0 afficher.",
1006
+ current: "Cet appareil",
1007
+ unknownDevice: "Appareil inconnu",
1008
+ // A colon: `when` is either "il y a 3 heures" or a date.
1009
+ lastActive: (when) => `Derni\xE8re activit\xE9\xA0: ${when}`,
1010
+ ip: (address) => `IP ${address}`,
1011
+ revoke: "D\xE9connecter",
1012
+ // Starts with `revoke`, the button's visible text, for voice control.
1013
+ revokeItem: (device) => `D\xE9connecter ${device}`,
1014
+ failed: "Cela n\u2019a pas fonctionn\xE9. Veuillez r\xE9essayer."
1015
+ },
1016
+ deleteAccount: {
1017
+ title: "Supprimer le compte",
1018
+ afterDays: (days) => `Votre compte est d\xE9sactiv\xE9 imm\xE9diatement et effac\xE9 d\xE9finitivement ${n(days)} ${plural(days, "jour", "jours")} plus tard.`,
1019
+ operator: "Votre compte est d\xE9sactiv\xE9 imm\xE9diatement, puis l\u2019exploitant l\u2019effacera d\xE9finitivement.",
1020
+ arm: "Supprimer le compte\u2026",
1021
+ prompt: "Toutes vos sessions prendront fin, sur tous les appareils, et votre compte ne pourra plus \xEAtre utilis\xE9.",
1022
+ handOver: (count) => count < 2 ? `${n(count)} \xE9l\xE9ment visible par d\u2019autres passera \xE0 un administrateur.` : `${n(count)} \xE9l\xE9ments visibles par d\u2019autres passeront \xE0 un administrateur.`,
1023
+ confirm: "Supprimer mon compte",
1024
+ done: "Votre compte est d\xE9sactiv\xE9. D\xE9connexion en cours.",
1025
+ wrongPassword: "Le mot de passe est incorrect.",
1026
+ confirmationMismatch: "Ce n\u2019est pas l\u2019adresse de votre compte.",
1027
+ lastAdmin: "Votre compte est le dernier compte administrateur. Nommez d\u2019abord quelqu\u2019un d\u2019autre administrateur.",
1028
+ lastAdminOf: (companies) => `Votre compte est le dernier compte administrateur de ${companies}. Nommez-y d\u2019abord quelqu\u2019un d\u2019autre administrateur.`,
1029
+ // keksdose's "ménage".
1030
+ householdHasMembers: "Votre m\xE9nage a d\u2019autres membres, le compte ne peut donc pas \xEAtre supprim\xE9 ici. Veuillez \xE9crire \xE0 l\u2019exploitant.",
1031
+ rateLimited,
1032
+ failed: "Votre compte n\u2019a pas pu \xEAtre supprim\xE9. Veuillez r\xE9essayer."
1033
+ },
1034
+ dataExport: {
1035
+ title: "Exporter vos donn\xE9es",
1036
+ description: "T\xE9l\xE9chargez une copie des donn\xE9es de votre compte sous forme de fichier JSON.",
1037
+ download: "T\xE9l\xE9charger mes donn\xE9es",
1038
+ started: "Votre t\xE9l\xE9chargement a commenc\xE9.",
1039
+ saveAgain: "Rien ne s\u2019est pass\xE9\u202F? Enregistrer le fichier",
1040
+ rateLimited: (seconds) => seconds && seconds > 0 ? `Vous venez d\u2019exporter vos donn\xE9es. R\xE9essayez dans ${wait(seconds)}.` : "Vous venez d\u2019exporter vos donn\xE9es. Veuillez r\xE9essayer dans une minute.",
1041
+ failed: "L\u2019export a \xE9chou\xE9. Veuillez r\xE9essayer."
1042
+ },
1043
+ userRoster: {
1044
+ name: "Nom",
1045
+ email: "E-mail",
1046
+ role: "R\xF4le",
1047
+ state: "\xC9tat",
1048
+ created: "Cr\xE9\xE9 le",
1049
+ lastLogin: "Derni\xE8re connexion",
1050
+ never: "Jamais",
1051
+ actions: "Actions",
1052
+ actionsFor: (name) => `Actions pour ${name}`
1053
+ },
1054
+ roleSelect: {
1055
+ label: "R\xF4le",
1056
+ rolesLegend: "R\xF4les",
1057
+ roleOf: (name) => `R\xF4le de ${name}`,
1058
+ lockedLastAdmin: "Le dernier compte administrateur actif garde ce r\xF4le.",
1059
+ lockedSelf: "Vous ne pouvez pas changer votre propre r\xF4le.",
1060
+ notForLastAdmin: "pas pour le dernier administrateur",
1061
+ notForSelf: "pas pour votre propre compte",
1062
+ unavailable: (role, reason) => `${role} (${reason})`
1063
+ },
1064
+ reviewerScope: {
1065
+ languages: "Langues",
1066
+ hint: "Cochez les langues que cette personne relit.",
1067
+ none: "Aucune langue\xA0: enregistrer retire le r\xF4le de relecteur.",
1068
+ areas: "Limiter \xE0",
1069
+ legalOnly: "Uniquement les pages l\xE9gales",
1070
+ legalOnlyHint: "Mentions l\xE9gales, politique de confidentialit\xE9 et conditions d\u2019utilisation\xA0: pour un juriste plut\xF4t que pour un locuteur natif.",
1071
+ failed: "Le r\xF4le de relecteur n\u2019a pas pu \xEAtre enregistr\xE9. Veuillez r\xE9essayer."
1072
+ },
1073
+ adminAction: {
1074
+ confirm: "Confirmer",
1075
+ cancel: "Annuler",
1076
+ close: "Fermer",
1077
+ lastAdmin: "C\u2019est le dernier compte administrateur actif. Nommez d\u2019abord quelqu\u2019un d\u2019autre administrateur.",
1078
+ self: "Vous ne pouvez pas faire cela sur votre propre compte.",
1079
+ confirmationMismatch: "L\u2019adresse ne correspond pas \xE0 ce compte. V\xE9rifiez sur quel compte vous \xEAtes.",
1080
+ otherCompanies: "Ce compte appartient aussi \xE0 d\u2019autres entreprises, seul l\u2019exploitant de la plateforme peut donc faire cela. Vous pouvez plut\xF4t le retirer de cette entreprise.",
1081
+ removeFromCompany: "Retirer de l\u2019entreprise",
1082
+ failed: "Cela n\u2019a pas fonctionn\xE9. Veuillez r\xE9essayer."
1083
+ },
1084
+ adminActionLog: {
1085
+ title: "Actions d\u2019administration",
1086
+ empty: "Aucune action d\u2019administration pour l\u2019instant.",
1087
+ loading: "Chargement\u2026",
1088
+ by: (actor) => `par ${actor}`,
1089
+ bySelf: "par la personne elle-m\xEAme",
1090
+ automatic: "automatiquement",
1091
+ erased: "un compte effac\xE9",
1092
+ filteredTo: (target) => `Uniquement ${target}`,
1093
+ showAll: "Afficher toutes les actions",
1094
+ filterBy: (target) => `Afficher uniquement les actions concernant ${target}`,
1095
+ // Agreeing with "compte" (masculine), like `accountState`.
1096
+ actions: {
1097
+ deactivate: "D\xE9sactiv\xE9",
1098
+ reactivate: "R\xE9activ\xE9",
1099
+ role: "R\xF4le modifi\xE9",
1100
+ membership_remove: "Retir\xE9 de l\u2019entreprise",
1101
+ password_change_require: "Nouveau mot de passe exig\xE9",
1102
+ password_change_withdraw: "Exigence de mot de passe retir\xE9e",
1103
+ mail_verification: "E-mail de confirmation envoy\xE9",
1104
+ mail_reset: "E-mail de r\xE9initialisation du mot de passe envoy\xE9",
1105
+ reviewer: "P\xE9rim\xE8tre de relecture modifi\xE9",
1106
+ invite: "Invit\xE9",
1107
+ invite_resend: "Invitation renvoy\xE9e",
1108
+ invite_revoke: "Invitation r\xE9voqu\xE9e",
1109
+ transfer: "Travail transmis",
1110
+ deletion_request: "Suppression demand\xE9e",
1111
+ deletion_cancel: "Suppression annul\xE9e",
1112
+ erase: "Compte effac\xE9"
1113
+ }
1114
+ },
1115
+ transferOwnership: {
1116
+ title: (name) => `Transmettre le travail de ${name}`,
1117
+ body: "Tout ce que poss\xE8de ce compte passe au compte choisi, en une seule \xE9tape.",
1118
+ recipient: "Le transmettre \xE0",
1119
+ choose: "Choisissez un compte\u2026",
1120
+ chooseFirst: "Choisissez qui re\xE7oit le travail",
1121
+ confirm: "Transmettre",
1122
+ customer: "client",
1123
+ deactivated: "d\xE9sactiv\xE9",
1124
+ self: "le m\xEAme compte",
1125
+ unavailable: (account, reason) => `${account} (${reason})`,
1126
+ noCandidates: "Aucun autre compte ne peut le recevoir."
1127
+ },
1128
+ invitations: {
1129
+ email: "Adresse e-mail",
1130
+ invalidEmail: "Saisissez une adresse e-mail compl\xE8te.",
1131
+ role: "R\xF4le",
1132
+ scope: "Port\xE9e",
1133
+ scopeNone: "Aucune",
1134
+ language: "Langue de l\u2019invitation",
1135
+ note: "Note",
1136
+ invite: "Inviter",
1137
+ listTitle: "Invitations",
1138
+ empty: "Personne n\u2019a encore \xE9t\xE9 invit\xE9.",
1139
+ loading: "Chargement\u2026",
1140
+ // Agreeing with "invitation" (feminine).
1141
+ status: { open: "Ouverte", accepted: "Accept\xE9e", expired: "Expir\xE9e", revoked: "R\xE9voqu\xE9e" },
1142
+ sent: (date) => `Envoy\xE9e le ${date}`,
1143
+ // kastlan's "Valable jusqu’au".
1144
+ expires: (date) => `Valable jusqu\u2019au ${date}`,
1145
+ invitedBy: (name) => `par ${name}`,
1146
+ resend: (email) => `Envoyer un nouveau lien \xE0 ${email}`,
1147
+ copyLink: "Copier le lien d\u2019invitation",
1148
+ revoke: (email) => `R\xE9voquer l\u2019invitation de ${email}`,
1149
+ consoleHint: "Ce serveur n\u2019envoie pas d\u2019e-mails \u2014 ils sont \xE9crits dans le journal du serveur. Copiez ici chaque lien d\u2019invitation et transmettez-le vous-m\xEAme\xA0: il n\u2019est affich\xE9 qu\u2019une seule fois.",
1150
+ linkReady: (email) => `Le lien d\u2019invitation pour ${email}, affich\xE9 cette seule fois\xA0:`,
1151
+ notSent: (email) => `${email} est invit\xE9, mais l\u2019e-mail n\u2019a pas pu \xEAtre envoy\xE9. Renvoyez-le.`,
1152
+ failed: "Cela n\u2019a pas fonctionn\xE9. Veuillez r\xE9essayer."
1153
+ },
951
1154
  characterCount: {
952
1155
  count: (used, max) => `${n(used)} sur ${n(max)} ${plural(max, "caract\xE8re", "caract\xE8res")}`,
953
1156
  remaining: (left) => `${n(left)} ${plural(left, "caract\xE8re restant", "caract\xE8res restants")}`,