@oxy.so/core 4.5.0-oxy-one.1 → 4.6.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 (283) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/HttpService.js +63 -19
  3. package/dist/cjs/api/accounts.js +10 -3
  4. package/dist/cjs/api/agency.js +3 -1
  5. package/dist/cjs/api/apps.js +15 -4
  6. package/dist/cjs/api/assets.js +39 -11
  7. package/dist/cjs/api/auth.js +28 -8
  8. package/dist/cjs/api/billing.js +24 -7
  9. package/dist/cjs/api/civic.js +14 -4
  10. package/dist/cjs/api/follows.js +9 -2
  11. package/dist/cjs/api/identity.js +31 -9
  12. package/dist/cjs/api/nodes.js +3 -1
  13. package/dist/cjs/api/privacy.js +8 -2
  14. package/dist/cjs/api/session.js +15 -4
  15. package/dist/cjs/api/store.js +15 -5
  16. package/dist/cjs/api/topics.js +10 -3
  17. package/dist/cjs/api/users.js +16 -4
  18. package/dist/cjs/boot/sessionColdBoot.js +40 -13
  19. package/dist/cjs/constants/version.js +6 -6
  20. package/dist/cjs/crypto/identityMarker.js +3 -1
  21. package/dist/cjs/crypto/identityProof.js +6 -1
  22. package/dist/cjs/crypto/keyManager.js +87 -32
  23. package/dist/cjs/crypto/recoveryPhrase.js +2 -2
  24. package/dist/cjs/crypto/signatureService.js +3 -4
  25. package/dist/cjs/i18n/index.js +16 -3
  26. package/dist/cjs/i18n/locales/ar-SA.js +366 -366
  27. package/dist/cjs/i18n/locales/ca-ES.js +366 -366
  28. package/dist/cjs/i18n/locales/de-DE.js +366 -366
  29. package/dist/cjs/i18n/locales/en-US.js +1994 -1994
  30. package/dist/cjs/i18n/locales/es-ES.js +1994 -1994
  31. package/dist/cjs/i18n/locales/fr-FR.js +366 -366
  32. package/dist/cjs/i18n/locales/it-IT.js +366 -366
  33. package/dist/cjs/i18n/locales/ja-JP.js +366 -366
  34. package/dist/cjs/i18n/locales/ko-KR.js +366 -366
  35. package/dist/cjs/i18n/locales/pt-PT.js +366 -366
  36. package/dist/cjs/i18n/locales/zh-CN.js +366 -366
  37. package/dist/cjs/inference/OxyInferenceClient.js +12 -18
  38. package/dist/cjs/models/interfaces.js +11 -11
  39. package/dist/cjs/server/OxyServer.js +86 -28
  40. package/dist/cjs/server/agentAccount.js +6 -2
  41. package/dist/cjs/server/aliaMachineCredential.js +39 -14
  42. package/dist/cjs/server/auth.js +5 -4
  43. package/dist/cjs/server/capabilityTicket.js +5 -5
  44. package/dist/cjs/server/index.js +2 -1
  45. package/dist/cjs/server/liveCapabilityTicket.js +4 -1
  46. package/dist/cjs/server/middleware.js +61 -42
  47. package/dist/cjs/server/namespaces.js +28 -7
  48. package/dist/cjs/server/requesterAssertion.js +36 -30
  49. package/dist/cjs/server/serviceTokenLifetime.js +7 -4
  50. package/dist/cjs/server/traffic.js +53 -14
  51. package/dist/cjs/server/trafficNodeHttp.js +33 -8
  52. package/dist/cjs/server/workloadIdentity.client.js +4 -0
  53. package/dist/cjs/server/workloadIdentity.js +28 -1
  54. package/dist/cjs/session/SessionClient.js +54 -17
  55. package/dist/cjs/session/accountDelegationAccess.js +4 -6
  56. package/dist/cjs/session/accountDialogController.js +1 -1
  57. package/dist/cjs/session/authStateStore.js +18 -9
  58. package/dist/cjs/session/identityPin.js +6 -2
  59. package/dist/cjs/session/refresh.js +81 -23
  60. package/dist/cjs/session/sharedDeviceCredential.js +28 -15
  61. package/dist/cjs/shared/utils/errorUtils.js +1 -1
  62. package/dist/cjs/shared/utils/networkUtils.js +1 -1
  63. package/dist/cjs/shared/utils/themeUtils.js +1 -1
  64. package/dist/cjs/utils/accountCacheSweep.js +3 -1
  65. package/dist/cjs/utils/accountUtils.js +1 -3
  66. package/dist/cjs/utils/asyncUtils.js +1 -1
  67. package/dist/cjs/utils/authHelpers.js +2 -1
  68. package/dist/cjs/utils/avatarUtils.js +4 -2
  69. package/dist/cjs/utils/cache.js +1 -1
  70. package/dist/cjs/utils/cacheKey.js +3 -1
  71. package/dist/cjs/utils/deviceManager.js +4 -4
  72. package/dist/cjs/utils/errorUtils.js +6 -4
  73. package/dist/cjs/utils/languageUtils.js +404 -57
  74. package/dist/cjs/utils/profileLinks.js +1 -3
  75. package/dist/cjs/utils/requestUtils.js +7 -1
  76. package/dist/cjs/utils/userIdentity.js +1 -1
  77. package/dist/cjs/utils/validationUtils.js +5 -6
  78. package/dist/esm/HttpService.js +64 -20
  79. package/dist/esm/api/accounts.js +11 -4
  80. package/dist/esm/api/agency.js +3 -1
  81. package/dist/esm/api/apps.js +15 -4
  82. package/dist/esm/api/assets.js +39 -11
  83. package/dist/esm/api/auth.js +28 -8
  84. package/dist/esm/api/billing.js +25 -8
  85. package/dist/esm/api/civic.js +14 -4
  86. package/dist/esm/api/follows.js +9 -2
  87. package/dist/esm/api/identity.js +31 -9
  88. package/dist/esm/api/nodes.js +3 -1
  89. package/dist/esm/api/privacy.js +8 -2
  90. package/dist/esm/api/session.js +15 -4
  91. package/dist/esm/api/store.js +15 -5
  92. package/dist/esm/api/topics.js +10 -3
  93. package/dist/esm/api/users.js +16 -4
  94. package/dist/esm/boot/sessionColdBoot.js +41 -14
  95. package/dist/esm/constants/version.js +6 -6
  96. package/dist/esm/crypto/identityMarker.js +3 -1
  97. package/dist/esm/crypto/identityProof.js +6 -1
  98. package/dist/esm/crypto/internal.js +1 -1
  99. package/dist/esm/crypto/keyManager.js +87 -32
  100. package/dist/esm/crypto/recoveryPhrase.js +2 -2
  101. package/dist/esm/crypto/signatureService.js +3 -4
  102. package/dist/esm/i18n/index.js +16 -3
  103. package/dist/esm/i18n/locales/ar-SA.js +366 -366
  104. package/dist/esm/i18n/locales/ca-ES.js +366 -366
  105. package/dist/esm/i18n/locales/de-DE.js +366 -366
  106. package/dist/esm/i18n/locales/en-US.js +1994 -1994
  107. package/dist/esm/i18n/locales/es-ES.js +1994 -1994
  108. package/dist/esm/i18n/locales/fr-FR.js +366 -366
  109. package/dist/esm/i18n/locales/it-IT.js +366 -366
  110. package/dist/esm/i18n/locales/ja-JP.js +366 -366
  111. package/dist/esm/i18n/locales/ko-KR.js +366 -366
  112. package/dist/esm/i18n/locales/pt-PT.js +366 -366
  113. package/dist/esm/i18n/locales/zh-CN.js +366 -366
  114. package/dist/esm/index.js +1 -1
  115. package/dist/esm/inference/OxyInferenceClient.js +13 -19
  116. package/dist/esm/models/interfaces.js +11 -11
  117. package/dist/esm/server/OxyServer.js +87 -29
  118. package/dist/esm/server/agentAccount.js +6 -2
  119. package/dist/esm/server/aliaMachineCredential.js +39 -14
  120. package/dist/esm/server/auth.js +6 -5
  121. package/dist/esm/server/capabilityTicket.js +6 -6
  122. package/dist/esm/server/index.js +5 -5
  123. package/dist/esm/server/liveCapabilityTicket.js +6 -3
  124. package/dist/esm/server/middleware.js +62 -43
  125. package/dist/esm/server/namespaces.js +31 -10
  126. package/dist/esm/server/requesterAssertion.js +36 -30
  127. package/dist/esm/server/serviceTokenLifetime.js +7 -4
  128. package/dist/esm/server/traffic.js +55 -16
  129. package/dist/esm/server/trafficNodeHttp.js +34 -9
  130. package/dist/esm/server/userInvalidation.js +1 -1
  131. package/dist/esm/server/workloadIdentity.client.js +3 -0
  132. package/dist/esm/server/workloadIdentity.js +27 -1
  133. package/dist/esm/session/SessionClient.js +54 -17
  134. package/dist/esm/session/accountDelegationAccess.js +5 -7
  135. package/dist/esm/session/accountDialogController.js +1 -1
  136. package/dist/esm/session/authStateStore.js +18 -9
  137. package/dist/esm/session/identityPin.js +6 -2
  138. package/dist/esm/session/refresh.js +82 -24
  139. package/dist/esm/session/sharedDeviceCredential.js +28 -15
  140. package/dist/esm/shared/utils/errorUtils.js +1 -1
  141. package/dist/esm/shared/utils/networkUtils.js +1 -1
  142. package/dist/esm/shared/utils/themeUtils.js +1 -1
  143. package/dist/esm/utils/accountCacheSweep.js +3 -1
  144. package/dist/esm/utils/accountUtils.js +1 -3
  145. package/dist/esm/utils/asyncUtils.js +1 -1
  146. package/dist/esm/utils/authHelpers.js +2 -1
  147. package/dist/esm/utils/avatarUtils.js +4 -2
  148. package/dist/esm/utils/cache.js +1 -1
  149. package/dist/esm/utils/cacheKey.js +3 -1
  150. package/dist/esm/utils/deviceManager.js +4 -4
  151. package/dist/esm/utils/errorUtils.js +6 -4
  152. package/dist/esm/utils/languageUtils.js +404 -57
  153. package/dist/esm/utils/profileLinks.js +1 -3
  154. package/dist/esm/utils/requestUtils.js +7 -1
  155. package/dist/esm/utils/userIdentity.js +1 -1
  156. package/dist/esm/utils/validationUtils.js +5 -6
  157. package/dist/types/HttpService.d.ts +1 -1
  158. package/dist/types/api/accounts.d.ts +16 -3
  159. package/dist/types/api/apps.d.ts +4 -4
  160. package/dist/types/crypto/internal.d.ts +1 -1
  161. package/dist/types/index.d.ts +4 -4
  162. package/dist/types/models/interfaces.d.ts +9 -1
  163. package/dist/types/server/index.d.ts +6 -6
  164. package/dist/types/server/workloadIdentity.client.d.ts +5 -1
  165. package/dist/types/server/workloadIdentity.d.ts +26 -0
  166. package/dist/types/session/accountDelegationAccess.d.ts +1 -1
  167. package/dist/types/session/index.d.ts +1 -1
  168. package/dist/types/utils/userIdentity.d.ts +1 -1
  169. package/dist/types/utils/validationUtils.d.ts +4 -5
  170. package/package.json +3 -4
  171. package/src/HttpService.ts +183 -53
  172. package/src/OxyServices.errors.ts +7 -3
  173. package/src/OxyServices.ts +6 -2
  174. package/src/api/accounts.ts +96 -28
  175. package/src/api/agency.ts +24 -9
  176. package/src/api/appData.ts +12 -2
  177. package/src/api/apps.ts +81 -31
  178. package/src/api/assets.ts +113 -43
  179. package/src/api/auth.ts +145 -77
  180. package/src/api/billing.ts +112 -65
  181. package/src/api/civic.ts +61 -19
  182. package/src/api/contacts.ts +4 -1
  183. package/src/api/devices.ts +54 -21
  184. package/src/api/follows.ts +88 -31
  185. package/src/api/identity.ts +101 -33
  186. package/src/api/linkedAccounts.ts +26 -8
  187. package/src/api/nodes.ts +18 -6
  188. package/src/api/notifications.ts +26 -6
  189. package/src/api/privacy.ts +42 -8
  190. package/src/api/reputation.ts +18 -7
  191. package/src/api/session.ts +23 -5
  192. package/src/api/store.ts +81 -31
  193. package/src/api/topics.ts +18 -6
  194. package/src/api/users.ts +98 -35
  195. package/src/boot/sessionColdBoot.ts +60 -19
  196. package/src/civic/payloads.ts +1 -4
  197. package/src/client/context.ts +6 -1
  198. package/src/constants/version.ts +7 -6
  199. package/src/crypto/aead.ts +1 -5
  200. package/src/crypto/ecdh.ts +1 -4
  201. package/src/crypto/identityDerivations.ts +5 -1
  202. package/src/crypto/identityMarker.ts +3 -1
  203. package/src/crypto/identityProof.ts +6 -1
  204. package/src/crypto/index.ts +11 -11
  205. package/src/crypto/internal.ts +6 -1
  206. package/src/crypto/keyManager.ts +348 -98
  207. package/src/crypto/recoveryPhrase.ts +14 -9
  208. package/src/crypto/registrationPow.ts +1 -1
  209. package/src/crypto/signatureService.ts +14 -6
  210. package/src/i18n/accountCategoryLabels.ts +1 -4
  211. package/src/i18n/accountRoleLabels.ts +1 -4
  212. package/src/i18n/index.ts +25 -7
  213. package/src/i18n/locales/ar-SA.ts +375 -366
  214. package/src/i18n/locales/ca-ES.ts +382 -366
  215. package/src/i18n/locales/de-DE.ts +387 -366
  216. package/src/i18n/locales/en-US.ts +2034 -1994
  217. package/src/i18n/locales/es-ES.ts +2043 -1994
  218. package/src/i18n/locales/fr-FR.ts +387 -366
  219. package/src/i18n/locales/it-IT.ts +380 -366
  220. package/src/i18n/locales/ja-JP.ts +380 -366
  221. package/src/i18n/locales/ko-KR.ts +377 -366
  222. package/src/i18n/locales/pt-PT.ts +383 -366
  223. package/src/i18n/locales/zh-CN.ts +373 -366
  224. package/src/i18n/trustTierLabels.ts +1 -4
  225. package/src/index.ts +371 -349
  226. package/src/inference/OxyInferenceClient.ts +784 -780
  227. package/src/models/interfaces.ts +39 -27
  228. package/src/server/OxyServer.ts +227 -68
  229. package/src/server/agentAccount.ts +8 -2
  230. package/src/server/aliaMachineCredential.ts +57 -16
  231. package/src/server/auth.ts +9 -5
  232. package/src/server/capabilityTicket.ts +30 -21
  233. package/src/server/index.ts +29 -6
  234. package/src/server/liveCapabilityTicket.ts +31 -9
  235. package/src/server/middleware.ts +212 -121
  236. package/src/server/namespaces.ts +247 -94
  237. package/src/server/rateLimit.ts +2 -4
  238. package/src/server/requesterAssertion.ts +93 -54
  239. package/src/server/serviceTokenLifetime.ts +9 -4
  240. package/src/server/traffic.ts +117 -23
  241. package/src/server/trafficNodeHttp.ts +61 -14
  242. package/src/server/userInvalidation.ts +1 -4
  243. package/src/server/workloadIdentity.client.ts +12 -1
  244. package/src/server/workloadIdentity.ts +52 -5
  245. package/src/session/SessionClient.ts +170 -49
  246. package/src/session/accountDelegationAccess.ts +24 -31
  247. package/src/session/accountDialogController.ts +59 -14
  248. package/src/session/accountSwitchTargets.ts +10 -15
  249. package/src/session/authStateStore.ts +121 -81
  250. package/src/session/deviceDirectory.ts +1 -3
  251. package/src/session/identityPin.ts +10 -11
  252. package/src/session/identitySession.ts +3 -1
  253. package/src/session/index.ts +87 -82
  254. package/src/session/refresh.ts +138 -44
  255. package/src/session/sessionClientHost.ts +1 -3
  256. package/src/session/sharedDeviceCredential.ts +35 -14
  257. package/src/session/socketLoader.ts +9 -2
  258. package/src/shared/utils/errorUtils.ts +5 -2
  259. package/src/shared/utils/networkUtils.ts +5 -8
  260. package/src/shared/utils/themeUtils.ts +2 -6
  261. package/src/types/buffer.d.ts +66 -21
  262. package/src/types/expo-secure-store.d.ts +5 -1
  263. package/src/utils/accountCacheSweep.ts +4 -5
  264. package/src/utils/accountUtils.ts +107 -108
  265. package/src/utils/apiUtils.ts +3 -3
  266. package/src/utils/asyncUtils.ts +2 -2
  267. package/src/utils/authHelpers.ts +10 -5
  268. package/src/utils/avatarUtils.ts +11 -6
  269. package/src/utils/cache.ts +9 -10
  270. package/src/utils/cacheKey.ts +5 -1
  271. package/src/utils/coldBoot.ts +1 -3
  272. package/src/utils/commonsDelivery.ts +1 -4
  273. package/src/utils/deviceManager.ts +15 -14
  274. package/src/utils/errorUtils.ts +68 -86
  275. package/src/utils/languageUtils.ts +407 -58
  276. package/src/utils/oauthPkce.ts +1 -4
  277. package/src/utils/platform.ts +0 -1
  278. package/src/utils/profileLinks.ts +2 -5
  279. package/src/utils/requestUtils.ts +18 -14
  280. package/src/utils/sessionUtils.ts +34 -33
  281. package/src/utils/userHandle.ts +3 -1
  282. package/src/utils/userIdentity.ts +1 -1
  283. package/src/utils/validationUtils.ts +11 -9
@@ -1,388 +1,388 @@
1
1
  const dict = {
2
- "signin": {
3
- "title": "Se connecter",
4
- "subtitle": "Utilisez votre compte Oxy",
5
- "addAccountTitle": "Ajouter un autre compte",
6
- "addAccountSubtitle": "Se connecter avec un autre compte",
7
- "actions": {
8
- "continue": "Continuer",
9
- "back": "Retour"
10
- },
11
- "createAccountLink": "Nouveau sur Oxy ? Créez un compte",
12
- "status": {
13
- "signingIn": "Connexion…"
14
- },
15
- "subtitleToApp": "pour continuer vers {{app}}",
16
- "orContinueWith": "ou continuer avec",
17
- "qr": {
18
- "caption": "Scannez avec Commons pour vous connecter",
19
- "renew": "Afficher un nouveau code"
20
- },
21
- "errors": {
22
- "rateLimited": "Trop de tentatives. Réessayez dans {{seconds}} s.",
23
- "invalidCredentials": "Le nom d'utilisateur, l'e-mail ou le mot de passe est incorrect.",
24
- "codeInvalid": "Ce code n'est pas bon, ou il a expiré.",
25
- "requestExpired": "Cette connexion a expiré. Envoyez un nouvel e-mail.",
26
- "secondFactorInvalid": "Ce code n'est pas bon. Essayez le code actuel.",
27
- "originNotAllowed": "La connexion n'est pas disponible ici.",
28
- "generic": "Un problème est survenu. Veuillez réessayer.",
29
- "notConfigured": "La connexion n'est pas disponible",
30
- "notConfiguredDescription": "{{app}} n'est pas encore configurée pour la connexion. Contactez le développeur de l'application.",
31
- "failed": "Impossible de lancer la connexion",
32
- "failedDescription": "Un problème est survenu. Veuillez réessayer."
33
- },
34
- "chooser": {
35
- "subtitleToApp": "pour continuer vers {{app}}",
36
- "title": "Choisissez un compte",
37
- "subtitle": "Continuez avec l'un de vos comptes, ou utilisez-en un autre.",
38
- "useAnother": "Utiliser un autre compte",
39
- "continueAs": "Continuer en tant que {{name}}"
40
- },
41
- "terms": {
42
- "before": "En continuant, vous acceptez nos",
43
- "termsLink": "Conditions d’utilisation",
44
- "and": "et notre",
45
- "privacyLink": "Politique de confidentialité"
46
- },
47
- "noAccount": "Pas encore de compte ?",
48
- "createAccount": "Créer un compte",
49
- "identifier": {
50
- "label": "E-mail ou nom d'utilisateur",
51
- "placeholder": "vous@exemple.com",
52
- "required": "Saisissez votre e-mail ou votre nom d'utilisateur."
53
- },
54
- "checkEmail": {
55
- "title": "Consultez vos e-mails",
56
- "description": "Si un compte correspond à {{identifier}}, nous lui avons envoyé un code et un lien de connexion.",
57
- "codeLabel": "Code",
58
- "codeHint": "Saisissez le code de l'e-mail, ou ouvrez son lien dans ce navigateur.",
59
- "codeHasLetters": "Votre code contient des lettres ?",
60
- "codeDigitsOnly": "Votre code ne contient que des chiffres ?",
61
- "resend": "Envoyer un nouvel e-mail",
62
- "resendIn": "Envoyer un nouvel e-mail dans {{seconds}} s",
63
- "resent": "Nous avons envoyé un nouvel e-mail.",
64
- "retryLater": "Nous avons déjà envoyé plusieurs e-mails. Attendez quelques minutes et réessayez.",
65
- "usePassword": "Utiliser plutôt votre mot de passe",
66
- "differentAccount": "Utiliser un autre compte"
67
- },
68
- "password": {
69
- "title": "Saisissez votre mot de passe",
70
- "label": "Mot de passe",
71
- "required": "Saisissez votre mot de passe.",
72
- "forgot": "Oublié ? Recevez un code par e-mail"
73
- },
74
- "secondFactor": {
75
- "title": "Validation en deux étapes",
76
- "description": "Saisissez le code de votre application d'authentification.",
77
- "backupDescription": "Saisissez l'un de vos codes de secours. Chacun ne fonctionne qu'une fois.",
78
- "label": "Code d'authentification",
79
- "backupLabel": "Code de secours",
80
- "useBackup": "Utiliser un code de secours",
81
- "useAuthenticator": "Utiliser votre application d'authentification"
82
- },
83
- "link": {
84
- "approvedTitle": "Vous êtes connecté",
85
- "approvedDescription": "Revenez à l'application où vous avez demandé à vous connecter : elle continue toute seule. Vous pouvez fermer cet onglet.",
86
- "otherDeviceTitle": "Ouvrez le lien dans le même navigateur",
87
- "otherDeviceDescription": "Ce lien ne fonctionne que dans le navigateur où vous avez demandé à vous connecter. Ouvrez-le là-bas, ou saisissez le code de l'e-mail dans l'application.",
88
- "invalidTitle": "Ce lien ne peut pas être utilisé",
89
- "invalidDescription": "Il a expiré ou a déjà été utilisé. Demandez un nouvel e-mail dans l'application, ou saisissez le code du plus récent."
90
- }
2
+ signin: {
3
+ title: 'Se connecter',
4
+ subtitle: 'Utilisez votre compte Oxy',
5
+ addAccountTitle: 'Ajouter un autre compte',
6
+ addAccountSubtitle: 'Se connecter avec un autre compte',
7
+ actions: {
8
+ continue: 'Continuer',
9
+ back: 'Retour',
10
+ },
11
+ createAccountLink: 'Nouveau sur Oxy ? Créez un compte',
12
+ status: {
13
+ signingIn: 'Connexion…',
14
+ },
15
+ subtitleToApp: 'pour continuer vers {{app}}',
16
+ orContinueWith: 'ou continuer avec',
17
+ qr: {
18
+ caption: 'Scannez avec Commons pour vous connecter',
19
+ renew: 'Afficher un nouveau code',
20
+ },
21
+ errors: {
22
+ rateLimited: 'Trop de tentatives. Réessayez dans {{seconds}} s.',
23
+ invalidCredentials: "Le nom d'utilisateur, l'e-mail ou le mot de passe est incorrect.",
24
+ codeInvalid: "Ce code n'est pas bon, ou il a expiré.",
25
+ requestExpired: 'Cette connexion a expiré. Envoyez un nouvel e-mail.',
26
+ secondFactorInvalid: "Ce code n'est pas bon. Essayez le code actuel.",
27
+ originNotAllowed: "La connexion n'est pas disponible ici.",
28
+ generic: 'Un problème est survenu. Veuillez réessayer.',
29
+ notConfigured: "La connexion n'est pas disponible",
30
+ notConfiguredDescription: "{{app}} n'est pas encore configurée pour la connexion. Contactez le développeur de l'application.",
31
+ failed: 'Impossible de lancer la connexion',
32
+ failedDescription: 'Un problème est survenu. Veuillez réessayer.',
33
+ },
34
+ chooser: {
35
+ subtitleToApp: 'pour continuer vers {{app}}',
36
+ title: 'Choisissez un compte',
37
+ subtitle: "Continuez avec l'un de vos comptes, ou utilisez-en un autre.",
38
+ useAnother: 'Utiliser un autre compte',
39
+ continueAs: 'Continuer en tant que {{name}}',
40
+ },
41
+ terms: {
42
+ before: 'En continuant, vous acceptez nos',
43
+ termsLink: 'Conditions d’utilisation',
44
+ and: 'et notre',
45
+ privacyLink: 'Politique de confidentialité',
46
+ },
47
+ noAccount: 'Pas encore de compte ?',
48
+ createAccount: 'Créer un compte',
49
+ identifier: {
50
+ label: "E-mail ou nom d'utilisateur",
51
+ placeholder: 'vous@exemple.com',
52
+ required: "Saisissez votre e-mail ou votre nom d'utilisateur.",
53
+ },
54
+ checkEmail: {
55
+ title: 'Consultez vos e-mails',
56
+ description: 'Si un compte correspond à {{identifier}}, nous lui avons envoyé un code et un lien de connexion.',
57
+ codeLabel: 'Code',
58
+ codeHint: "Saisissez le code de l'e-mail, ou ouvrez son lien dans ce navigateur.",
59
+ codeHasLetters: 'Votre code contient des lettres ?',
60
+ codeDigitsOnly: 'Votre code ne contient que des chiffres ?',
61
+ resend: 'Envoyer un nouvel e-mail',
62
+ resendIn: 'Envoyer un nouvel e-mail dans {{seconds}} s',
63
+ resent: 'Nous avons envoyé un nouvel e-mail.',
64
+ retryLater: 'Nous avons déjà envoyé plusieurs e-mails. Attendez quelques minutes et réessayez.',
65
+ usePassword: 'Utiliser plutôt votre mot de passe',
66
+ differentAccount: 'Utiliser un autre compte',
67
+ },
68
+ password: {
69
+ title: 'Saisissez votre mot de passe',
70
+ label: 'Mot de passe',
71
+ required: 'Saisissez votre mot de passe.',
72
+ forgot: 'Oublié ? Recevez un code par e-mail',
73
+ },
74
+ secondFactor: {
75
+ title: 'Validation en deux étapes',
76
+ description: "Saisissez le code de votre application d'authentification.",
77
+ backupDescription: "Saisissez l'un de vos codes de secours. Chacun ne fonctionne qu'une fois.",
78
+ label: "Code d'authentification",
79
+ backupLabel: 'Code de secours',
80
+ useBackup: 'Utiliser un code de secours',
81
+ useAuthenticator: "Utiliser votre application d'authentification",
82
+ },
83
+ link: {
84
+ approvedTitle: 'Vous êtes connecté',
85
+ approvedDescription: "Revenez à l'application où vous avez demandé à vous connecter : elle continue toute seule. Vous pouvez fermer cet onglet.",
86
+ otherDeviceTitle: 'Ouvrez le lien dans le même navigateur',
87
+ otherDeviceDescription: "Ce lien ne fonctionne que dans le navigateur où vous avez demandé à vous connecter. Ouvrez-le là-bas, ou saisissez le code de l'e-mail dans l'application.",
88
+ invalidTitle: 'Ce lien ne peut pas être utilisé',
89
+ invalidDescription: "Il a expiré ou a déjà été utilisé. Demandez un nouvel e-mail dans l'application, ou saisissez le code du plus récent.",
90
+ },
91
91
  },
92
- "signup": {
93
- "title": "Créez votre compte",
94
- "subtitle": "Choisissez votre nom d'utilisateur. Nous confirmerons ensuite votre e-mail.",
95
- "createInCommons": "La créer plutôt dans Commons",
96
- "backToSignInLink": "Vous avez déjà un compte ? Connectez-vous",
97
- "username": {
98
- "label": "Nom d'utilisateur",
99
- "placeholder": "votrenom",
100
- "required": "Choisissez un nom d'utilisateur.",
101
- "taken": "Ce nom d'utilisateur est déjà pris."
102
- },
103
- "email": {
104
- "title": "Quelle est votre adresse e-mail ?",
105
- "subtitle": "Elle sert à vous connecter : nous vous envoyons un code à chaque fois. Personne d'autre ne la voit.",
106
- "label": "E-mail",
107
- "placeholder": "vous@exemple.com",
108
- "invalid": "Saisissez une adresse e-mail valide."
109
- },
110
- "commonsSubtitle": "Ou créez votre identité dans Commons, et gardez votre propre clé.",
111
- "laterNote": "Vous pourrez ajouter un mot de passe ou une application d'authentification plus tard, dans les paramètres de sécurité de votre compte."
92
+ signup: {
93
+ title: 'Créez votre compte',
94
+ subtitle: "Choisissez votre nom d'utilisateur. Nous confirmerons ensuite votre e-mail.",
95
+ createInCommons: 'La créer plutôt dans Commons',
96
+ backToSignInLink: 'Vous avez déjà un compte ? Connectez-vous',
97
+ username: {
98
+ label: "Nom d'utilisateur",
99
+ placeholder: 'votrenom',
100
+ required: "Choisissez un nom d'utilisateur.",
101
+ taken: "Ce nom d'utilisateur est déjà pris.",
102
+ },
103
+ email: {
104
+ title: 'Quelle est votre adresse e-mail ?',
105
+ subtitle: "Elle sert à vous connecter : nous vous envoyons un code à chaque fois. Personne d'autre ne la voit.",
106
+ label: 'E-mail',
107
+ placeholder: 'vous@exemple.com',
108
+ invalid: 'Saisissez une adresse e-mail valide.',
109
+ },
110
+ commonsSubtitle: 'Ou créez votre identité dans Commons, et gardez votre propre clé.',
111
+ laterNote: "Vous pourrez ajouter un mot de passe ou une application d'authentification plus tard, dans les paramètres de sécurité de votre compte.",
112
112
  },
113
- "accountSwitcher": {
114
- "loading": "Chargement des comptes...",
115
- "qrHeadline": "Connectez-vous avec votre identité Oxy",
116
- "signInWithOxy": "Se connecter avec Oxy",
117
- "signUpWithOxy": "S'inscrire avec Oxy",
118
- "getCommons": "Obtenir Commons",
119
- "commonsNotInstalled": "Pas de Commons ? Téléchargez l'app pour vous connecter avec votre Oxy ID.",
120
- "showQrAnyway": "J'ai Commons sur un autre appareil",
121
- "switchWhileSignedInAs": "Changer de compte, connecté en tant que {{name}}",
122
- "manageOnDevice": "Gérer les comptes sur cet appareil",
123
- "continueWithOxy": "Continuer avec Oxy",
124
- "havingTrouble": "Un problème ?",
125
- "progress": {
126
- "preparing": "Préparation de la demande",
127
- "awaitingApproval": "En attente d'approbation",
128
- "scanWithCommons": "Scannez avec Commons sur votre téléphone",
129
- "continueInCommons": "Continuez dans Commons",
130
- "checkCommons": "Consultez Commons sur votre téléphone",
131
- "openedInCommons": "Ouvert dans Commons",
132
- "confirming": "Confirmation de l'identité",
133
- "confirmed": "Identité confirmée"
134
- },
135
- "signInFailures": {
136
- "denied": "La connexion a été refusée dans Commons.",
137
- "expired": "La demande de connexion a expiré. Veuillez réessayer.",
138
- "network": "Impossible de joindre Oxy. Vérifiez votre connexion et réessayez.",
139
- "notConfigured": "Cette app n'est pas encore configurée pour la connexion.",
140
- "unsupportedFlow": "Cette connexion ne peut pas être finalisée ici.",
141
- "claimFailed": "La connexion a été approuvée, mais nous n'avons pas pu la finaliser. Veuillez réessayer.",
142
- "generic": "La connexion a échoué. Veuillez réessayer."
143
- },
144
- "linkOpenFailed": "Impossible d'ouvrir le lien. Veuillez réessayer."
113
+ accountSwitcher: {
114
+ loading: 'Chargement des comptes...',
115
+ qrHeadline: 'Connectez-vous avec votre identité Oxy',
116
+ signInWithOxy: 'Se connecter avec Oxy',
117
+ signUpWithOxy: "S'inscrire avec Oxy",
118
+ getCommons: 'Obtenir Commons',
119
+ commonsNotInstalled: "Pas de Commons ? Téléchargez l'app pour vous connecter avec votre Oxy ID.",
120
+ showQrAnyway: "J'ai Commons sur un autre appareil",
121
+ switchWhileSignedInAs: 'Changer de compte, connecté en tant que {{name}}',
122
+ manageOnDevice: 'Gérer les comptes sur cet appareil',
123
+ continueWithOxy: 'Continuer avec Oxy',
124
+ havingTrouble: 'Un problème ?',
125
+ progress: {
126
+ preparing: 'Préparation de la demande',
127
+ awaitingApproval: "En attente d'approbation",
128
+ scanWithCommons: 'Scannez avec Commons sur votre téléphone',
129
+ continueInCommons: 'Continuez dans Commons',
130
+ checkCommons: 'Consultez Commons sur votre téléphone',
131
+ openedInCommons: 'Ouvert dans Commons',
132
+ confirming: "Confirmation de l'identité",
133
+ confirmed: 'Identité confirmée',
134
+ },
135
+ signInFailures: {
136
+ denied: 'La connexion a été refusée dans Commons.',
137
+ expired: 'La demande de connexion a expiré. Veuillez réessayer.',
138
+ network: 'Impossible de joindre Oxy. Vérifiez votre connexion et réessayez.',
139
+ notConfigured: "Cette app n'est pas encore configurée pour la connexion.",
140
+ unsupportedFlow: 'Cette connexion ne peut pas être finalisée ici.',
141
+ claimFailed: "La connexion a été approuvée, mais nous n'avons pas pu la finaliser. Veuillez réessayer.",
142
+ generic: 'La connexion a échoué. Veuillez réessayer.',
143
+ },
144
+ linkOpenFailed: "Impossible d'ouvrir le lien. Veuillez réessayer.",
145
145
  },
146
- "common": {
147
- "stepOf": "Étape {{step}} sur {{total}}",
148
- "actions": {
149
- "back": "Retour",
150
- "continue": "Continuer",
151
- "next": "Suivant",
152
- "getStarted": "Commencer",
153
- "createAccount": "Créer un compte",
154
- "signIn": "Se connecter",
155
- "verify": "Vérifier",
156
- "resetPassword": "Réinitialiser le mot de passe",
157
- "signedOut": "Déconnecté",
158
- "close": "Fermer",
159
- "tryAgain": "Réessayer"
160
- },
161
- "links": {
162
- "recoverAccount": "Récupérer votre compte",
163
- "signUp": "S'inscrire"
164
- },
165
- "labels": {
166
- "username": "Nom d'utilisateur",
167
- "email": "Email",
168
- "password": "Mot de passe",
169
- "confirmPassword": "Confirmer le mot de passe"
170
- },
171
- "revoke": "Revoke",
172
- "errors": {
173
- "signOutAllFailed": "Un problème est survenu lors de la déconnexion de tous les comptes. Veuillez réessayer."
174
- }
146
+ common: {
147
+ stepOf: 'Étape {{step}} sur {{total}}',
148
+ actions: {
149
+ back: 'Retour',
150
+ continue: 'Continuer',
151
+ next: 'Suivant',
152
+ getStarted: 'Commencer',
153
+ createAccount: 'Créer un compte',
154
+ signIn: 'Se connecter',
155
+ verify: 'Vérifier',
156
+ resetPassword: 'Réinitialiser le mot de passe',
157
+ signedOut: 'Déconnecté',
158
+ close: 'Fermer',
159
+ tryAgain: 'Réessayer',
160
+ },
161
+ links: {
162
+ recoverAccount: 'Récupérer votre compte',
163
+ signUp: "S'inscrire",
164
+ },
165
+ labels: {
166
+ username: "Nom d'utilisateur",
167
+ email: 'Email',
168
+ password: 'Mot de passe',
169
+ confirmPassword: 'Confirmer le mot de passe',
170
+ },
171
+ revoke: 'Revoke',
172
+ errors: {
173
+ signOutAllFailed: 'Un problème est survenu lors de la déconnexion de tous les comptes. Veuillez réessayer.',
174
+ },
175
175
  },
176
- "notifications": {
177
- "title": "Notifications",
178
- "subtitle": "Manage push, email, and security alerts",
179
- "updateError": "Failed to update notification preferences",
180
- "sections": {
181
- "channels": "Channels",
182
- "alerts": "Alerts",
183
- "marketing": "Marketing"
184
- },
185
- "items": {
186
- "push": {
187
- "title": "Push notifications",
188
- "subtitle": "Real-time alerts on your devices"
176
+ notifications: {
177
+ title: 'Notifications',
178
+ subtitle: 'Manage push, email, and security alerts',
179
+ updateError: 'Failed to update notification preferences',
180
+ sections: {
181
+ channels: 'Channels',
182
+ alerts: 'Alerts',
183
+ marketing: 'Marketing',
184
+ },
185
+ items: {
186
+ push: {
187
+ title: 'Push notifications',
188
+ subtitle: 'Real-time alerts on your devices',
189
+ },
190
+ emailDigest: {
191
+ title: 'Email digest',
192
+ subtitle: 'Periodic summary of your account activity',
189
193
  },
190
- "emailDigest": {
191
- "title": "Email digest",
192
- "subtitle": "Periodic summary of your account activity"
194
+ securityAlerts: {
195
+ title: 'Security alerts',
196
+ subtitle: 'Sign-ins, recovery codes, and key changes',
193
197
  },
194
- "securityAlerts": {
195
- "title": "Security alerts",
196
- "subtitle": "Sign-ins, recovery codes, and key changes"
198
+ marketingEmails: {
199
+ title: 'Marketing emails',
200
+ subtitle: 'Product news and occasional offers',
197
201
  },
198
- "marketingEmails": {
199
- "title": "Marketing emails",
200
- "subtitle": "Product news and occasional offers"
201
- }
202
- }
202
+ },
203
203
  },
204
- "preferences": {
205
- "title": "Preferences",
206
- "subtitle": "Theme, motion, and regional settings",
207
- "sections": {
208
- "appearance": "Appearance",
209
- "language": "Language",
210
- "region": "Region"
211
- },
212
- "theme": {
213
- "light": "Light",
214
- "dark": "Dark",
215
- "system": "System default"
216
- },
217
- "items": {
218
- "theme": {
219
- "title": "Theme"
204
+ preferences: {
205
+ title: 'Preferences',
206
+ subtitle: 'Theme, motion, and regional settings',
207
+ sections: {
208
+ appearance: 'Appearance',
209
+ language: 'Language',
210
+ region: 'Region',
211
+ },
212
+ theme: {
213
+ light: 'Light',
214
+ dark: 'Dark',
215
+ system: 'System default',
216
+ },
217
+ items: {
218
+ theme: {
219
+ title: 'Theme',
220
220
  },
221
- "reduceMotion": {
222
- "title": "Reduce motion",
223
- "subtitle": "Minimise animations across Oxy apps",
224
- "systemOn": "Following system: reduce motion is on"
221
+ reduceMotion: {
222
+ title: 'Reduce motion',
223
+ subtitle: 'Minimise animations across Oxy apps',
224
+ systemOn: 'Following system: reduce motion is on',
225
225
  },
226
- "language": {
227
- "title": "Language"
226
+ language: {
227
+ title: 'Language',
228
228
  },
229
- "timezone": {
230
- "title": "Timezone",
231
- "unknown": "Unable to detect timezone"
229
+ timezone: {
230
+ title: 'Timezone',
231
+ unknown: 'Unable to detect timezone',
232
232
  },
233
- "about": {
234
- "title": "About preferences",
235
- "subtitle": "Preferences sync across every Oxy app you sign into"
236
- }
237
- }
233
+ about: {
234
+ title: 'About preferences',
235
+ subtitle: 'Preferences sync across every Oxy app you sign into',
236
+ },
237
+ },
238
238
  },
239
- "connectedApps": {
240
- "title": "Connected apps",
241
- "subtitle": "Manage third-party app access",
242
- "empty": {
243
- "title": "No connected apps",
244
- "subtitle": "Apps you authorize to sign in with your Oxy account will appear here"
245
- },
246
- "item": {
247
- "granted": "Accordé {{relative}}",
248
- "lastUsed": "Last used {{relative}}"
249
- },
250
- "confirm": {
251
- "title": "Revoke access",
252
- "message": "Revoke {{name}}'s access to your Oxy account?"
253
- },
254
- "toasts": {
255
- "revoked": "Revoked access for {{name}}",
256
- "revokeFailed": "Failed to revoke access"
257
- }
239
+ connectedApps: {
240
+ title: 'Connected apps',
241
+ subtitle: 'Manage third-party app access',
242
+ empty: {
243
+ title: 'No connected apps',
244
+ subtitle: 'Apps you authorize to sign in with your Oxy account will appear here',
245
+ },
246
+ item: {
247
+ granted: 'Accordé {{relative}}',
248
+ lastUsed: 'Last used {{relative}}',
249
+ },
250
+ confirm: {
251
+ title: 'Revoke access',
252
+ message: "Revoke {{name}}'s access to your Oxy account?",
253
+ },
254
+ toasts: {
255
+ revoked: 'Revoked access for {{name}}',
256
+ revokeFailed: 'Failed to revoke access',
257
+ },
258
258
  },
259
- "accountMenu": {
260
- "label": "Menu du compte",
261
- "manage": "Gérer votre compte Oxy",
262
- "viewProfile": "Voir le profil",
263
- "addAnother": "Ajouter un autre compte",
264
- "signOutAll": "Se déconnecter de tous les comptes",
265
- "open": "Menu du compte",
266
- "openHint": "Ouvre le menu du compte",
267
- "openWithUser": "Menu du compte de {{name}}",
268
- "switching": "Changement de compte…",
269
- "signOutAccount": "Déconnecter {{name}}",
270
- "greeting": "Bonjour, {{name}} !",
271
- "switchAccount": "Changer de compte",
272
- "storage": {
273
- "title": "Stockage Oxy",
274
- "usage": "{{used}} sur {{total}} utilisés",
275
- "used": "Utilisé",
276
- "free": "Libre",
277
- "unavailable": "Détails d'utilisation indisponibles",
278
- "upgrade": "Améliorer l'offre",
279
- "manage": "Gérer le stockage"
280
- },
281
- "data": "Vos données dans Oxy",
282
- "settings": "Paramètres Oxy",
283
- "help": "Aide et commentaires",
284
- "signOut": "Se déconnecter",
285
- "privacy": "Politique de confidentialité",
286
- "terms": "Conditions d'utilisation"
259
+ accountMenu: {
260
+ label: 'Menu du compte',
261
+ manage: 'Gérer votre compte Oxy',
262
+ viewProfile: 'Voir le profil',
263
+ addAnother: 'Ajouter un autre compte',
264
+ signOutAll: 'Se déconnecter de tous les comptes',
265
+ open: 'Menu du compte',
266
+ openHint: 'Ouvre le menu du compte',
267
+ openWithUser: 'Menu du compte de {{name}}',
268
+ switching: 'Changement de compte…',
269
+ signOutAccount: 'Déconnecter {{name}}',
270
+ greeting: 'Bonjour, {{name}} !',
271
+ switchAccount: 'Changer de compte',
272
+ storage: {
273
+ title: 'Stockage Oxy',
274
+ usage: '{{used}} sur {{total}} utilisés',
275
+ used: 'Utilisé',
276
+ free: 'Libre',
277
+ unavailable: "Détails d'utilisation indisponibles",
278
+ upgrade: "Améliorer l'offre",
279
+ manage: 'Gérer le stockage',
280
+ },
281
+ data: 'Vos données dans Oxy',
282
+ settings: 'Paramètres Oxy',
283
+ help: 'Aide et commentaires',
284
+ signOut: 'Se déconnecter',
285
+ privacy: 'Politique de confidentialité',
286
+ terms: "Conditions d'utilisation",
287
287
  },
288
- "emailCode": {
289
- "title": "Consultez vos e-mails",
290
- "sentTo": "Nous avons envoyé un code à 6 chiffres à {{email}}.",
291
- "label": "Code",
292
- "resend": "Envoyer un nouveau code",
293
- "resent": "Nous avons envoyé un nouveau code.",
294
- "changeEmail": "Utiliser un autre e-mail",
295
- "errors": {
296
- "codeInvalid": "Ce code n'est pas bon, ou il a expiré.",
297
- "tooManyAttempts": "Trop de codes erronés. Demandez-en un nouveau.",
298
- "expired": "Trop de temps a passé. Recommencez.",
299
- "unavailable": "Oxy ne peut pas envoyer d'e-mails pour le moment. Réessayez plus tard.",
300
- "rateLimited": "Trop de codes. Réessayez plus tard."
301
- }
288
+ emailCode: {
289
+ title: 'Consultez vos e-mails',
290
+ sentTo: 'Nous avons envoyé un code à 6 chiffres à {{email}}.',
291
+ label: 'Code',
292
+ resend: 'Envoyer un nouveau code',
293
+ resent: 'Nous avons envoyé un nouveau code.',
294
+ changeEmail: 'Utiliser un autre e-mail',
295
+ errors: {
296
+ codeInvalid: "Ce code n'est pas bon, ou il a expiré.",
297
+ tooManyAttempts: 'Trop de codes erronés. Demandez-en un nouveau.',
298
+ expired: 'Trop de temps a passé. Recommencez.',
299
+ unavailable: "Oxy ne peut pas envoyer d'e-mails pour le moment. Réessayez plus tard.",
300
+ rateLimited: 'Trop de codes. Réessayez plus tard.',
301
+ },
302
302
  },
303
- "deleteAccount": {
304
- "keyless": {
305
- "subtitle": "@{{username}} et tout son contenu sont supprimés définitivement. Saisissez votre nom d'utilisateur, puis confirmez avec un code que nous vous envoyons par e-mail.",
306
- "action": "Supprimer le compte",
307
- "done": "Votre compte est supprimé.",
308
- "doneDescription": "Vous avez été déconnecté.",
309
- "keyed": "Ce compte utilise Commons : supprimez-le dans Oxy Commons, Réglages > Supprimer le compte, avec sa clé."
310
- },
311
- "handoff": {
312
- "elsewhereMessage": "La suppression de votre compte nécessite votre clé d'identité, et elle n'est pas sur cet appareil. Ouvrez Oxy Commons sur l'appareil qui la détient et allez dans Réglages > Supprimer le compte."
313
- }
303
+ deleteAccount: {
304
+ keyless: {
305
+ subtitle: "@{{username}} et tout son contenu sont supprimés définitivement. Saisissez votre nom d'utilisateur, puis confirmez avec un code que nous vous envoyons par e-mail.",
306
+ action: 'Supprimer le compte',
307
+ done: 'Votre compte est supprimé.',
308
+ doneDescription: 'Vous avez été déconnecté.',
309
+ keyed: 'Ce compte utilise Commons : supprimez-le dans Oxy Commons, Réglages > Supprimer le compte, avec sa clé.',
310
+ },
311
+ handoff: {
312
+ elsewhereMessage: "La suppression de votre compte nécessite votre clé d'identité, et elle n'est pas sur cet appareil. Ouvrez Oxy Commons sur l'appareil qui la détient et allez dans Réglages > Supprimer le compte.",
313
+ },
314
314
  },
315
- "linkCommons": {
316
- "title": "Associer Commons",
317
- "subtitle": "Gardez votre propre clé : associez Commons et ce compte n'appartient qu'à vous. Son e-mail est supprimé, et votre phrase de récupération dans Commons vous permet d'y revenir.",
318
- "scan": "Sur votre téléphone, ouvrez Commons, choisissez « J’ai un compte Oxy sur le web » et scannez ce code.",
319
- "waiting": "En attente de Commons…",
320
- "compareTitle": "Vérifiez le code",
321
- "compare": "Commons affiche le même code. Sinon, annulez.",
322
- "confirm": "Oui, associer Commons",
323
- "cancel": "Annuler",
324
- "doneTitle": "Commons est associé",
325
- "done": "Ce compte est désormais en autogarde. Son e-mail a été supprimé : votre phrase de récupération dans Commons vous permet d'y revenir.",
326
- "already": "Ce compte utilise déjà Commons.",
327
- "expired": "Ce code a expiré.",
328
- "renew": "Afficher un nouveau code",
329
- "failed": "Commons n'a pas pu être associé. Réessayez.",
330
- "confirmTitle": "Confirmez l'association",
331
- "confirmDescription": "Pour terminer, confirmez qu'il s'agit bien de vous avec un code que nous vous envoyons par e-mail.",
332
- "row": "Gardez votre propre clé avec Commons"
315
+ linkCommons: {
316
+ title: 'Associer Commons',
317
+ subtitle: "Gardez votre propre clé : associez Commons et ce compte n'appartient qu'à vous. Son e-mail est supprimé, et votre phrase de récupération dans Commons vous permet d'y revenir.",
318
+ scan: 'Sur votre téléphone, ouvrez Commons, choisissez « J’ai un compte Oxy sur le web » et scannez ce code.',
319
+ waiting: 'En attente de Commons…',
320
+ compareTitle: 'Vérifiez le code',
321
+ compare: 'Commons affiche le même code. Sinon, annulez.',
322
+ confirm: 'Oui, associer Commons',
323
+ cancel: 'Annuler',
324
+ doneTitle: 'Commons est associé',
325
+ done: "Ce compte est désormais en autogarde. Son e-mail a été supprimé : votre phrase de récupération dans Commons vous permet d'y revenir.",
326
+ already: 'Ce compte utilise déjà Commons.',
327
+ expired: 'Ce code a expiré.',
328
+ renew: 'Afficher un nouveau code',
329
+ failed: "Commons n'a pas pu être associé. Réessayez.",
330
+ confirmTitle: "Confirmez l'association",
331
+ confirmDescription: "Pour terminer, confirmez qu'il s'agit bien de vous avec un code que nous vous envoyons par e-mail.",
332
+ row: 'Gardez votre propre clé avec Commons',
333
333
  },
334
- "reauth": {
335
- "title": "Confirmez qu'il s'agit bien de vous",
336
- "emailDescription": "Nous allons envoyer un code à votre adresse e-mail pour confirmer ce changement.",
337
- "sendCode": "Envoyer le code",
338
- "codeSent": "Nous avons envoyé un code à 6 chiffres à votre adresse e-mail.",
339
- "codeLabel": "Code reçu par e-mail",
340
- "passwordLabel": "Mot de passe actuel",
341
- "usePassword": "Utiliser plutôt votre mot de passe",
342
- "useEmail": "Recevoir plutôt un code par e-mail",
343
- "errors": {
344
- "invalid": "Cela n'a pas fonctionné. Vérifiez votre saisie et réessayez.",
345
- "totpRequired": "Saisissez aussi le code de votre application d'authentification."
346
- }
334
+ reauth: {
335
+ title: "Confirmez qu'il s'agit bien de vous",
336
+ emailDescription: 'Nous allons envoyer un code à votre adresse e-mail pour confirmer ce changement.',
337
+ sendCode: 'Envoyer le code',
338
+ codeSent: 'Nous avons envoyé un code à 6 chiffres à votre adresse e-mail.',
339
+ codeLabel: 'Code reçu par e-mail',
340
+ passwordLabel: 'Mot de passe actuel',
341
+ usePassword: 'Utiliser plutôt votre mot de passe',
342
+ useEmail: 'Recevoir plutôt un code par e-mail',
343
+ errors: {
344
+ invalid: "Cela n'a pas fonctionné. Vérifiez votre saisie et réessayez.",
345
+ totpRequired: "Saisissez aussi le code de votre application d'authentification.",
346
+ },
347
+ },
348
+ signInSecurity: {
349
+ password: {
350
+ title: 'Mot de passe',
351
+ setTitle: 'Définir un mot de passe',
352
+ changeTitle: 'Modifier votre mot de passe',
353
+ description: "Connectez-vous avec votre mot de passe plutôt qu'avec un code par e-mail. Utilisez au moins {{min}} caractères.",
354
+ newLabel: 'Nouveau mot de passe',
355
+ repeatLabel: 'Confirmez le mot de passe',
356
+ tooShort: 'Utilisez au moins {{min}} caractères.',
357
+ mismatch: 'Les mots de passe ne correspondent pas.',
358
+ signOutOthers: 'Se déconnecter partout ailleurs',
359
+ save: 'Enregistrer le mot de passe',
360
+ saved: 'Votre mot de passe est enregistré.',
361
+ row: 'Facultatif : se connecter avec un mot de passe',
362
+ },
363
+ totp: {
364
+ title: "Application d'authentification",
365
+ description: "Après votre code par e-mail ou votre mot de passe, Oxy vous demande aussi un code provenant d'une application comme Google Authenticator ou 1Password.",
366
+ setUp: 'Configurer',
367
+ scan: "Scannez ce code QR avec votre application d'authentification, ou saisissez la clé de configuration.",
368
+ secretLabel: 'Clé de configuration',
369
+ codeLabel: "Code de l'application",
370
+ enable: 'Activer',
371
+ enabled: "L'application d'authentification est activée.",
372
+ disable: "Désactiver l'application d'authentification",
373
+ disabled: "L'application d'authentification est désactivée.",
374
+ on: 'Activée',
375
+ off: 'Désactivée',
376
+ backupTitle: 'Enregistrez vos codes de secours',
377
+ backupDescription: 'Si vous perdez votre téléphone, chaque code vous connecte une fois. Conservez-les en lieu sûr : ils ne seront plus affichés.',
378
+ copy: 'Copier les codes',
379
+ copied: 'Codes de secours copiés.',
380
+ savedThem: 'Je les ai enregistrés',
381
+ regenerate: 'Obtenir de nouveaux codes de secours',
382
+ regenerateDescription: 'Vos anciens codes de secours ne fonctionneront plus.',
383
+ remaining: '{{count}} codes de secours restants',
384
+ row: 'Une deuxième étape à la connexion',
385
+ },
347
386
  },
348
- "signInSecurity": {
349
- "password": {
350
- "title": "Mot de passe",
351
- "setTitle": "Définir un mot de passe",
352
- "changeTitle": "Modifier votre mot de passe",
353
- "description": "Connectez-vous avec votre mot de passe plutôt qu'avec un code par e-mail. Utilisez au moins {{min}} caractères.",
354
- "newLabel": "Nouveau mot de passe",
355
- "repeatLabel": "Confirmez le mot de passe",
356
- "tooShort": "Utilisez au moins {{min}} caractères.",
357
- "mismatch": "Les mots de passe ne correspondent pas.",
358
- "signOutOthers": "Se déconnecter partout ailleurs",
359
- "save": "Enregistrer le mot de passe",
360
- "saved": "Votre mot de passe est enregistré.",
361
- "row": "Facultatif : se connecter avec un mot de passe"
362
- },
363
- "totp": {
364
- "title": "Application d'authentification",
365
- "description": "Après votre code par e-mail ou votre mot de passe, Oxy vous demande aussi un code provenant d'une application comme Google Authenticator ou 1Password.",
366
- "setUp": "Configurer",
367
- "scan": "Scannez ce code QR avec votre application d'authentification, ou saisissez la clé de configuration.",
368
- "secretLabel": "Clé de configuration",
369
- "codeLabel": "Code de l'application",
370
- "enable": "Activer",
371
- "enabled": "L'application d'authentification est activée.",
372
- "disable": "Désactiver l'application d'authentification",
373
- "disabled": "L'application d'authentification est désactivée.",
374
- "on": "Activée",
375
- "off": "Désactivée",
376
- "backupTitle": "Enregistrez vos codes de secours",
377
- "backupDescription": "Si vous perdez votre téléphone, chaque code vous connecte une fois. Conservez-les en lieu sûr : ils ne seront plus affichés.",
378
- "copy": "Copier les codes",
379
- "copied": "Codes de secours copiés.",
380
- "savedThem": "Je les ai enregistrés",
381
- "regenerate": "Obtenir de nouveaux codes de secours",
382
- "regenerateDescription": "Vos anciens codes de secours ne fonctionneront plus.",
383
- "remaining": "{{count}} codes de secours restants",
384
- "row": "Une deuxième étape à la connexion"
385
- }
386
- }
387
387
  };
388
388
  export default dict;