@object-ui/i18n 3.3.0 → 3.3.1

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 (53) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +21 -1
  3. package/dist/i18n.js +10 -1
  4. package/dist/locales/ar.d.ts +58 -0
  5. package/dist/locales/ar.js +58 -0
  6. package/dist/locales/de.d.ts +58 -0
  7. package/dist/locales/de.js +58 -0
  8. package/dist/locales/en.d.ts +78 -0
  9. package/dist/locales/en.js +78 -0
  10. package/dist/locales/es.d.ts +58 -0
  11. package/dist/locales/es.js +58 -0
  12. package/dist/locales/fr.d.ts +58 -0
  13. package/dist/locales/fr.js +58 -0
  14. package/dist/locales/index.d.ts +620 -0
  15. package/dist/locales/ja.d.ts +58 -0
  16. package/dist/locales/ja.js +58 -0
  17. package/dist/locales/ko.d.ts +58 -0
  18. package/dist/locales/ko.js +58 -0
  19. package/dist/locales/pt.d.ts +58 -0
  20. package/dist/locales/pt.js +58 -0
  21. package/dist/locales/ru.d.ts +58 -0
  22. package/dist/locales/ru.js +58 -0
  23. package/dist/locales/zh.d.ts +78 -0
  24. package/dist/locales/zh.js +78 -0
  25. package/dist/useObjectLabel.d.ts +46 -0
  26. package/dist/useObjectLabel.js +79 -12
  27. package/package.json +30 -7
  28. package/.turbo/turbo-build.log +0 -4
  29. package/src/__tests__/i18n.test.ts +0 -255
  30. package/src/__tests__/provider.test.tsx +0 -117
  31. package/src/__tests__/spec-formatters.test.ts +0 -208
  32. package/src/__tests__/useObjectLabel.test.tsx +0 -131
  33. package/src/i18n.ts +0 -98
  34. package/src/index.ts +0 -81
  35. package/src/locales/ar.ts +0 -742
  36. package/src/locales/de.ts +0 -755
  37. package/src/locales/en.ts +0 -836
  38. package/src/locales/es.ts +0 -741
  39. package/src/locales/fr.ts +0 -755
  40. package/src/locales/index.ts +0 -42
  41. package/src/locales/ja.ts +0 -752
  42. package/src/locales/ko.ts +0 -741
  43. package/src/locales/pt.ts +0 -741
  44. package/src/locales/ru.ts +0 -761
  45. package/src/locales/zh.ts +0 -835
  46. package/src/provider.tsx +0 -177
  47. package/src/useObjectLabel.ts +0 -122
  48. package/src/useSafeTranslation.ts +0 -49
  49. package/src/utils/formatting.ts +0 -136
  50. package/src/utils/index.ts +0 -21
  51. package/src/utils/spec-formatters.ts +0 -220
  52. package/tsconfig.json +0 -12
  53. package/tsconfig.tsbuildinfo +0 -1
package/src/locales/fr.ts DELETED
@@ -1,755 +0,0 @@
1
- /**
2
- * Français (fr) - French language pack for Object UI
3
- */
4
- const fr = {
5
- common: {
6
- loading: 'Chargement...',
7
- save: 'Enregistrer',
8
- cancel: 'Annuler',
9
- delete: 'Supprimer',
10
- edit: 'Modifier',
11
- create: 'Créer',
12
- search: 'Rechercher',
13
- filter: 'Filtrer',
14
- reset: 'Réinitialiser',
15
- confirm: 'Confirmer',
16
- close: 'Fermer',
17
- back: 'Retour',
18
- next: 'Suivant',
19
- previous: 'Précédent',
20
- submit: 'Soumettre',
21
- refresh: 'Actualiser',
22
- export: 'Exporter',
23
- import: 'Importer',
24
- yes: 'Oui',
25
- no: 'Non',
26
- ok: 'OK',
27
- actions: 'Actions',
28
- more: 'Plus',
29
- selectAll: 'Tout sélectionner',
30
- clearAll: 'Tout effacer',
31
- noData: 'Aucune donnée',
32
- noResults: 'Aucun résultat trouvé',
33
- required: 'Obligatoire',
34
- optional: 'Facultatif',
35
- selectOption: 'Sélectionner une option',
36
- select: 'Sélectionner...',
37
- },
38
- validation: {
39
- required: '{{field}} est obligatoire',
40
- minLength: '{{field}} doit contenir au moins {{min}} caractères',
41
- maxLength: '{{field}} doit contenir au plus {{max}} caractères',
42
- min: '{{field}} doit être au moins {{min}}',
43
- max: '{{field}} doit être au plus {{max}}',
44
- email: 'Veuillez saisir une adresse e-mail valide',
45
- url: 'Veuillez saisir une URL valide',
46
- pattern: 'Le format de {{field}} est invalide',
47
- unique: '{{field}} doit être unique',
48
- type: '{{field}} doit être un {{type}} valide',
49
- },
50
- form: {
51
- addItem: 'Ajouter un élément',
52
- removeItem: 'Supprimer un élément',
53
- fieldRequired: 'Ce champ est obligatoire',
54
- invalidFormat: 'Format invalide',
55
- saveSuccess: 'Enregistré avec succès',
56
- saveError: 'Échec de l\'enregistrement',
57
- unsavedChanges: 'Vous avez des modifications non enregistrées. Voulez-vous vraiment quitter ?',
58
- stepOf: 'Étape {{current}} sur {{total}}',
59
- createTitle: 'Créer {{object}}',
60
- editTitle: 'Modifier {{object}}',
61
- createDescription: 'Ajouter un nouveau {{object}} à votre base de données.',
62
- editDescription: 'Mettre à jour les détails de {{object}}',
63
- saveRecord: 'Enregistrer',
64
- },
65
- table: {
66
- rowsPerPage: 'Lignes par page',
67
- showing: 'Affichage de {{from}} à {{to}} sur {{total}}',
68
- noRows: 'Aucune ligne à afficher',
69
- sortAsc: 'Tri croissant',
70
- sortDesc: 'Tri décroissant',
71
- filterColumn: 'Filtrer {{column}}',
72
- columns: 'Colonnes',
73
- exportCSV: 'Exporter en CSV',
74
- exportExcel: 'Exporter en Excel',
75
- selectRow: 'Sélectionner la ligne',
76
- selectAllRows: 'Sélectionner toutes les lignes',
77
- expandRow: 'Développer la ligne',
78
- collapseRow: 'Réduire la ligne',
79
- hideColumn: 'Masquer la colonne',
80
- freezeColumn: 'Figer la colonne',
81
- unfreezeColumn: 'Libérer la colonne',
82
- pageInfo: 'Page {{current}} sur {{total}}',
83
- totalRecords: '{{count}} au total',
84
- },
85
- grid: {
86
- actions: 'Actions',
87
- edit: 'Modifier',
88
- delete: 'Supprimer',
89
- export: 'Exporter',
90
- exportAs: 'Exporter en {{format}}',
91
- loading: 'Chargement de la grille...',
92
- errorLoading: 'Erreur de chargement de la grille',
93
- pullToRefresh: 'Tirer pour actualiser',
94
- refreshing: 'Actualisation…',
95
- openRecord: 'Ouvrir l\'enregistrement',
96
- rowHeight: 'Hauteur de ligne : {{mode}}',
97
- },
98
- calendar: {
99
- today: 'Aujourd\'hui',
100
- month: 'Mois',
101
- week: 'Semaine',
102
- day: 'Jour',
103
- agenda: 'Agenda',
104
- allDay: 'Toute la journée',
105
- noEvents: 'Aucun événement',
106
- newEvent: 'Nouvel événement',
107
- moreEvents: '+{{count}} de plus',
108
- },
109
- list: {
110
- recordCount: '{{count}} enregistrements',
111
- recordCountOne: '{{count}} enregistrement',
112
- addRecord: 'Ajouter un enregistrement',
113
- tabs: 'Onglets',
114
- allRecords: 'Tous les enregistrements',
115
- search: 'Rechercher',
116
- filter: 'Filtrer',
117
- filterRecords: 'Filtrer les enregistrements',
118
- sort: 'Trier',
119
- sortRecords: 'Trier les enregistrements',
120
- group: 'Grouper',
121
- groupBy: 'Grouper par',
122
- export: 'Exporter',
123
- exportAs: 'Exporter en {{format}}',
124
- color: 'Couleur',
125
- rowColor: 'Couleur de ligne',
126
- colorByField: 'Colorer par champ',
127
- clear: 'Effacer',
128
- none: 'Aucun',
129
- hideFields: 'Masquer les champs',
130
- noItems: 'Aucun élément trouvé',
131
- noItemsMessage: "Il n'y a aucun enregistrement à afficher. Essayez d'ajuster les filtres ou d'ajouter de nouvelles données.",
132
- },
133
- kanban: {
134
- addCard: 'Ajouter une carte',
135
- addColumn: 'Ajouter une colonne',
136
- moveCard: 'Déplacer la carte',
137
- deleteCard: 'Supprimer la carte',
138
- deleteColumn: 'Supprimer la colonne',
139
- },
140
- view: {
141
- rename: 'Renommer',
142
- duplicateView: 'Dupliquer la vue',
143
- shareView: 'Partager la vue',
144
- setAsDefault: 'Définir par défaut',
145
- pinView: 'Épingler la vue',
146
- unpinView: 'Désépingler la vue',
147
- changeViewType: 'Changer le type de vue',
148
- deleteView: 'Supprimer la vue',
149
- addView: 'Ajouter une vue',
150
- unsavedChanges: 'Modifications non enregistrées',
151
- saveAsView: 'Enregistrer comme vue',
152
- moreViews: '{{count}} de plus',
153
- activeFilters: 'Filtres actifs',
154
- activeSort: 'Tri actif',
155
- },
156
- detail: {
157
- back: 'Retour',
158
- edit: 'Modifier',
159
- editInline: 'Modifier en ligne',
160
- save: 'Enregistrer',
161
- saveChanges: 'Enregistrer les modifications',
162
- editFieldsInline: 'Modifier les champs en ligne',
163
- share: 'Partager',
164
- duplicate: 'Dupliquer',
165
- export: 'Exporter',
166
- viewHistory: "Voir l'historique",
167
- delete: 'Supprimer',
168
- moreActions: "Plus d'actions",
169
- addToFavorites: 'Ajouter aux favoris',
170
- removeFromFavorites: 'Retirer des favoris',
171
- previousRecord: 'Enregistrement précédent',
172
- nextRecord: 'Enregistrement suivant',
173
- recordOf: '{{current}} sur {{total}}',
174
- recordNotFound: 'Enregistrement introuvable',
175
- recordNotFoundDescription: "L'enregistrement que vous recherchez n'existe pas ou a peut-être été supprimé.",
176
- goBack: 'Retour',
177
- details: 'Détails',
178
- related: 'Associés',
179
- relatedRecords: '{{count}} enregistrements',
180
- relatedRecordOne: '{{count}} enregistrement',
181
- noRelatedRecords: 'Aucun enregistrement associé trouvé',
182
- loading: 'Chargement...',
183
- copyToClipboard: 'Copier dans le presse-papiers',
184
- copied: 'Copié !',
185
- deleteConfirmation: 'Êtes-vous sûr de vouloir supprimer cet enregistrement ?',
186
- editRecord: "Modifier l'enregistrement",
187
- viewAll: 'Tout afficher',
188
- new: 'Nouveau',
189
- emptyValue: '—',
190
- // Comments
191
- comments: 'Commentaires',
192
- searchComments: 'Rechercher des commentaires…',
193
- addCommentPlaceholder: 'Ajouter un commentaire… (Ctrl+Entrée pour envoyer)',
194
- noMatchingComments: 'Aucun commentaire correspondant',
195
- noCommentsYet: 'Aucun commentaire pour le moment',
196
- pinned: 'Épinglé',
197
- pin: 'Épingler',
198
- unpin: 'Désépingler',
199
- justNow: 'à l\'instant',
200
- minutesAgo: 'il y a {{count}} min',
201
- hoursAgo: 'il y a {{count}} h',
202
- daysAgo: 'il y a {{count}} j',
203
- // Attachments
204
- dropFilesToUpload: 'Déposez les fichiers ici ou cliquez pour télécharger',
205
- attachmentCount: '{{count}} pièce jointe',
206
- attachmentCountPlural: '{{count}} pièces jointes',
207
- removeAttachment: 'Supprimer la pièce jointe',
208
- // Diff
209
- unifiedDiff: 'Vue unifiée',
210
- sideBySideDiff: 'Vue côte à côte',
211
- noChanges: 'Aucune modification',
212
- previousVersion: 'Précédent',
213
- currentVersion: 'Actuel',
214
- // Discussion
215
- discussion: 'Discussion',
216
- showDiscussion: 'Afficher la discussion ({{count}})',
217
- hideDiscussion: 'Masquer la discussion',
218
- // Rich text editor
219
- bold: 'Gras (Ctrl+B)',
220
- italic: 'Italique (Ctrl+I)',
221
- listFormat: 'Liste',
222
- inlineCode: 'Code en ligne',
223
- mentionSomeone: 'Mentionner quelqu\'un',
224
- preview: 'Aperçu',
225
- submitComment: 'Envoyer (Ctrl+Entrée)',
226
- writeComment: 'Écrire un commentaire…',
227
- // Subscription
228
- subscribedTooltip: 'Abonné — cliquez pour vous désabonner',
229
- unsubscribedTooltip: 'S\'abonner aux notifications',
230
- // Navigation
231
- firstRecord: 'Premier enregistrement (Début)',
232
- previousRecordKey: 'Enregistrement précédent (←)',
233
- nextRecordKey: 'Enregistrement suivant (→)',
234
- lastRecord: 'Dernier enregistrement (Fin)',
235
- noRecords: 'Aucun enregistrement',
236
- searchWhileNavigating: 'Rechercher pendant la navigation',
237
- searchRecords: 'Rechercher des enregistrements…',
238
- // Activity timeline
239
- allActivity: 'Toute l\'activité',
240
- commentsOnly: 'Commentaires uniquement',
241
- fieldChangesFilter: 'Modifications de champs',
242
- tasksOnly: 'Tâches uniquement',
243
- leaveCommentPlaceholder: 'Laisser un commentaire… (Ctrl+Entrée pour envoyer)',
244
- noActivity: 'Aucune activité enregistrée',
245
- loadMore: 'Charger plus',
246
- edited: '(modifié)',
247
- via: 'via {{source}}',
248
- // Replies
249
- replyCount: '{{count}} réponse',
250
- replyCountPlural: '{{count}} réponses',
251
- replyPlaceholder: 'Répondre…',
252
- filterActivity: 'Filtrer l\'activité',
253
- openDiscussion: 'Ouvrir le panneau de discussion',
254
- closeDiscussion: 'Fermer le panneau de discussion',
255
- subscribeAriaLabel: 'S\'abonner aux notifications',
256
- unsubscribeAriaLabel: 'Se désabonner des notifications',
257
- clearSearch: 'Effacer la recherche',
258
- },
259
- chart: {
260
- noData: 'Aucune donnée de graphique disponible',
261
- loading: 'Chargement du graphique...',
262
- },
263
- map: {
264
- searchLocations: 'Rechercher des lieux…',
265
- locationDetails: 'Détails du lieu',
266
- markersCount: '{{count}} marqueurs',
267
- invalidCoordinates: '{{count}} enregistrement avec des coordonnées manquantes ou invalides exclu de la carte.',
268
- invalidCoordinatesPlural: '{{count}} enregistrements avec des coordonnées manquantes ou invalides exclus de la carte.',
269
- },
270
- workflow: {
271
- draft: 'Brouillon',
272
- active: 'Actif',
273
- paused: 'En pause',
274
- completed: 'Terminé',
275
- cancelled: 'Annulé',
276
- save: 'Enregistrer',
277
- publish: 'Publier',
278
- addNode: 'Ajouter un nœud',
279
- workflowFlow: 'Flux de travail',
280
- properties: 'Propriétés',
281
- connections: 'Connexions',
282
- quickConnect: 'Connexion rapide',
283
- fromPlaceholder: 'De...',
284
- toPlaceholder: 'Vers...',
285
- connect: 'Connecter',
286
- label: 'Libellé',
287
- type: 'Type',
288
- description: 'Description',
289
- assignee: 'Responsable',
290
- assigneeType: 'Type de responsable',
291
- user: 'Utilisateur',
292
- role: 'Rôle',
293
- group: 'Groupe',
294
- expression: 'Expression',
295
- timeoutMinutes: 'Délai (minutes)',
296
- selectNodeToEdit: 'Sélectionnez un nœud pour modifier ses propriétés',
297
- workflowTitle: 'Titre du workflow',
298
- newWorkflow: 'Nouveau workflow',
299
- outConnections: '{{count}} sortie(s)',
300
- start: 'Début',
301
- end: 'Fin',
302
- task: 'Tâche',
303
- userTask: 'Tâche utilisateur',
304
- serviceTask: 'Tâche service',
305
- scriptTask: 'Tâche script',
306
- approval: 'Approbation',
307
- condition: 'Condition',
308
- parallelGateway: 'Passerelle parallèle',
309
- joinGateway: 'Passerelle de jonction',
310
- boundaryEvent: 'Événement limite',
311
- delay: 'Délai',
312
- notification: 'Notification',
313
- webhook: 'Webhook',
314
- allowConcurrency: 'Autoriser (exécution simultanée)',
315
- forbidConcurrency: 'Interdire (ignorer les nouveaux)',
316
- replaceConcurrency: 'Remplacer (annuler les existants)',
317
- queueConcurrency: 'File d\'attente (exécuter après)',
318
- conditionEvent: 'Condition',
319
- manualEvent: 'Manuel',
320
- webhookEvent: 'Webhook',
321
- timerEvent: 'Minuterie',
322
- signalEvent: 'Signal',
323
- versionHistory: 'Historique des versions',
324
- importBpmn: 'Importer BPMN',
325
- exportBpmn: 'Exporter BPMN',
326
- undo: 'Annuler',
327
- redo: 'Rétablir',
328
- resetZoom: 'Réinitialiser le zoom',
329
- },
330
- dashboard: {
331
- addWidget: 'Ajouter un widget',
332
- removeWidget: 'Supprimer un widget',
333
- editLayout: 'Modifier la mise en page',
334
- saveLayout: 'Enregistrer la mise en page',
335
- resetLayout: 'Réinitialiser la mise en page',
336
- },
337
- configPanel: {
338
- save: 'Enregistrer',
339
- discard: 'Annuler',
340
- close: 'Fermer',
341
- layout: 'Disposition',
342
- columns: 'Colonnes',
343
- gap: 'Espacement',
344
- rowHeight: 'Hauteur de ligne',
345
- data: 'Données',
346
- refreshInterval: 'Intervalle de rafraîchissement',
347
- appearance: 'Apparence',
348
- title: 'Titre',
349
- showDescription: 'Afficher la description',
350
- theme: 'Thème',
351
- configuration: 'Configuration',
352
- general: 'Général',
353
- advanced: 'Avancé',
354
- },
355
- appDesigner: {
356
- createApp: 'Créer une application',
357
- editApp: "Modifier l'application",
358
- basicInfo: 'Informations de base',
359
- objects: 'Objets',
360
- navigation: 'Navigation',
361
- branding: 'Marque',
362
- appName: "Nom de l'application",
363
- appTitle: 'Titre',
364
- appDescription: 'Description',
365
- appIcon: 'Icône',
366
- template: 'Modèle',
367
- layout: 'Disposition',
368
- layoutSidebar: 'Barre latérale',
369
- layoutHeader: 'En-tête',
370
- layoutEmpty: 'Vide',
371
- selectObjects: 'Sélectionner les objets',
372
- searchObjects: 'Rechercher des objets…',
373
- selectAll: 'Tout sélectionner',
374
- deselectAll: 'Tout désélectionner',
375
- navBuilder: 'Constructeur de navigation',
376
- addGroup: 'Ajouter un groupe',
377
- addUrl: 'Ajouter un URL',
378
- addSeparator: 'Ajouter un séparateur',
379
- noNavItems: 'Aucun élément de navigation.',
380
- logoUrl: 'URL du logo',
381
- primaryColor: 'Couleur principale',
382
- faviconUrl: 'URL du favicon',
383
- preview: 'Aperçu',
384
- complete: 'Terminer',
385
- snakeCaseHint: 'Doit être en snake_case (ex. my_app)',
386
- modeEdit: 'Éditer',
387
- modePreview: 'Aperçu',
388
- modeCode: 'Code',
389
- addWidget: 'Ajouter un widget',
390
- widgetProperties: 'Propriétés du widget',
391
- dataSource: 'Source de données',
392
- valueField: 'Champ de valeur',
393
- aggregate: 'Agrégat',
394
- colorVariant: 'Variante de couleur',
395
- addComponent: 'Ajouter un composant',
396
- componentProperties: 'Propriétés du composant',
397
- viewType: 'Type de vue',
398
- fields: 'Champs',
399
- toolbar: "Barre d'outils",
400
- showSearch: 'Afficher la recherche',
401
- showFilters: 'Afficher les filtres',
402
- showSort: 'Afficher le tri',
403
- appearance: 'Apparence',
404
- rowHeight: 'Hauteur de ligne',
405
- stripedRows: 'Lignes rayées',
406
- bordered: 'Bordé',
407
- livePreview: 'Aperçu en direct',
408
- stepBasicDesc: 'Nom, titre et mise en page',
409
- stepObjectsDesc: 'Sélectionner les objets métier',
410
- stepNavigationDesc: "Construire l'arbre de navigation",
411
- stepBrandingDesc: 'Logo, couleurs et favicon',
412
- noObjectsFound: 'Aucun objet trouvé.',
413
- noNavItemsHint: "Pas encore d'éléments de navigation. Sélectionnez des objets à l'étape précédente ou ajoutez-en manuellement.",
414
- separator: 'Séparateur',
415
- separatorLabel: '— Séparateur —',
416
- newGroup: 'Nouveau groupe',
417
- newLink: 'Nouveau lien',
418
- saveDraft: 'Enregistrer le brouillon',
419
- cancelConfirmTitle: 'Abandonner les modifications ?',
420
- cancelConfirmMessage: 'Vous avez des modifications non enregistrées. Êtes-vous sûr de vouloir annuler ?',
421
- confirmDiscard: 'Abandonner',
422
- keepEditing: 'Continuer à éditer',
423
- navNoItems: 'Aucun élément de navigation. Cliquez sur les boutons ci-dessus pour ajouter des éléments.',
424
- navNoPreviewItems: 'Aucun élément',
425
- navLivePreview: 'Aperçu en direct',
426
- navCollapseGroup: 'Réduire le groupe',
427
- navExpandGroup: 'Développer le groupe',
428
- navAddChild: 'Ajouter un enfant',
429
- navMoveUp: 'Monter',
430
- navMoveDown: 'Descendre',
431
- navRemove: 'Supprimer',
432
- navObjectPage: "Page d'objet",
433
- navDashboard: 'Tableau de bord',
434
- navPage: 'Page',
435
- navReport: 'Rapport',
436
- navGroup: 'Groupe',
437
- navUrl: 'URL',
438
- navSeparator: 'Séparateur',
439
- navTypeObject: 'Objet',
440
- navTypeDashboard: 'Tableau de bord',
441
- navTypePage: 'Page',
442
- navTypeReport: 'Rapport',
443
- navTypeUrl: 'URL',
444
- navTypeGroup: 'Groupe',
445
- navTypeSeparator: 'Séparateur',
446
- navTypeAction: 'Action',
447
- navEditIcon: 'Modifier l\'icône',
448
- navToggleVisible: 'Basculer la visibilité',
449
- navHidden: 'Masqué',
450
- navExportSchema: 'Exporter JSON',
451
- navImportSchema: 'Importer JSON',
452
- navExportSuccess: 'Structure de navigation exportée',
453
- navImportSuccess: 'Structure de navigation importée',
454
- navImportError: 'JSON de navigation invalide',
455
- navIconPlaceholder: 'Nom d\'icône (ex: Users)',
456
- dashboardEditor: 'Éditeur de tableau de bord',
457
- noWidgets: 'Aucun widget. Cliquez sur un bouton ci-dessus pour en ajouter un.',
458
- widgetLayoutSize: 'Taille de mise en page',
459
- widgetWidth: 'Largeur',
460
- widgetHeight: 'Hauteur',
461
- dashboardPreview: 'Aperçu du tableau de bord',
462
- noWidgetsPreview: 'Aucun widget à prévisualiser',
463
- pageCanvasEditor: 'Éditeur de canevas de page',
464
- emptyPage: 'Page vide. Cliquez sur un bouton ci-dessus pour ajouter un composant.',
465
- pagePreview: 'Aperçu de la page',
466
- noComponentsPreview: 'Aucun composant à prévisualiser',
467
- modePage: 'Page',
468
- modeDashboard: 'Tableau de bord',
469
- undo: 'Annuler',
470
- redo: 'Rétablir',
471
- brandingEditor: 'Éditeur de marque',
472
- brandingExport: 'Exporter JSON',
473
- brandingImport: 'Importer JSON',
474
- brandingPreview: 'Aperçu',
475
- brandingSampleButton: 'Bouton exemple',
476
- brandingSampleText: 'Voici à quoi ressemblera votre thème de marque.',
477
- colorPalette: 'Palette de couleurs',
478
- fontFamily: 'Police',
479
- fontDefault: 'Par défaut (Système)',
480
- modeLight: 'Clair',
481
- modeDark: 'Sombre',
482
- mobilePreview: 'Aperçu mobile',
483
- objectManager: {
484
- title: 'Gestionnaire d\'objets',
485
- addObject: 'Nouvel objet',
486
- searchPlaceholder: 'Rechercher des objets…',
487
- noObjects: 'Aucun objet trouvé.',
488
- objectName: 'Nom API',
489
- objectLabel: 'Libellé',
490
- pluralLabel: 'Libellé pluriel',
491
- icon: 'Icône',
492
- selectIcon: 'Sélectionner une icône…',
493
- group: 'Groupe',
494
- noGroup: 'Aucun groupe',
495
- sortOrder: 'Ordre de tri',
496
- enabled: 'Activé',
497
- relationships: 'Relations',
498
- systemBadge: 'Système',
499
- fieldCount: '{{count}} champs',
500
- ungrouped: 'Non groupé',
501
- deleteConfirmTitle: 'Supprimer l\'objet ?',
502
- deleteConfirmMessage: 'L\'objet et tous ses champs seront définitivement supprimés. Cette action est irréversible.',
503
- },
504
- fieldDesigner: {
505
- title: 'Concepteur de champs',
506
- addField: 'Nouveau champ',
507
- searchPlaceholder: 'Rechercher des champs…',
508
- allTypes: 'Tous les types',
509
- noFields: 'Aucun champ trouvé.',
510
- fieldName: 'Nom API',
511
- fieldLabel: 'Libellé',
512
- fieldType: 'Type',
513
- fieldGroup: 'Groupe',
514
- description: 'Description',
515
- required: 'Obligatoire',
516
- unique: 'Unique',
517
- readOnly: 'Lecture seule',
518
- hidden: 'Masqué',
519
- indexed: 'Indexé',
520
- externalId: 'ID externe',
521
- trackHistory: 'Suivi de l\'historique',
522
- defaultValue: 'Valeur par défaut',
523
- placeholder: 'Texte indicatif',
524
- referenceTo: 'Référence vers',
525
- formula: 'Formule',
526
- options: 'Options',
527
- addOption: 'Ajouter une option',
528
- validationRules: 'Règles de validation',
529
- addRule: 'Ajouter une règle',
530
- systemBadge: 'Système',
531
- ungrouped: 'Général',
532
- deleteConfirmTitle: 'Supprimer le champ ?',
533
- deleteConfirmMessage: 'Le champ sera définitivement supprimé. Les données existantes seront perdues.',
534
- },
535
- },
536
- console: {
537
- title: 'Console ObjectStack',
538
- initializing: "Initialisation de l'application...",
539
- breadcrumb: {
540
- dashboards: 'Tableaux de bord',
541
- pages: 'Pages',
542
- reports: 'Rapports',
543
- system: 'Système',
544
- },
545
- loadingSteps: {
546
- connecting: 'Connexion à la source de données',
547
- loadingConfig: 'Chargement de la configuration',
548
- preparingWorkspace: "Préparation de l'espace de travail",
549
- },
550
- shortcuts: {
551
- title: 'Raccourcis clavier',
552
- description: 'Référence rapide de tous les raccourcis clavier disponibles.',
553
- groups: {
554
- general: 'Général',
555
- navigation: 'Navigation',
556
- dataViews: 'Vues de données',
557
- preferences: 'Préférences',
558
- },
559
- openCommandPalette: 'Ouvrir la palette de commandes',
560
- showShortcuts: 'Afficher les raccourcis clavier',
561
- closeDialog: 'Fermer le dialogue / panneau',
562
- toggleSidebar: 'Basculer la barre latérale',
563
- focusSearch: 'Focus sur la recherche',
564
- createRecord: 'Créer un nouvel enregistrement',
565
- refreshData: 'Actualiser les données',
566
- editRecord: "Modifier l'enregistrement sélectionné",
567
- toggleDarkMode: 'Basculer le mode sombre',
568
- },
569
- commandPalette: {
570
- placeholder: 'Tapez une commande ou recherchez...',
571
- noResults: 'Aucun résultat trouvé.',
572
- objects: 'Objets',
573
- dashboards: 'Tableaux de bord',
574
- pages: 'Pages',
575
- reports: 'Rapports',
576
- switchApp: "Changer d'application",
577
- current: 'Actuel',
578
- preferences: 'Préférences',
579
- lightTheme: 'Thème clair',
580
- darkTheme: 'Thème sombre',
581
- systemTheme: 'Thème système',
582
- actions: 'Actions',
583
- openFullSearch: 'Ouvrir la page de recherche complète',
584
- createApp: 'Créer une nouvelle application',
585
- },
586
- errors: {
587
- somethingWentWrong: "Quelque chose s'est mal passé",
588
- unexpectedError: 'Une erreur inattendue est survenue lors du rendu de cette vue.',
589
- tryAgain: 'Réessayer',
590
- goHome: "Retour à l'accueil",
591
- errorDetails: 'Détails de l\'erreur (développement uniquement)',
592
- },
593
- theme: {
594
- toggle: 'Changer de thème',
595
- light: 'Clair',
596
- dark: 'Sombre',
597
- system: 'Système',
598
- },
599
- objectView: {
600
- objectNotFound: 'Objet introuvable',
601
- objectNotFoundDescription: 'L\'objet « {{objectName}} » n\'existe pas dans la configuration actuelle.',
602
- objectNotFoundHint: 'Vérifiez les paramètres de navigation de votre application ou sélectionnez un autre objet dans la barre latérale.',
603
- allRecords: 'Tous les enregistrements',
604
- exitDesignMode: 'Quitter le mode conception',
605
- enterDesignMode: 'Entrer en mode conception',
606
- metadataInspector: 'Inspecteur de métadonnées',
607
- editView: 'Modifier la vue',
608
- addView: 'Ajouter une vue',
609
- designTools: 'Outils de conception',
610
- new: 'Nouveau',
611
- configureView: 'Configurer la vue',
612
- closePanel: 'Fermer le panneau',
613
- page: 'Page',
614
- pageConfigHint: 'Barre d\'outils, navigation et paramètres du shell de vue',
615
- listConfigHint: 'Rendu des données, colonnes et apparence pour ce type de liste',
616
- general: 'Général',
617
- generalHint: 'Titre, description et type de la vue',
618
- toolbar: 'Barre d\'outils',
619
- toolbarHint: 'Recherche, filtre, tri, regroupement et bascule de densité',
620
- toolbarEnabledCount: '{{count}} sur {{total}} activés',
621
- navigationSection: 'Navigation',
622
- navigationHint: 'Comportement au clic sur la ligne et paramètres de la vue détaillée',
623
- records: 'Enregistrements',
624
- recordsHint: 'Mode de sélection, ajout d\'enregistrement et édition en ligne',
625
- exportPrint: 'Export et impression',
626
- exportPrintHint: 'Formats d\'export, impression et affichage du nombre d\'enregistrements',
627
- showAllFields: 'Tout afficher',
628
- hideAllFields: 'Tout masquer',
629
- searchFields: 'Rechercher des champs...',
630
- title: 'Titre',
631
- description: 'Description',
632
- data: 'Données',
633
- source: 'Source',
634
- columns: 'Colonnes',
635
- filterBy: 'Filtrer par',
636
- sortBy: 'Trier par',
637
- appearance: 'Apparence',
638
- showDescription: 'Afficher la description',
639
- viewType: 'Type de vue',
640
- userFilters: 'Filtres utilisateur',
641
- enableSearch: 'Activer la recherche',
642
- enableFilter: 'Activer le filtre',
643
- enableSort: 'Activer le tri',
644
- enableHideFields: 'Activer masquer les champs',
645
- enableGroup: 'Activer le regroupement',
646
- enableColor: 'Activer la couleur',
647
- enableDensity: 'Activer la densité',
648
- userActions: 'Actions utilisateur',
649
- addRecordViaForm: 'Ajouter des enregistrements via un formulaire',
650
- advanced: 'Avancé',
651
- allowExport: 'Autoriser l\'exportation',
652
- recordCount: '{{count}} enregistrements',
653
- noDescription: 'Aucune description',
654
- none: 'Aucun',
655
- columnsConfigured: '{{count}} colonnes',
656
- save: 'Enregistrer',
657
- discard: 'Annuler',
658
- createView: 'Créer une vue',
659
- newView: 'Nouvelle vue',
660
- typeOptions: 'Options de type',
661
- groupByField: 'Champ de regroupement',
662
- startDateField: 'Champ de date de début',
663
- titleField: 'Champ de titre',
664
- latitudeField: 'Champ de latitude',
665
- longitudeField: 'Champ de longitude',
666
- imageField: "Champ d'image",
667
- dateField: 'Champ de date',
668
- selectField: 'Sélectionner un champ...',
669
- gridOptionsHint: 'La vue grille utilise les colonnes configurées ci-dessus.',
670
- groupBy: 'Regrouper par',
671
- prefixField: 'Champ de préfixe',
672
- fields: 'Champs',
673
- fieldsVisible: '{{count}} visibles',
674
- sortsCount: '{{count}} tris',
675
- filtersCount: '{{count}} filtres',
676
- endDateField: 'Champ de date de fin',
677
- color: 'Couleur',
678
- fieldTextColor: 'Couleur du texte du champ',
679
- rowHeight: 'Hauteur de ligne',
680
- wrapHeaders: 'Retour à la ligne des en-têtes',
681
- showFieldDescriptions: 'Afficher les descriptions des champs',
682
- collapseAllByDefault: 'Tout réduire par défaut',
683
- striped: 'Lignes rayées',
684
- bordered: 'Cellules bordées',
685
- inlineEdit: 'Modifier les enregistrements en ligne',
686
- addDeleteRecordsInline: 'Ajouter/supprimer des enregistrements en ligne',
687
- clickIntoRecordDetails: "Cliquer pour les détails de l'enregistrement",
688
- navigationMode: 'Mode de navigation',
689
- navigationWidth: 'Largeur de navigation',
690
- navigationWidthHint: 'Disponible pour les modes de navigation tiroir, modale et partagée',
691
- openNewTab: 'Ouvrir dans un nouvel onglet',
692
- openNewTabHint: 'Disponible pour les modes de navigation page et nouvelle fenêtre',
693
- },
694
- localeSwitcher: {
695
- label: 'Langue',
696
- },
697
- },
698
- auth: {
699
- login: {
700
- title: 'Connectez-vous à votre compte',
701
- description: 'Entrez votre e-mail et votre mot de passe pour continuer',
702
- emailLabel: 'E-mail',
703
- emailPlaceholder: 'name@example.com',
704
- passwordLabel: 'Mot de passe',
705
- passwordPlaceholder: 'Entrez votre mot de passe',
706
- forgotPasswordText: 'Mot de passe oublié ?',
707
- submitButton: 'Se connecter',
708
- submittingButton: 'Connexion en cours...',
709
- noAccountText: "Vous n'avez pas de compte ?",
710
- signUpText: "S'inscrire",
711
- },
712
- register: {
713
- title: 'Créer un compte',
714
- description: 'Entrez vos informations pour commencer',
715
- nameLabel: 'Nom',
716
- namePlaceholder: 'Jean Dupont',
717
- emailLabel: 'E-mail',
718
- emailPlaceholder: 'name@example.com',
719
- passwordLabel: 'Mot de passe',
720
- passwordPlaceholder: 'Créer un mot de passe (min. 8 caractères)',
721
- confirmPasswordLabel: 'Confirmer le mot de passe',
722
- confirmPasswordPlaceholder: 'Confirmez votre mot de passe',
723
- passwordMismatchError: 'Les mots de passe ne correspondent pas',
724
- passwordTooShortError: 'Le mot de passe doit contenir au moins 8 caractères',
725
- submitButton: 'Créer un compte',
726
- submittingButton: 'Création du compte...',
727
- hasAccountText: 'Vous avez déjà un compte ?',
728
- signInText: 'Se connecter',
729
- },
730
- forgotPassword: {
731
- title: 'Réinitialiser votre mot de passe',
732
- description: 'Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe',
733
- emailLabel: 'E-mail',
734
- emailPlaceholder: 'name@example.com',
735
- submitButton: 'Envoyer le lien de réinitialisation',
736
- submittingButton: 'Envoi en cours...',
737
- successTitle: 'Vérifiez vos e-mails',
738
- successDescription: 'Nous avons envoyé un lien de réinitialisation du mot de passe à {{email}}. Veuillez vérifier votre boîte de réception.',
739
- backToSignInText: 'Retour à la connexion',
740
- rememberPasswordText: 'Vous vous souvenez de votre mot de passe ?',
741
- signInText: 'Se connecter',
742
- },
743
- },
744
- errors: {
745
- networkError: 'Erreur réseau. Veuillez vérifier votre connexion.',
746
- serverError: 'Erreur serveur. Veuillez réessayer plus tard.',
747
- notFound: 'Ressource introuvable.',
748
- unauthorized: 'Vous n\'êtes pas autorisé à effectuer cette action.',
749
- forbidden: 'Accès refusé.',
750
- timeout: 'Délai d\'attente dépassé. Veuillez réessayer.',
751
- unknown: 'Une erreur inattendue s\'est produite.',
752
- },
753
- } as const;
754
-
755
- export default fr;