@object-ui/i18n 3.1.5 → 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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +21 -1
  3. package/dist/i18n.js +10 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +2 -0
  6. package/dist/locales/ar.d.ts +260 -1
  7. package/dist/locales/ar.js +260 -1
  8. package/dist/locales/de.d.ts +260 -1
  9. package/dist/locales/de.js +269 -1
  10. package/dist/locales/en.d.ts +279 -0
  11. package/dist/locales/en.js +289 -0
  12. package/dist/locales/es.d.ts +260 -1
  13. package/dist/locales/es.js +260 -1
  14. package/dist/locales/fr.d.ts +260 -1
  15. package/dist/locales/fr.js +269 -1
  16. package/dist/locales/index.d.ts +2661 -9
  17. package/dist/locales/ja.d.ts +271 -1
  18. package/dist/locales/ja.js +271 -1
  19. package/dist/locales/ko.d.ts +260 -1
  20. package/dist/locales/ko.js +260 -1
  21. package/dist/locales/pt.d.ts +260 -1
  22. package/dist/locales/pt.js +260 -1
  23. package/dist/locales/ru.d.ts +271 -1
  24. package/dist/locales/ru.js +280 -1
  25. package/dist/locales/zh.d.ts +280 -1
  26. package/dist/locales/zh.js +290 -1
  27. package/dist/useObjectLabel.d.ts +46 -0
  28. package/dist/useObjectLabel.js +79 -12
  29. package/dist/useSafeTranslation.d.ts +5 -0
  30. package/dist/useSafeTranslation.js +46 -0
  31. package/package.json +31 -8
  32. package/.turbo/turbo-build.log +0 -4
  33. package/src/__tests__/i18n.test.ts +0 -228
  34. package/src/__tests__/provider.test.tsx +0 -117
  35. package/src/__tests__/spec-formatters.test.ts +0 -208
  36. package/src/__tests__/useObjectLabel.test.tsx +0 -131
  37. package/src/i18n.ts +0 -98
  38. package/src/index.ts +0 -78
  39. package/src/locales/ar.ts +0 -541
  40. package/src/locales/de.ts +0 -545
  41. package/src/locales/en.ts +0 -625
  42. package/src/locales/es.ts +0 -540
  43. package/src/locales/fr.ts +0 -545
  44. package/src/locales/index.ts +0 -42
  45. package/src/locales/ja.ts +0 -540
  46. package/src/locales/ko.ts +0 -540
  47. package/src/locales/pt.ts +0 -540
  48. package/src/locales/ru.ts +0 -540
  49. package/src/locales/zh.ts +0 -624
  50. package/src/provider.tsx +0 -177
  51. package/src/useObjectLabel.ts +0 -122
  52. package/src/utils/formatting.ts +0 -136
  53. package/src/utils/index.ts +0 -21
  54. package/src/utils/spec-formatters.ts +0 -220
  55. package/tsconfig.json +0 -12
  56. package/tsconfig.tsbuildinfo +0 -1
@@ -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',
@@ -337,6 +547,16 @@ const fr = {
337
547
  loadingConfig: 'Chargement de la configuration',
338
548
  preparingWorkspace: "Préparation de l'espace de travail",
339
549
  },
550
+ error: {
551
+ connectionFailed: 'Impossible de se connecter au serveur',
552
+ serverUnreachable: "Le serveur {{url}} est inaccessible.",
553
+ checkServer: 'Veuillez vérifier votre connexion réseau ou que le backend est en cours d’exécution.',
554
+ timeout: 'Délai de connexion dépassé après 10 secondes.',
555
+ },
556
+ actions: {
557
+ retry: 'Réessayer',
558
+ retrying: 'Nouvelle tentative…',
559
+ },
340
560
  shortcuts: {
341
561
  title: 'Raccourcis clavier',
342
562
  description: 'Référence rapide de tous les raccourcis clavier disponibles.',
@@ -407,7 +627,7 @@ const fr = {
407
627
  generalHint: 'Titre, description et type de la vue',
408
628
  toolbar: 'Barre d\'outils',
409
629
  toolbarHint: 'Recherche, filtre, tri, regroupement et bascule de densité',
410
- toolbarEnabledCount: '{{count}} of {{total}} enabled',
630
+ toolbarEnabledCount: '{{count}} sur {{total}} activés',
411
631
  navigationSection: 'Navigation',
412
632
  navigationHint: 'Comportement au clic sur la ligne et paramètres de la vue détaillée',
413
633
  records: 'Enregistrements',
@@ -540,5 +760,53 @@ const fr = {
540
760
  timeout: 'Délai d\'attente dépassé. Veuillez réessayer.',
541
761
  unknown: 'Une erreur inattendue s\'est produite.',
542
762
  },
763
+ workspace: {
764
+ label: 'Espaces de travail',
765
+ default: 'Mon espace de travail',
766
+ switch: 'Changer d\'espace de travail',
767
+ create: 'Créer un espace de travail',
768
+ createTitle: 'Créer un espace de travail',
769
+ createDescription: 'Un espace de travail est un lieu partagé pour la collaboration de votre équipe.',
770
+ createButton: 'Créer un espace de travail',
771
+ nameLabel: 'Nom de l\'espace de travail',
772
+ namePlaceholder: 'p.ex., Acme Inc',
773
+ slugLabel: 'Slug URL',
774
+ slugHint: 'Utilisé dans les URL. Uniquement lettres minuscules, chiffres et tirets.',
775
+ invite: 'Inviter un membre',
776
+ members: 'Membres',
777
+ settings: 'Paramètres de l\'espace de travail',
778
+ },
779
+ sidebar: {
780
+ settings: 'Paramètres',
781
+ help: 'Aide',
782
+ helpTooltip: 'Aide et documentation',
783
+ activityFeed: 'Flux d\'activité',
784
+ },
785
+ home: {
786
+ title: 'Accueil',
787
+ subtitle: 'Tableau de bord de votre espace de travail',
788
+ nav: 'Accueil',
789
+ allApps: 'Toutes les applications',
790
+ loading: 'Chargement de l\'espace de travail...',
791
+ recent: 'Récent',
792
+ starred: 'Favoris',
793
+ welcome: 'Bienvenue dans ObjectUI',
794
+ welcomeDescription: 'Commencez par créer votre première application ou configurer les paramètres système.',
795
+ createFirstApp: 'Créez votre première app',
796
+ systemSettings: 'Paramètres système',
797
+ quickActions: {
798
+ title: 'Actions rapides',
799
+ createApp: 'Créer une app',
800
+ createAppDesc: 'Commencez avec une nouvelle application',
801
+ manageObjects: 'Gérer les objets',
802
+ manageObjectsDesc: 'Configurer les modèles de données',
803
+ systemSettings: 'Paramètres système',
804
+ systemSettingsDesc: 'Configurez votre espace de travail',
805
+ },
806
+ appCard: {
807
+ noDescription: 'Aucune description',
808
+ default: 'Par défaut',
809
+ },
810
+ },
543
811
  };
544
812
  export default fr;