@object-ui/i18n 3.1.4 → 3.3.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 (42) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/locales/ar.d.ts +202 -1
  6. package/dist/locales/ar.js +202 -1
  7. package/dist/locales/de.d.ts +202 -1
  8. package/dist/locales/de.js +211 -1
  9. package/dist/locales/en.d.ts +201 -0
  10. package/dist/locales/en.js +211 -0
  11. package/dist/locales/es.d.ts +202 -1
  12. package/dist/locales/es.js +202 -1
  13. package/dist/locales/fr.d.ts +202 -1
  14. package/dist/locales/fr.js +211 -1
  15. package/dist/locales/index.d.ts +2041 -9
  16. package/dist/locales/ja.d.ts +213 -1
  17. package/dist/locales/ja.js +213 -1
  18. package/dist/locales/ko.d.ts +202 -1
  19. package/dist/locales/ko.js +202 -1
  20. package/dist/locales/pt.d.ts +202 -1
  21. package/dist/locales/pt.js +202 -1
  22. package/dist/locales/ru.d.ts +213 -1
  23. package/dist/locales/ru.js +222 -1
  24. package/dist/locales/zh.d.ts +202 -1
  25. package/dist/locales/zh.js +212 -1
  26. package/dist/useSafeTranslation.d.ts +5 -0
  27. package/dist/useSafeTranslation.js +46 -0
  28. package/package.json +6 -6
  29. package/src/__tests__/i18n.test.ts +27 -0
  30. package/src/index.ts +3 -0
  31. package/src/locales/ar.ts +202 -1
  32. package/src/locales/de.ts +211 -1
  33. package/src/locales/en.ts +211 -0
  34. package/src/locales/es.ts +202 -1
  35. package/src/locales/fr.ts +211 -1
  36. package/src/locales/ja.ts +213 -1
  37. package/src/locales/ko.ts +202 -1
  38. package/src/locales/pt.ts +202 -1
  39. package/src/locales/ru.ts +222 -1
  40. package/src/locales/zh.ts +212 -1
  41. package/src/useSafeTranslation.ts +49 -0
  42. package/tsconfig.tsbuildinfo +1 -1
@@ -32,6 +32,8 @@ declare const fr: {
32
32
  readonly noResults: "Aucun résultat trouvé";
33
33
  readonly required: "Obligatoire";
34
34
  readonly optional: "Facultatif";
35
+ readonly selectOption: "Sélectionner une option";
36
+ readonly select: "Sélectionner...";
35
37
  };
36
38
  readonly validation: {
37
39
  readonly required: "{{field}} est obligatoire";
@@ -54,6 +56,11 @@ declare const fr: {
54
56
  readonly saveError: "Échec de l'enregistrement";
55
57
  readonly unsavedChanges: "Vous avez des modifications non enregistrées. Voulez-vous vraiment quitter ?";
56
58
  readonly stepOf: "Étape {{current}} sur {{total}}";
59
+ readonly createTitle: "Créer {{object}}";
60
+ readonly editTitle: "Modifier {{object}}";
61
+ readonly createDescription: "Ajouter un nouveau {{object}} à votre base de données.";
62
+ readonly editDescription: "Mettre à jour les détails de {{object}}";
63
+ readonly saveRecord: "Enregistrer";
57
64
  };
58
65
  readonly table: {
59
66
  readonly rowsPerPage: "Lignes par page";
@@ -130,6 +137,22 @@ declare const fr: {
130
137
  readonly deleteCard: "Supprimer la carte";
131
138
  readonly deleteColumn: "Supprimer la colonne";
132
139
  };
140
+ readonly view: {
141
+ readonly rename: "Renommer";
142
+ readonly duplicateView: "Dupliquer la vue";
143
+ readonly shareView: "Partager la vue";
144
+ readonly setAsDefault: "Définir par défaut";
145
+ readonly pinView: "Épingler la vue";
146
+ readonly unpinView: "Désépingler la vue";
147
+ readonly changeViewType: "Changer le type de vue";
148
+ readonly deleteView: "Supprimer la vue";
149
+ readonly addView: "Ajouter une vue";
150
+ readonly unsavedChanges: "Modifications non enregistrées";
151
+ readonly saveAsView: "Enregistrer comme vue";
152
+ readonly moreViews: "{{count}} de plus";
153
+ readonly activeFilters: "Filtres actifs";
154
+ readonly activeSort: "Tri actif";
155
+ };
133
156
  readonly detail: {
134
157
  readonly back: "Retour";
135
158
  readonly edit: "Modifier";
@@ -164,11 +187,137 @@ declare const fr: {
164
187
  readonly viewAll: "Tout afficher";
165
188
  readonly new: "Nouveau";
166
189
  readonly emptyValue: "—";
190
+ readonly comments: "Commentaires";
191
+ readonly searchComments: "Rechercher des commentaires…";
192
+ readonly addCommentPlaceholder: "Ajouter un commentaire… (Ctrl+Entrée pour envoyer)";
193
+ readonly noMatchingComments: "Aucun commentaire correspondant";
194
+ readonly noCommentsYet: "Aucun commentaire pour le moment";
195
+ readonly pinned: "Épinglé";
196
+ readonly pin: "Épingler";
197
+ readonly unpin: "Désépingler";
198
+ readonly justNow: "à l'instant";
199
+ readonly minutesAgo: "il y a {{count}} min";
200
+ readonly hoursAgo: "il y a {{count}} h";
201
+ readonly daysAgo: "il y a {{count}} j";
202
+ readonly dropFilesToUpload: "Déposez les fichiers ici ou cliquez pour télécharger";
203
+ readonly attachmentCount: "{{count}} pièce jointe";
204
+ readonly attachmentCountPlural: "{{count}} pièces jointes";
205
+ readonly removeAttachment: "Supprimer la pièce jointe";
206
+ readonly unifiedDiff: "Vue unifiée";
207
+ readonly sideBySideDiff: "Vue côte à côte";
208
+ readonly noChanges: "Aucune modification";
209
+ readonly previousVersion: "Précédent";
210
+ readonly currentVersion: "Actuel";
211
+ readonly discussion: "Discussion";
212
+ readonly showDiscussion: "Afficher la discussion ({{count}})";
213
+ readonly hideDiscussion: "Masquer la discussion";
214
+ readonly bold: "Gras (Ctrl+B)";
215
+ readonly italic: "Italique (Ctrl+I)";
216
+ readonly listFormat: "Liste";
217
+ readonly inlineCode: "Code en ligne";
218
+ readonly mentionSomeone: "Mentionner quelqu'un";
219
+ readonly preview: "Aperçu";
220
+ readonly submitComment: "Envoyer (Ctrl+Entrée)";
221
+ readonly writeComment: "Écrire un commentaire…";
222
+ readonly subscribedTooltip: "Abonné — cliquez pour vous désabonner";
223
+ readonly unsubscribedTooltip: "S'abonner aux notifications";
224
+ readonly firstRecord: "Premier enregistrement (Début)";
225
+ readonly previousRecordKey: "Enregistrement précédent (←)";
226
+ readonly nextRecordKey: "Enregistrement suivant (→)";
227
+ readonly lastRecord: "Dernier enregistrement (Fin)";
228
+ readonly noRecords: "Aucun enregistrement";
229
+ readonly searchWhileNavigating: "Rechercher pendant la navigation";
230
+ readonly searchRecords: "Rechercher des enregistrements…";
231
+ readonly allActivity: "Toute l'activité";
232
+ readonly commentsOnly: "Commentaires uniquement";
233
+ readonly fieldChangesFilter: "Modifications de champs";
234
+ readonly tasksOnly: "Tâches uniquement";
235
+ readonly leaveCommentPlaceholder: "Laisser un commentaire… (Ctrl+Entrée pour envoyer)";
236
+ readonly noActivity: "Aucune activité enregistrée";
237
+ readonly loadMore: "Charger plus";
238
+ readonly edited: "(modifié)";
239
+ readonly via: "via {{source}}";
240
+ readonly replyCount: "{{count}} réponse";
241
+ readonly replyCountPlural: "{{count}} réponses";
242
+ readonly replyPlaceholder: "Répondre…";
243
+ readonly filterActivity: "Filtrer l'activité";
244
+ readonly openDiscussion: "Ouvrir le panneau de discussion";
245
+ readonly closeDiscussion: "Fermer le panneau de discussion";
246
+ readonly subscribeAriaLabel: "S'abonner aux notifications";
247
+ readonly unsubscribeAriaLabel: "Se désabonner des notifications";
248
+ readonly clearSearch: "Effacer la recherche";
167
249
  };
168
250
  readonly chart: {
169
251
  readonly noData: "Aucune donnée de graphique disponible";
170
252
  readonly loading: "Chargement du graphique...";
171
253
  };
254
+ readonly map: {
255
+ readonly searchLocations: "Rechercher des lieux…";
256
+ readonly locationDetails: "Détails du lieu";
257
+ readonly markersCount: "{{count}} marqueurs";
258
+ readonly invalidCoordinates: "{{count}} enregistrement avec des coordonnées manquantes ou invalides exclu de la carte.";
259
+ readonly invalidCoordinatesPlural: "{{count}} enregistrements avec des coordonnées manquantes ou invalides exclus de la carte.";
260
+ };
261
+ readonly workflow: {
262
+ readonly draft: "Brouillon";
263
+ readonly active: "Actif";
264
+ readonly paused: "En pause";
265
+ readonly completed: "Terminé";
266
+ readonly cancelled: "Annulé";
267
+ readonly save: "Enregistrer";
268
+ readonly publish: "Publier";
269
+ readonly addNode: "Ajouter un nœud";
270
+ readonly workflowFlow: "Flux de travail";
271
+ readonly properties: "Propriétés";
272
+ readonly connections: "Connexions";
273
+ readonly quickConnect: "Connexion rapide";
274
+ readonly fromPlaceholder: "De...";
275
+ readonly toPlaceholder: "Vers...";
276
+ readonly connect: "Connecter";
277
+ readonly label: "Libellé";
278
+ readonly type: "Type";
279
+ readonly description: "Description";
280
+ readonly assignee: "Responsable";
281
+ readonly assigneeType: "Type de responsable";
282
+ readonly user: "Utilisateur";
283
+ readonly role: "Rôle";
284
+ readonly group: "Groupe";
285
+ readonly expression: "Expression";
286
+ readonly timeoutMinutes: "Délai (minutes)";
287
+ readonly selectNodeToEdit: "Sélectionnez un nœud pour modifier ses propriétés";
288
+ readonly workflowTitle: "Titre du workflow";
289
+ readonly newWorkflow: "Nouveau workflow";
290
+ readonly outConnections: "{{count}} sortie(s)";
291
+ readonly start: "Début";
292
+ readonly end: "Fin";
293
+ readonly task: "Tâche";
294
+ readonly userTask: "Tâche utilisateur";
295
+ readonly serviceTask: "Tâche service";
296
+ readonly scriptTask: "Tâche script";
297
+ readonly approval: "Approbation";
298
+ readonly condition: "Condition";
299
+ readonly parallelGateway: "Passerelle parallèle";
300
+ readonly joinGateway: "Passerelle de jonction";
301
+ readonly boundaryEvent: "Événement limite";
302
+ readonly delay: "Délai";
303
+ readonly notification: "Notification";
304
+ readonly webhook: "Webhook";
305
+ readonly allowConcurrency: "Autoriser (exécution simultanée)";
306
+ readonly forbidConcurrency: "Interdire (ignorer les nouveaux)";
307
+ readonly replaceConcurrency: "Remplacer (annuler les existants)";
308
+ readonly queueConcurrency: "File d'attente (exécuter après)";
309
+ readonly conditionEvent: "Condition";
310
+ readonly manualEvent: "Manuel";
311
+ readonly webhookEvent: "Webhook";
312
+ readonly timerEvent: "Minuterie";
313
+ readonly signalEvent: "Signal";
314
+ readonly versionHistory: "Historique des versions";
315
+ readonly importBpmn: "Importer BPMN";
316
+ readonly exportBpmn: "Exporter BPMN";
317
+ readonly undo: "Annuler";
318
+ readonly redo: "Rétablir";
319
+ readonly resetZoom: "Réinitialiser le zoom";
320
+ };
172
321
  readonly dashboard: {
173
322
  readonly addWidget: "Ajouter un widget";
174
323
  readonly removeWidget: "Supprimer un widget";
@@ -322,6 +471,58 @@ declare const fr: {
322
471
  readonly modeLight: "Clair";
323
472
  readonly modeDark: "Sombre";
324
473
  readonly mobilePreview: "Aperçu mobile";
474
+ readonly objectManager: {
475
+ readonly title: "Gestionnaire d'objets";
476
+ readonly addObject: "Nouvel objet";
477
+ readonly searchPlaceholder: "Rechercher des objets…";
478
+ readonly noObjects: "Aucun objet trouvé.";
479
+ readonly objectName: "Nom API";
480
+ readonly objectLabel: "Libellé";
481
+ readonly pluralLabel: "Libellé pluriel";
482
+ readonly icon: "Icône";
483
+ readonly selectIcon: "Sélectionner une icône…";
484
+ readonly group: "Groupe";
485
+ readonly noGroup: "Aucun groupe";
486
+ readonly sortOrder: "Ordre de tri";
487
+ readonly enabled: "Activé";
488
+ readonly relationships: "Relations";
489
+ readonly systemBadge: "Système";
490
+ readonly fieldCount: "{{count}} champs";
491
+ readonly ungrouped: "Non groupé";
492
+ readonly deleteConfirmTitle: "Supprimer l'objet ?";
493
+ readonly deleteConfirmMessage: "L'objet et tous ses champs seront définitivement supprimés. Cette action est irréversible.";
494
+ };
495
+ readonly fieldDesigner: {
496
+ readonly title: "Concepteur de champs";
497
+ readonly addField: "Nouveau champ";
498
+ readonly searchPlaceholder: "Rechercher des champs…";
499
+ readonly allTypes: "Tous les types";
500
+ readonly noFields: "Aucun champ trouvé.";
501
+ readonly fieldName: "Nom API";
502
+ readonly fieldLabel: "Libellé";
503
+ readonly fieldType: "Type";
504
+ readonly fieldGroup: "Groupe";
505
+ readonly description: "Description";
506
+ readonly required: "Obligatoire";
507
+ readonly unique: "Unique";
508
+ readonly readOnly: "Lecture seule";
509
+ readonly hidden: "Masqué";
510
+ readonly indexed: "Indexé";
511
+ readonly externalId: "ID externe";
512
+ readonly trackHistory: "Suivi de l'historique";
513
+ readonly defaultValue: "Valeur par défaut";
514
+ readonly placeholder: "Texte indicatif";
515
+ readonly referenceTo: "Référence vers";
516
+ readonly formula: "Formule";
517
+ readonly options: "Options";
518
+ readonly addOption: "Ajouter une option";
519
+ readonly validationRules: "Règles de validation";
520
+ readonly addRule: "Ajouter une règle";
521
+ readonly systemBadge: "Système";
522
+ readonly ungrouped: "Général";
523
+ readonly deleteConfirmTitle: "Supprimer le champ ?";
524
+ readonly deleteConfirmMessage: "Le champ sera définitivement supprimé. Les données existantes seront perdues.";
525
+ };
325
526
  };
326
527
  readonly console: {
327
528
  readonly title: "Console ObjectStack";
@@ -407,7 +608,7 @@ declare const fr: {
407
608
  readonly generalHint: "Titre, description et type de la vue";
408
609
  readonly toolbar: "Barre d'outils";
409
610
  readonly toolbarHint: "Recherche, filtre, tri, regroupement et bascule de densité";
410
- readonly toolbarEnabledCount: "{{count}} of {{total}} enabled";
611
+ readonly toolbarEnabledCount: "{{count}} sur {{total}} activés";
411
612
  readonly navigationSection: "Navigation";
412
613
  readonly navigationHint: "Comportement au clic sur la ligne et paramètres de la vue détaillée";
413
614
  readonly records: "Enregistrements";
@@ -32,6 +32,8 @@ const fr = {
32
32
  noResults: 'Aucun résultat trouvé',
33
33
  required: 'Obligatoire',
34
34
  optional: 'Facultatif',
35
+ selectOption: 'Sélectionner une option',
36
+ select: 'Sélectionner...',
35
37
  },
36
38
  validation: {
37
39
  required: '{{field}} est obligatoire',
@@ -54,6 +56,11 @@ const fr = {
54
56
  saveError: 'Échec de l\'enregistrement',
55
57
  unsavedChanges: 'Vous avez des modifications non enregistrées. Voulez-vous vraiment quitter ?',
56
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',
57
64
  },
58
65
  table: {
59
66
  rowsPerPage: 'Lignes par page',
@@ -130,6 +137,22 @@ const fr = {
130
137
  deleteCard: 'Supprimer la carte',
131
138
  deleteColumn: 'Supprimer la colonne',
132
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
+ },
133
156
  detail: {
134
157
  back: 'Retour',
135
158
  edit: 'Modifier',
@@ -164,11 +187,146 @@ const fr = {
164
187
  viewAll: 'Tout afficher',
165
188
  new: 'Nouveau',
166
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',
167
258
  },
168
259
  chart: {
169
260
  noData: 'Aucune donnée de graphique disponible',
170
261
  loading: 'Chargement du graphique...',
171
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
+ },
172
330
  dashboard: {
173
331
  addWidget: 'Ajouter un widget',
174
332
  removeWidget: 'Supprimer un widget',
@@ -322,6 +480,58 @@ const fr = {
322
480
  modeLight: 'Clair',
323
481
  modeDark: 'Sombre',
324
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
+ },
325
535
  },
326
536
  console: {
327
537
  title: 'Console ObjectStack',
@@ -407,7 +617,7 @@ const fr = {
407
617
  generalHint: 'Titre, description et type de la vue',
408
618
  toolbar: 'Barre d\'outils',
409
619
  toolbarHint: 'Recherche, filtre, tri, regroupement et bascule de densité',
410
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
620
+ toolbarEnabledCount: '{{count}} sur {{total}} activés',
411
621
  navigationSection: 'Navigation',
412
622
  navigationHint: 'Comportement au clic sur la ligne et paramètres de la vue détaillée',
413
623
  records: 'Enregistrements',