@djangocfg/i18n 2.1.567 → 2.1.569

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/src/locales/fr.ts CHANGED
@@ -6,569 +6,526 @@ import type { I18nTranslations } from '../types'
6
6
  export const fr: I18nTranslations = {
7
7
  ui: {
8
8
  select: {
9
- placeholder: 'Sélectionner une option...',
10
- search: 'Rechercher...',
11
- noResults: 'Aucun résultat trouvé.',
12
- selectAll: 'Tout sélectionner',
13
- clearAll: 'Tout effacer',
14
- moreItems: '+{count} autres',
15
- loading: 'Chargement...',
9
+ placeholder: "Sélectionner une option...",
10
+ search: "Rechercher...",
11
+ noResults: "Aucun résultat trouvé.",
12
+ selectAll: "Tout sélectionner",
13
+ clearAll: "Tout effacer",
14
+ moreItems: "+{count} autres",
15
+ loading: "Chargement...",
16
16
  },
17
-
18
17
  pagination: {
19
- previous: 'Précédent',
20
- next: 'Suivant',
21
- first: 'Premier',
22
- last: 'Dernier',
23
- page: 'Page {page}',
24
- of: 'sur {total}',
25
- showing: '{from}-{to} sur {total}',
18
+ previous: "Précédent",
19
+ next: "Suivant",
20
+ first: "Premier",
21
+ last: "Dernier",
22
+ page: "Page {page}",
23
+ of: "sur {total}",
24
+ showing: "{from}-{to} sur {total}",
26
25
  },
27
-
28
26
  dialog: {
29
- close: 'Fermer',
30
- confirm: 'Confirmer',
31
- cancel: 'Annuler',
32
- ok: 'OK',
33
- yes: 'Oui',
34
- no: 'Non',
35
- delete: 'Supprimer',
36
- save: 'Enregistrer',
37
- discard: 'Abandonner',
38
- alertTitle: 'Avis',
39
- confirmTitle: 'Confirmer',
40
- confirmDelete: 'Êtes-vous sûr de vouloir supprimer ceci ?',
41
- promptTitle: 'Saisie requise',
42
- promptPlaceholder: 'Entrez une valeur...',
27
+ close: "Fermer",
28
+ confirm: "Confirmer",
29
+ cancel: "Annuler",
30
+ ok: "OK",
31
+ yes: "Oui",
32
+ no: "Non",
33
+ delete: "Supprimer",
34
+ save: "Enregistrer",
35
+ discard: "Abandonner",
36
+ alertTitle: "Avis",
37
+ confirmTitle: "Confirmer",
38
+ confirmDelete: "Êtes-vous sûr de vouloir supprimer ceci ?",
39
+ promptTitle: "Saisie requise",
40
+ promptPlaceholder: "Entrez une valeur...",
43
41
  },
44
-
45
42
  form: {
46
- submit: 'Soumettre',
47
- cancel: 'Annuler',
48
- save: 'Enregistrer',
49
- delete: 'Supprimer',
50
- edit: 'Modifier',
51
- create: 'Créer',
52
- update: 'Mettre à jour',
53
- reset: 'Réinitialiser',
54
- clear: 'Effacer',
55
- loading: 'Chargement...',
56
- saving: 'Enregistrement...',
57
- deleting: 'Suppression...',
58
- required: 'Ce champ est requis',
59
- optional: 'Facultatif',
60
- minLength: '{min} caractères minimum',
61
- maxLength: '{max} caractères maximum',
62
- invalidEmail: 'Veuillez entrer une adresse email valide',
63
- invalidUrl: 'Veuillez entrer une URL valide',
64
- invalidPhone: 'Veuillez entrer un numéro de téléphone valide',
65
- passwordMismatch: 'Les mots de passe ne correspondent pas',
43
+ submit: "Soumettre",
44
+ cancel: "Annuler",
45
+ save: "Enregistrer",
46
+ delete: "Supprimer",
47
+ edit: "Modifier",
48
+ create: "Créer",
49
+ update: "Mettre à jour",
50
+ reset: "Réinitialiser",
51
+ clear: "Effacer",
52
+ loading: "Chargement...",
53
+ saving: "Enregistrement...",
54
+ deleting: "Suppression...",
55
+ required: "Ce champ est requis",
56
+ optional: "Facultatif",
57
+ minLength: "{min} caractères minimum",
58
+ maxLength: "{max} caractères maximum",
59
+ invalidEmail: "Veuillez entrer une adresse email valide",
60
+ invalidUrl: "Veuillez entrer une URL valide",
61
+ invalidPhone: "Veuillez entrer un numéro de téléphone valide",
62
+ passwordMismatch: "Les mots de passe ne correspondent pas",
66
63
  },
67
-
68
64
  datetime: {
69
65
  today: "Aujourd'hui",
70
- yesterday: 'Hier',
71
- tomorrow: 'Demain',
66
+ yesterday: "Hier",
67
+ tomorrow: "Demain",
72
68
  now: "À l'instant",
73
- secondsAgo: 'Il y a {count} secondes',
74
- minutesAgo: 'Il y a {count} minutes',
75
- hoursAgo: 'Il y a {count} heures',
76
- daysAgo: 'Il y a {count} jours',
77
- pickDate: 'Choisir une date',
78
- pickTime: 'Choisir une heure',
79
- pickDateTime: 'Choisir date et heure',
80
- pickDateRange: 'Choisir une période',
69
+ secondsAgo: "Il y a {count} secondes",
70
+ minutesAgo: "Il y a {count} minutes",
71
+ hoursAgo: "Il y a {count} heures",
72
+ daysAgo: "Il y a {count} jours",
73
+ pickDate: "Choisir une date",
74
+ pickTime: "Choisir une heure",
75
+ pickDateTime: "Choisir date et heure",
76
+ pickDateRange: "Choisir une période",
81
77
  },
82
-
83
78
  file: {
84
- upload: 'Télécharger',
85
- uploading: 'Téléchargement...',
86
- dragDrop: 'Glissez-déposez les fichiers ici',
87
- browse: 'Parcourir les fichiers',
88
- remove: 'Supprimer',
89
- maxSize: 'Taille max: {size}',
90
- invalidType: 'Type de fichier invalide',
91
- tooLarge: 'Le fichier est trop volumineux',
79
+ upload: "Télécharger",
80
+ uploading: "Téléchargement...",
81
+ dragDrop: "Glissez-déposez les fichiers ici",
82
+ browse: "Parcourir les fichiers",
83
+ remove: "Supprimer",
84
+ maxSize: "Taille max: {size}",
85
+ invalidType: "Type de fichier invalide",
86
+ tooLarge: "Le fichier est trop volumineux",
92
87
  },
93
-
94
88
  table: {
95
- noData: 'Aucune donnée disponible',
96
- loading: 'Chargement des données...',
97
- showing: '{from}-{to} sur {total}',
98
- rowsPerPage: 'Lignes par page',
99
- sortAsc: 'Tri croissant',
100
- sortDesc: 'Tri décroissant',
101
- filter: 'Filtrer',
102
- clearFilters: 'Effacer les filtres',
103
- selectAll: 'Tout sélectionner',
104
- deselectAll: 'Tout désélectionner',
105
- selected: '{count} sélectionné(s)',
89
+ noData: "Aucune donnée disponible",
90
+ loading: "Chargement des données...",
91
+ showing: "{from}-{to} sur {total}",
92
+ rowsPerPage: "Lignes par page",
93
+ sortAsc: "Tri croissant",
94
+ sortDesc: "Tri décroissant",
95
+ filter: "Filtrer",
96
+ clearFilters: "Effacer les filtres",
97
+ selectAll: "Tout sélectionner",
98
+ deselectAll: "Tout désélectionner",
99
+ selected: "{count} sélectionné(s)",
106
100
  },
107
-
108
101
  actions: {
109
- view: 'Voir',
110
- copy: 'Copier',
111
- copied: 'Copié!',
112
- copyToClipboard: 'Copier dans le presse-papiers',
113
- download: 'Télécharger',
114
- share: 'Partager',
115
- refresh: 'Actualiser',
116
- retry: 'Réessayer',
117
- expand: 'Développer',
118
- collapse: 'Réduire',
119
- showMore: 'Voir plus',
120
- showLess: 'Voir moins',
121
- seeAll: 'Voir tout',
122
- goBack: 'Retour',
123
- remove: 'Supprimer',
124
- previousSlide: 'Diapositive précédente',
125
- nextSlide: 'Diapositive suivante',
102
+ view: "Voir",
103
+ copy: "Copier",
104
+ copied: "Copié!",
105
+ copyToClipboard: "Copier dans le presse-papiers",
106
+ download: "Télécharger",
107
+ share: "Partager",
108
+ refresh: "Actualiser",
109
+ retry: "Réessayer",
110
+ expand: "Développer",
111
+ collapse: "Réduire",
112
+ showMore: "Voir plus",
113
+ showLess: "Voir moins",
114
+ seeAll: "Voir tout",
115
+ goBack: "Retour",
116
+ remove: "Supprimer",
117
+ previousSlide: "Diapositive précédente",
118
+ nextSlide: "Diapositive suivante",
126
119
  },
127
-
128
120
  phone: {
129
- searchCountries: 'Rechercher des pays...',
130
- noCountries: 'Aucun pays trouvé',
121
+ searchCountries: "Rechercher des pays...",
122
+ noCountries: "Aucun pays trouvé",
131
123
  },
132
-
133
124
  navigation: {
134
- title: 'Navigation',
125
+ title: "Navigation",
135
126
  },
136
-
137
127
  states: {
138
- loading: 'Chargement',
139
- empty: 'Vide',
140
- error: 'Erreur',
141
- success: 'Succès',
142
- warning: 'Avertissement',
143
- info: 'Info',
144
- pending: 'En attente',
145
- active: 'Actif',
146
- inactive: 'Inactif',
147
- enabled: 'Activé',
148
- disabled: 'Désactivé',
128
+ loading: "Chargement",
129
+ empty: "Vide",
130
+ error: "Erreur",
131
+ success: "Succès",
132
+ warning: "Avertissement",
133
+ info: "Info",
134
+ pending: "En attente",
135
+ active: "Actif",
136
+ inactive: "Inactif",
137
+ enabled: "Activé",
138
+ disabled: "Désactivé",
149
139
  },
150
-
151
140
  errors: {
152
- generic: 'Une erreur est survenue',
153
- network: 'Erreur réseau. Veuillez vérifier votre connexion.',
154
- timeout: 'Délai dépassé. Veuillez réessayer.',
155
- notFound: 'Non trouvé',
156
- unauthorized: 'Veuillez vous connecter pour continuer',
141
+ generic: "Une erreur est survenue",
142
+ network: "Erreur réseau. Veuillez vérifier votre connexion.",
143
+ timeout: "Délai dépassé. Veuillez réessayer.",
144
+ notFound: "Non trouvé",
145
+ unauthorized: "Veuillez vous connecter pour continuer",
157
146
  forbidden: "Vous n'avez pas la permission d'accéder à ceci",
158
- serverError: 'Erreur serveur. Veuillez réessayer plus tard.',
159
- validation: 'Veuillez vérifier le formulaire pour les erreurs',
160
- unknown: 'Une erreur inconnue est survenue',
147
+ serverError: "Erreur serveur. Veuillez réessayer plus tard.",
148
+ validation: "Veuillez vérifier le formulaire pour les erreurs",
149
+ unknown: "Une erreur inconnue est survenue",
161
150
  },
162
151
  },
163
-
164
152
  layouts: {
165
153
  sidebar: {
166
- toggle: 'Basculer la barre latérale',
167
- collapse: 'Réduire la barre latérale',
168
- expand: 'Développer la barre latérale',
154
+ toggle: "Basculer la barre latérale",
155
+ collapse: "Réduire la barre latérale",
156
+ expand: "Développer la barre latérale",
169
157
  },
170
-
171
158
  navigation: {
172
- menu: 'Menu',
173
- home: 'Accueil',
174
- back: 'Retour',
175
- forward: 'Suivant',
176
- toggleMobile: 'Basculer le menu mobile',
177
- breadcrumb: 'Fil d\'Ariane',
159
+ menu: "Menu",
160
+ home: "Accueil",
161
+ back: "Retour",
162
+ forward: "Suivant",
163
+ toggleMobile: "Basculer le menu mobile",
164
+ breadcrumb: "Fil d'Ariane",
178
165
  },
179
-
180
166
  profile: {
181
- settings: 'Paramètres',
182
- account: 'Compte',
183
- logout: 'Déconnexion',
184
- login: 'Connexion',
167
+ settings: "Paramètres",
168
+ account: "Compte",
169
+ logout: "Déconnexion",
170
+ login: "Connexion",
185
171
  signUp: "S'inscrire",
186
- signOut: 'Se déconnecter',
187
- userMenu: 'Menu utilisateur',
188
- language: 'Langue',
172
+ signOut: "Se déconnecter",
173
+ userMenu: "Menu utilisateur",
174
+ language: "Langue",
189
175
  },
190
-
191
176
  theme: {
192
- toggle: 'Changer le thème',
193
- light: 'Clair',
194
- dark: 'Sombre',
195
- system: 'Système',
177
+ toggle: "Changer le thème",
178
+ light: "Clair",
179
+ dark: "Sombre",
180
+ system: "Système",
196
181
  },
197
-
198
182
  search: {
199
- placeholder: 'Rechercher...',
200
- noResults: 'Aucun résultat trouvé',
201
- recentSearches: 'Recherches récentes',
183
+ placeholder: "Rechercher...",
184
+ noResults: "Aucun résultat trouvé",
185
+ recentSearches: "Recherches récentes",
202
186
  clearHistory: "Effacer l'historique",
203
187
  },
204
-
205
188
  mobile: {
206
- closeMenu: 'Fermer le menu',
189
+ closeMenu: "Fermer le menu",
207
190
  },
208
-
209
191
  errors: {
210
- somethingWentWrong: 'Une erreur est survenue',
211
- tryRefreshing: 'Nous sommes désolés, mais une erreur inattendue s\'est produite. Veuillez essayer d\'actualiser la page.',
212
- refreshPage: 'Actualiser la page',
213
- goBack: 'Retour',
192
+ somethingWentWrong: "Une erreur est survenue",
193
+ tryRefreshing: "Nous sommes désolés, mais une erreur inattendue s'est produite. Veuillez essayer d'actualiser la page.",
194
+ refreshPage: "Actualiser la page",
195
+ goBack: "Retour",
214
196
  goHome: "Aller à l'accueil",
215
197
  needHelp: "Besoin d'aide?",
216
- contactSupport: 'Contacter le support',
217
- checkStatus: 'Voir l’état des services',
218
- persistsContact: 'Si le problème persiste, veuillez contacter {email}',
219
- error: 'Erreur',
220
- badRequest: 'Requête incorrecte',
221
- authRequired: 'Authentification requise',
222
- accessDenied: 'Accès refusé',
223
- pageNotFound: 'Page non trouvée',
224
- requestTimeout: 'Délai de requête dépassé',
225
- serverError: 'Erreur serveur',
226
- badGateway: 'Passerelle incorrecte',
227
- serviceUnavailable: 'Service indisponible',
228
- gatewayTimeout: 'Délai de passerelle dépassé',
229
- badRequestDesc: 'La requête n\'a pas pu être comprise. Veuillez vérifier vos données et réessayer.',
230
- authRequiredDesc: 'Vous devez vous connecter pour accéder à cette page.',
231
- accessDeniedDesc: 'Vous n\'avez pas la permission d\'accéder à cette ressource.',
232
- pageNotFoundDesc: 'La page que vous recherchez n\'existe pas ou a été déplacée.',
233
- requestTimeoutDesc: 'Le traitement de la requête a pris trop de temps. Veuillez réessayer.',
234
- serverErrorDesc: 'Une erreur s\'est produite de notre côté. Nous travaillons à la résoudre.',
235
- badGatewayDesc: 'Le serveur a reçu une réponse invalide. Veuillez réessayer plus tard.',
236
- serviceUnavailableDesc: 'Le service est temporairement indisponible. Veuillez réessayer plus tard.',
237
- gatewayTimeoutDesc: 'Le serveur a mis trop de temps à répondre. Veuillez réessayer.',
238
- unknownErrorDesc: 'Une erreur inattendue est survenue. Veuillez réessayer ou contacter le support.',
198
+ contactSupport: "Contacter le support",
199
+ checkStatus: "Voir l’état des services",
200
+ persistsContact: "Si le problème persiste, veuillez contacter {email}",
201
+ error: "Erreur",
202
+ badRequest: "Requête incorrecte",
203
+ authRequired: "Authentification requise",
204
+ accessDenied: "Accès refusé",
205
+ pageNotFound: "Page non trouvée",
206
+ requestTimeout: "Délai de requête dépassé",
207
+ serverError: "Erreur serveur",
208
+ badGateway: "Passerelle incorrecte",
209
+ serviceUnavailable: "Service indisponible",
210
+ gatewayTimeout: "Délai de passerelle dépassé",
211
+ badRequestDesc: "La requête n'a pas pu être comprise. Veuillez vérifier vos données et réessayer.",
212
+ authRequiredDesc: "Vous devez vous connecter pour accéder à cette page.",
213
+ accessDeniedDesc: "Vous n'avez pas la permission d'accéder à cette ressource.",
214
+ pageNotFoundDesc: "La page que vous recherchez n'existe pas ou a été déplacée.",
215
+ requestTimeoutDesc: "Le traitement de la requête a pris trop de temps. Veuillez réessayer.",
216
+ serverErrorDesc: "Une erreur s'est produite de notre côté. Nous travaillons à la résoudre.",
217
+ badGatewayDesc: "Le serveur a reçu une réponse invalide. Veuillez réessayer plus tard.",
218
+ serviceUnavailableDesc: "Le service est temporairement indisponible. Veuillez réessayer plus tard.",
219
+ gatewayTimeoutDesc: "Le serveur a mis trop de temps à répondre. Veuillez réessayer.",
220
+ unknownErrorDesc: "Une erreur inattendue est survenue. Veuillez réessayer ou contacter le support.",
239
221
  },
240
-
241
222
  push: {
242
- enableNotifications: 'Activer les notifications',
243
- stayUpdated: 'Restez informé des mises à jour et alertes importantes',
244
- enable: 'Activer',
245
- notNow: 'Pas maintenant',
246
- dismiss: 'Fermer',
223
+ enableNotifications: "Activer les notifications",
224
+ stayUpdated: "Restez informé des mises à jour et alertes importantes",
225
+ enable: "Activer",
226
+ notNow: "Pas maintenant",
227
+ dismiss: "Fermer",
247
228
  },
248
-
249
229
  auth: {
250
- authRequired: 'Authentification requise',
251
- pleaseSignIn: 'Veuillez vous connecter pour continuer',
252
- goToSignIn: 'Aller à la connexion',
253
-
230
+ authRequired: "Authentification requise",
231
+ pleaseSignIn: "Veuillez vous connecter pour continuer",
232
+ goToSignIn: "Aller à la connexion",
254
233
  identifier: {
255
- title: 'Connexion',
234
+ title: "Connexion",
256
235
  subtitle: {
257
- email: 'Entrez votre email pour continuer',
258
- phone: 'Entrez votre numéro de téléphone pour continuer',
236
+ email: "Entrez votre email pour continuer",
237
+ phone: "Entrez votre numéro de téléphone pour continuer",
259
238
  },
260
239
  placeholder: {
261
- email: 'email@exemple.com',
262
- phone: 'Entrez votre numéro de téléphone',
240
+ email: "email@exemple.com",
241
+ phone: "Entrez votre numéro de téléphone",
263
242
  },
264
- button: 'Continuer',
243
+ button: "Continuer",
265
244
  oauth: {
266
- github: 'Continuer avec GitHub',
245
+ github: "Continuer avec GitHub",
267
246
  },
268
247
  channel: {
269
- email: 'Email',
270
- phone: 'Téléphone',
248
+ email: "Email",
249
+ phone: "Téléphone",
271
250
  },
272
251
  },
273
-
274
252
  otp: {
275
- title: 'Entrez le code',
276
- subtitle: 'Nous avons envoyé un code à',
277
- button: 'Vérifier',
278
- resend: 'Renvoyer le code',
253
+ title: "Entrez le code",
254
+ subtitle: "Nous avons envoyé un code à",
255
+ button: "Vérifier",
256
+ resend: "Renvoyer le code",
279
257
  changeEmail: "Changer l'email",
280
- changePhone: 'Changer le téléphone',
281
- openMailbox: 'Ouvrir {provider}',
258
+ changePhone: "Changer le téléphone",
259
+ openMailbox: "Ouvrir {provider}",
282
260
  },
283
-
284
261
  twoFactor: {
285
- title: 'Authentification à deux facteurs',
262
+ title: "Authentification à deux facteurs",
286
263
  subtitle: {
287
- totp: 'Entrez le code à 6 chiffres de votre application d\'authentification',
288
- backup: 'Entrez un de vos codes de secours',
264
+ totp: "Entrez le code à 6 chiffres de votre application d'authentification",
265
+ backup: "Entrez un de vos codes de secours",
289
266
  },
290
267
  placeholder: {
291
- backup: 'XXXXXXXX',
268
+ backup: "XXXXXXXX",
292
269
  },
293
- button: 'Vérifier',
270
+ button: "Vérifier",
294
271
  toggle: {
295
- toBackup: 'Utiliser le code de secours',
296
- toTotp: 'Utiliser l\'application d\'authentification',
272
+ toBackup: "Utiliser le code de secours",
273
+ toTotp: "Utiliser l'application d'authentification",
297
274
  },
298
275
  },
299
-
300
276
  setup: {
301
277
  loading: {
302
- title: 'Configuration...',
303
- button: 'Chargement',
278
+ title: "Configuration...",
279
+ button: "Chargement",
304
280
  },
305
281
  qrCode: {
306
- title: 'Configurer 2FA',
307
- subtitle: 'Scannez ce code QR avec votre application d\'authentification',
308
- manualEntry: 'Impossible de scanner? Entrez manuellement',
309
- confirmPrompt: 'Entrez le code à 6 chiffres pour confirmer',
310
- button: 'Activer 2FA',
311
- skip: 'Passer pour le moment',
282
+ title: "Configurer 2FA",
283
+ subtitle: "Scannez ce code QR avec votre application d'authentification",
284
+ manualEntry: "Impossible de scanner? Entrez manuellement",
285
+ confirmPrompt: "Entrez le code à 6 chiffres pour confirmer",
286
+ button: "Activer 2FA",
287
+ skip: "Passer pour le moment",
312
288
  },
313
289
  complete: {
314
- title: '2FA activée',
315
- subtitle: 'Sauvegardez ces codes de secours en lieu sûr',
316
- instruction: 'Chaque code ne peut être utilisé qu\'une seule fois',
317
- copyAll: 'Copier tous les codes',
318
- copied: 'Copié',
319
- done: 'Terminé',
290
+ title: "2FA activée",
291
+ subtitle: "Sauvegardez ces codes de secours en lieu sûr",
292
+ instruction: "Chaque code ne peut être utilisé qu'une seule fois",
293
+ copyAll: "Copier tous les codes",
294
+ copied: "Copié",
295
+ done: "Terminé",
320
296
  },
321
297
  },
322
-
323
298
  success: {
324
- message: 'Connexion réussie',
299
+ message: "Connexion réussie",
300
+ redirecting: "Redirection en cours…",
325
301
  },
326
-
327
302
  divider: {
328
- or: 'ou',
303
+ or: "ou",
329
304
  },
330
305
  footer: {
331
- terms: 'Conditions',
332
- privacy: 'Confidentialité',
333
- support: 'Support',
306
+ terms: "Conditions",
307
+ privacy: "Confidentialité",
308
+ support: "Support",
334
309
  },
335
-
336
310
  dev: {
337
- anyCodeWorks: 'Mode Dev: N\'importe quel code fonctionne',
311
+ anyCodeWorks: "Mode Dev: N'importe quel code fonctionne",
338
312
  },
339
313
  },
340
-
341
314
  chat: {
342
- aiAssistant: 'Assistant IA',
343
- defaultTitle: 'Chat IA',
344
- newChat: 'Nouvelle conversation',
345
- closeChat: 'Fermer le chat',
346
- switchToFloating: 'Passer en mode flottant',
347
- switchToSidebar: 'Passer en mode barre latérale',
348
- dragToResize: 'Glisser pour redimensionner',
349
- howCanIHelp: 'Comment puis-je vous aider?',
315
+ aiAssistant: "Assistant IA",
316
+ defaultTitle: "Chat IA",
317
+ newChat: "Nouvelle conversation",
318
+ closeChat: "Fermer le chat",
319
+ switchToFloating: "Passer en mode flottant",
320
+ switchToSidebar: "Passer en mode barre latérale",
321
+ dragToResize: "Glisser pour redimensionner",
322
+ howCanIHelp: "Comment puis-je vous aider?",
350
323
  },
351
-
352
324
  pwa: {
353
325
  addToHomeScreen: "Ajouter à l'écran d'accueil",
354
326
  installApp: "Installer l'application",
355
- tapToLearnHow: 'Appuyez pour savoir comment',
356
- clickToSeeGuide: 'Cliquez pour voir le guide de bureau',
357
- tapToInstall: 'Appuyez pour installer',
358
- installing: 'Installation...',
359
- dismiss: 'Fermer',
360
- appLogo: 'Logo de l\'application',
361
- iosTitle: 'Ajouter à l\'écran d\'accueil',
362
- iosDescription: 'Installez cette application sur votre iPhone pour un accès rapide et une meilleure expérience',
363
- iosStep1Title: 'Appuyez sur Partager',
364
- iosStep1Desc: 'En bas de Safari',
365
- iosStep2Title: 'Faites défiler et appuyez',
366
- iosStep2Desc: '"Ajouter à l\'écran d\'accueil"',
367
- iosStep3Title: 'Confirmer',
368
- iosStep3Desc: 'Appuyez sur "Ajouter" en haut à droite',
369
- gotIt: 'Compris',
370
- desktopTitle: 'Installer l\'application sur le bureau',
371
- desktopDescription: 'Installez cette application dans {browser} pour un accès rapide depuis votre bureau',
372
- desktopDescSafari: 'Safari sur macOS a un support PWA limité. Pour une meilleure expérience, utilisez Chrome, Edge ou Brave.',
373
- desktopTip: 'Vous pouvez également faire un clic droit sur la page et chercher l\'option "Installer" dans {browser}',
374
- desktopFirefoxNote: 'Firefox a un support PWA limité. Certaines fonctionnalités peuvent ne pas fonctionner comme prévu.',
375
- chromiumStep1Title: 'Trouver l\'icône d\'installation',
376
- chromiumStep1Desc: 'Cherchez l\'icône d\'installation dans la barre d\'adresse (côté droit)',
377
- chromiumStep2Title: 'Cliquer sur Installer',
378
- chromiumStep2Desc: 'Cliquez sur l\'icône et sélectionnez "Installer"',
379
- chromiumStep3Title: 'Confirmer',
380
- chromiumStep3Desc: 'Cliquez sur "Installer" dans la boîte de dialogue',
381
- firefoxStep1Title: 'Ouvrir le menu',
382
- firefoxStep1Desc: 'Cliquez sur le bouton de menu (trois lignes)',
383
- firefoxStep2Title: 'Trouver l\'option d\'installation',
384
- firefoxStep2Desc: 'Cherchez "Installer" ou "Ajouter à l\'écran d\'accueil"',
385
- firefoxStep3Title: 'Confirmer',
386
- firefoxStep3Desc: 'Suivez les instructions d\'installation',
387
- safariStep1Title: 'Support limité',
388
- safariStep1Desc: 'Safari sur macOS a un support PWA limité',
389
- safariStep2Title: 'Utiliser un navigateur Chromium',
390
- safariStep2Desc: 'Envisagez d\'utiliser Chrome, Edge ou Brave pour l\'expérience PWA complète',
391
- unknownStep1Title: 'Vérifier la barre d\'adresse',
392
- unknownStep1Desc: 'Cherchez une icône d\'installation ou de téléchargement',
393
- unknownStep2Title: 'Ou utiliser le menu',
394
- unknownStep2Desc: 'Vérifiez le menu du navigateur pour l\'option d\'installation',
395
- unknownStep3Title: 'Confirmer',
396
- unknownStep3Desc: 'Suivez les instructions d\'installation',
397
- close: 'Fermer',
327
+ tapToLearnHow: "Appuyez pour savoir comment",
328
+ clickToSeeGuide: "Cliquez pour voir le guide de bureau",
329
+ tapToInstall: "Appuyez pour installer",
330
+ installing: "Installation...",
331
+ dismiss: "Fermer",
332
+ appLogo: "Logo de l'application",
333
+ iosTitle: "Ajouter à l'écran d'accueil",
334
+ iosDescription: "Installez cette application sur votre iPhone pour un accès rapide et une meilleure expérience",
335
+ iosStep1Title: "Appuyez sur Partager",
336
+ iosStep1Desc: "En bas de Safari",
337
+ iosStep2Title: "Faites défiler et appuyez",
338
+ iosStep2Desc: "\"Ajouter à l'écran d'accueil\"",
339
+ iosStep3Title: "Confirmer",
340
+ iosStep3Desc: "Appuyez sur \"Ajouter\" en haut à droite",
341
+ gotIt: "Compris",
342
+ desktopTitle: "Installer l'application sur le bureau",
343
+ desktopDescription: "Installez cette application dans {browser} pour un accès rapide depuis votre bureau",
344
+ desktopDescSafari: "Safari sur macOS a un support PWA limité. Pour une meilleure expérience, utilisez Chrome, Edge ou Brave.",
345
+ desktopTip: "Vous pouvez également faire un clic droit sur la page et chercher l'option \"Installer\" dans {browser}",
346
+ desktopFirefoxNote: "Firefox a un support PWA limité. Certaines fonctionnalités peuvent ne pas fonctionner comme prévu.",
347
+ chromiumStep1Title: "Trouver l'icône d'installation",
348
+ chromiumStep1Desc: "Cherchez l'icône d'installation dans la barre d'adresse (côté droit)",
349
+ chromiumStep2Title: "Cliquer sur Installer",
350
+ chromiumStep2Desc: "Cliquez sur l'icône et sélectionnez \"Installer\"",
351
+ chromiumStep3Title: "Confirmer",
352
+ chromiumStep3Desc: "Cliquez sur \"Installer\" dans la boîte de dialogue",
353
+ firefoxStep1Title: "Ouvrir le menu",
354
+ firefoxStep1Desc: "Cliquez sur le bouton de menu (trois lignes)",
355
+ firefoxStep2Title: "Trouver l'option d'installation",
356
+ firefoxStep2Desc: "Cherchez \"Installer\" ou \"Ajouter à l'écran d'accueil\"",
357
+ firefoxStep3Title: "Confirmer",
358
+ firefoxStep3Desc: "Suivez les instructions d'installation",
359
+ safariStep1Title: "Support limité",
360
+ safariStep1Desc: "Safari sur macOS a un support PWA limité",
361
+ safariStep2Title: "Utiliser un navigateur Chromium",
362
+ safariStep2Desc: "Envisagez d'utiliser Chrome, Edge ou Brave pour l'expérience PWA complète",
363
+ unknownStep1Title: "Vérifier la barre d'adresse",
364
+ unknownStep1Desc: "Cherchez une icône d'installation ou de téléchargement",
365
+ unknownStep2Title: "Ou utiliser le menu",
366
+ unknownStep2Desc: "Vérifiez le menu du navigateur pour l'option d'installation",
367
+ unknownStep3Title: "Confirmer",
368
+ unknownStep3Desc: "Suivez les instructions d'installation",
369
+ close: "Fermer",
398
370
  },
399
-
400
371
  profilePage: {
401
- title: 'Profil',
402
- account: 'Compte',
403
- personalInfo: 'Informations personnelles',
404
- work: 'Travail',
405
- security: 'Sécurité',
406
- actions: 'Actions',
407
- email: 'Email',
408
- firstName: 'Prénom',
409
- lastName: 'Nom',
410
- company: 'Entreprise',
411
- position: 'Poste',
412
- phone: 'Téléphone',
413
- notSet: 'Non défini',
414
- addFirstName: 'Ajouter un prénom',
415
- addLastName: 'Ajouter un nom',
416
- addPhone: 'Ajouter un numéro de téléphone',
417
- addCompany: 'Ajouter une entreprise',
418
- addPosition: 'Ajouter un poste',
419
- on: 'Activé',
420
- off: 'Désactivé',
421
- save: 'Enregistrer',
422
- saving: 'Enregistrement...',
423
- cancel: 'Annuler',
424
- signOut: 'Se déconnecter',
425
- deleteAccount: 'Supprimer le compte',
426
- deleting: 'Suppression...',
427
- twoFactorAuth: 'Authentification à deux facteurs',
428
- twoFactorEnabled: 'L\'authentification à deux facteurs est activée',
429
- twoFactorDisabled: 'Ajouter une couche de sécurité supplémentaire',
430
- enable2FA: 'Activer',
431
- avatar: 'Avatar',
432
- changeAvatar: 'Changer l\'avatar',
433
- memberSince: 'Membre depuis {date}',
434
- enterField: 'Entrer {field}',
435
- profileUpdated: 'Profil mis à jour',
436
- avatarUpdated: 'Avatar mis à jour',
437
- failedToUpdate: 'Échec de la mise à jour',
438
- failedToUploadAvatar: 'Échec du téléchargement de l\'avatar',
439
- selectImageFile: 'Veuillez sélectionner un fichier image',
440
- fileTooLarge: 'La taille du fichier doit être inférieure à 5 Mo',
441
- notAuthenticated: 'Non authentifié',
442
- pleaseLogIn: 'Veuillez vous connecter pour voir votre profil.',
443
- deleteAccountTitle: 'Supprimer le compte',
444
- deleteAccountDesc: 'Cette action est irréversible. Votre compte sera définitivement supprimé.',
445
- typeToConfirm: 'Tapez {word} pour confirmer:',
446
- confirmationWord: 'DELETE',
372
+ title: "Profil",
373
+ account: "Compte",
374
+ personalInfo: "Informations personnelles",
375
+ work: "Travail",
376
+ security: "Sécurité",
377
+ actions: "Actions",
378
+ email: "Email",
379
+ firstName: "Prénom",
380
+ lastName: "Nom",
381
+ company: "Entreprise",
382
+ position: "Poste",
383
+ phone: "Téléphone",
384
+ notSet: "Non défini",
385
+ addFirstName: "Ajouter un prénom",
386
+ addLastName: "Ajouter un nom",
387
+ addPhone: "Ajouter un numéro de téléphone",
388
+ addCompany: "Ajouter une entreprise",
389
+ addPosition: "Ajouter un poste",
390
+ on: "Activé",
391
+ off: "Désactivé",
392
+ save: "Enregistrer",
393
+ saving: "Enregistrement...",
394
+ cancel: "Annuler",
395
+ signOut: "Se déconnecter",
396
+ deleteAccount: "Supprimer le compte",
397
+ deleting: "Suppression...",
398
+ twoFactorAuth: "Authentification à deux facteurs",
399
+ twoFactorEnabled: "L'authentification à deux facteurs est activée",
400
+ twoFactorDisabled: "Ajouter une couche de sécurité supplémentaire",
401
+ enable2FA: "Activer",
402
+ avatar: "Avatar",
403
+ changeAvatar: "Changer l'avatar",
404
+ memberSince: "Membre depuis {date}",
405
+ enterField: "Entrer {field}",
406
+ profileUpdated: "Profil mis à jour",
407
+ avatarUpdated: "Avatar mis à jour",
408
+ failedToUpdate: "Échec de la mise à jour",
409
+ failedToUploadAvatar: "Échec du téléchargement de l'avatar",
410
+ selectImageFile: "Veuillez sélectionner un fichier image",
411
+ fileTooLarge: "La taille du fichier doit être inférieure à 5 Mo",
412
+ notAuthenticated: "Non authentifié",
413
+ pleaseLogIn: "Veuillez vous connecter pour voir votre profil.",
414
+ deleteAccountTitle: "Supprimer le compte",
415
+ deleteAccountDesc: "Cette action est irréversible. Votre compte sera définitivement supprimé.",
416
+ typeToConfirm: "Tapez {word} pour confirmer:",
417
+ confirmationWord: "DELETE",
447
418
  },
448
419
  },
449
-
450
420
  api: {
451
421
  errors: {
452
- networkError: 'Erreur réseau',
453
- connectionFailed: 'Échec de la connexion',
454
- requestTimeout: 'Délai de requête dépassé',
455
- serverUnavailable: 'Serveur indisponible',
456
- invalidResponse: 'Réponse invalide du serveur',
457
- rateLimited: 'Trop de requêtes. Veuillez patienter.',
422
+ networkError: "Erreur réseau",
423
+ connectionFailed: "Échec de la connexion",
424
+ requestTimeout: "Délai de requête dépassé",
425
+ serverUnavailable: "Serveur indisponible",
426
+ invalidResponse: "Réponse invalide du serveur",
427
+ rateLimited: "Trop de requêtes. Veuillez patienter.",
458
428
  },
459
429
  status: {
460
- connecting: 'Connexion...',
461
- connected: 'Connecté',
462
- disconnected: 'Déconnecté',
463
- reconnecting: 'Reconnexion...',
430
+ connecting: "Connexion...",
431
+ connected: "Connecté",
432
+ disconnected: "Déconnecté",
433
+ reconnecting: "Reconnexion...",
464
434
  },
465
435
  logout: {
466
- title: 'Déconnexion',
467
- message: 'Êtes-vous sûr de vouloir vous déconnecter?',
468
- confirm: 'Déconnexion',
469
- cancel: 'Annuler',
436
+ title: "Déconnexion",
437
+ message: "Êtes-vous sûr de vouloir vous déconnecter?",
438
+ confirm: "Déconnexion",
439
+ cancel: "Annuler",
470
440
  },
471
441
  },
472
-
473
442
  tools: {
474
443
  code: {
475
- copyCode: 'Copier le code',
476
- noContent: 'Aucun contenu disponible',
444
+ copyCode: "Copier le code",
445
+ noContent: "Aucun contenu disponible",
477
446
  },
478
-
479
447
  diagram: {
480
- title: 'Diagramme',
481
- clickToView: 'Cliquer pour voir en plein écran',
448
+ title: "Diagramme",
449
+ clickToView: "Cliquer pour voir en plein écran",
482
450
  },
483
-
484
451
  image: {
485
- noImage: 'Aucun contenu d\'image',
486
- failedToLoad: 'Échec du chargement de l\'image',
487
- zoomIn: 'Zoom avant',
488
- zoomOut: 'Zoom arrière',
489
- fitToView: 'Ajuster à la vue',
490
- flipHorizontal: 'Retourner horizontalement',
491
- flipVertical: 'Retourner verticalement',
492
- rotate: 'Rotation 90°',
493
- fullscreen: 'Ouvrir en plein écran',
452
+ noImage: "Aucun contenu d'image",
453
+ failedToLoad: "Échec du chargement de l'image",
454
+ zoomIn: "Zoom avant",
455
+ zoomOut: "Zoom arrière",
456
+ fitToView: "Ajuster à la vue",
457
+ flipHorizontal: "Retourner horizontalement",
458
+ flipVertical: "Retourner verticalement",
459
+ rotate: "Rotation 90°",
460
+ fullscreen: "Ouvrir en plein écran",
494
461
  },
495
-
496
462
  gallery: {
497
- noImages: 'Aucune image disponible',
498
- lightbox: 'Lightbox d\'images',
499
- previous: 'Image précédente',
500
- next: 'Image suivante',
501
- close: 'Fermer la lightbox',
502
- download: 'Télécharger l\'image',
503
- share: 'Partager l\'image',
463
+ noImages: "Aucune image disponible",
464
+ lightbox: "Lightbox d'images",
465
+ previous: "Image précédente",
466
+ next: "Image suivante",
467
+ close: "Fermer la lightbox",
468
+ download: "Télécharger l'image",
469
+ share: "Partager l'image",
504
470
  },
505
-
506
471
  video: {
507
- play: 'Lire la vidéo',
508
- fullscreen: 'Plein écran',
509
- unavailable: 'Vidéo indisponible',
472
+ play: "Lire la vidéo",
473
+ fullscreen: "Plein écran",
474
+ unavailable: "Vidéo indisponible",
510
475
  },
511
-
512
476
  audio: {
513
- restart: 'Recommencer',
514
- back: 'Reculer de 5 secondes',
515
- forward: 'Avancer de 5 secondes',
516
- volume: 'Volume',
477
+ restart: "Recommencer",
478
+ back: "Reculer de 5 secondes",
479
+ forward: "Avancer de 5 secondes",
480
+ volume: "Volume",
517
481
  },
518
-
519
482
  color: {
520
- pick: 'Choisir une couleur',
483
+ pick: "Choisir une couleur",
521
484
  },
522
-
523
485
  jsonForm: {
524
- validationErrors: 'Erreurs de validation',
525
- addItem: 'Ajouter un élément',
526
- addFirstItem: 'Ajouter le premier élément',
486
+ validationErrors: "Erreurs de validation",
487
+ addItem: "Ajouter un élément",
488
+ addFirstItem: "Ajouter le premier élément",
527
489
  noItems: "Aucun élément ajouté pour l'instant.",
528
490
  },
529
-
530
-
531
491
  openapi: {
532
- response: 'Réponse',
533
- noResponse: 'Aucun corps de réponse disponible',
534
- required: 'Requis',
535
- optional: 'Facultatif',
536
- searchEndpoints: 'Rechercher des endpoints...',
537
- all: 'Tous',
538
- methods: 'Méthodes',
539
- path: 'Chemin',
540
- description: 'Description',
541
- navigation: 'Navigation',
542
- previous: 'Précédent',
543
- next: 'Suivant',
544
- bearerToken: 'Entrer le token Bearer (optionnel, utilise JWT si vide)',
492
+ response: "Réponse",
493
+ noResponse: "Aucun corps de réponse disponible",
494
+ required: "Requis",
495
+ optional: "Facultatif",
496
+ searchEndpoints: "Rechercher des endpoints...",
497
+ all: "Tous",
498
+ methods: "Méthodes",
499
+ path: "Chemin",
500
+ description: "Description",
501
+ navigation: "Navigation",
502
+ previous: "Précédent",
503
+ next: "Suivant",
504
+ bearerToken: "Entrer le token Bearer (optionnel, utilise JWT si vide)",
545
505
  },
546
-
547
-
548
506
  tour: {
549
- next: 'Suivant',
550
- previous: 'Retour',
551
- skip: 'Passer',
552
- finish: 'Terminer',
553
- close: 'Fermer',
554
- stepOf: 'Étape {current} sur {total}',
507
+ next: "Suivant",
508
+ previous: "Retour",
509
+ skip: "Passer",
510
+ finish: "Terminer",
511
+ close: "Fermer",
512
+ stepOf: "Étape {current} sur {total}",
555
513
  },
556
-
557
514
  upload: {
558
- dragDrop: 'Glissez-déposez des fichiers ou cliquez pour parcourir',
559
- dropHere: 'Déposez les fichiers ici',
560
- maxSize: 'Max. {size}Mo par fichier',
561
- uploading: 'Téléchargement...',
562
- uploaded: 'Téléchargé',
563
- failed: 'Échec',
564
- retry: 'Réessayer',
565
- remove: 'Supprimer',
566
- cancel: 'Annuler',
567
- paused: 'En pause',
568
- pending: 'En attente',
515
+ dragDrop: "Glissez-déposez des fichiers ou cliquez pour parcourir",
516
+ dropHere: "Déposez les fichiers ici",
517
+ maxSize: "Max. {size}Mo par fichier",
518
+ uploading: "Téléchargement...",
519
+ uploaded: "Téléchargé",
520
+ failed: "Échec",
521
+ retry: "Réessayer",
522
+ remove: "Supprimer",
523
+ cancel: "Annuler",
524
+ paused: "En pause",
525
+ pending: "En attente",
569
526
  },
570
527
  form: {
571
- title: 'Formulaire',
528
+ title: "Formulaire",
572
529
  },
573
530
  },
574
531
  }