@object-ui/i18n 17.1.0 → 17.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.
@@ -79,6 +79,10 @@ const es = {
79
79
  select: "Seleccionar...",
80
80
  openChat: "Abrir chat",
81
81
  closeChat: "Cerrar chat",
82
+ closePanel: "Cerrar panel",
83
+ resizeDrawer: "Ajustar el ancho del panel",
84
+ itemCount: "{{count}} elementos",
85
+ itemCountOne: "{{count}} elemento",
82
86
  toggleSidebar: "Alternar barra lateral",
83
87
  package: "Paquete",
84
88
  },
@@ -94,7 +98,12 @@ const es = {
94
98
  },
95
99
  },
96
100
  validation: {
97
- required: "{{field}} es obligatorio",
101
+ // "{{field}} es obligatorio" only agreed with masculine field labels —
102
+ // "Cuenta es obligatorio" is wrong (objectstack#5407). Spanish adjectives
103
+ // agree with the head noun, which a runtime label cannot declare, so the
104
+ // template supplies its own masculine head ("el campo") and the adjective
105
+ // agrees with THAT for every label.
106
+ required: "El campo {{field}} es obligatorio",
98
107
  minLength: "{{field}} debe tener al menos {{min}} caracteres",
99
108
  maxLength: "{{field}} debe tener como máximo {{max}} caracteres",
100
109
  min: "{{field}} debe ser al menos {{min}}",
@@ -103,7 +112,8 @@ const es = {
103
112
  url: "Por favor, introduzca una URL válida",
104
113
  pattern: "El formato de {{field}} no es válido",
105
114
  formInvalid: "Por favor, revise los campos resaltados: {{fields}}",
106
- unique: "{{field}} debe ser único",
115
+ formInvalidJoiner: ", ",
116
+ unique: "El campo {{field}} debe ser único",
107
117
  type: "{{field}} debe ser un {{type}} válido",
108
118
  },
109
119
  form: {
@@ -127,12 +137,21 @@ const es = {
127
137
  stepOf: "Paso {{current}} de {{total}}",
128
138
  createTitle: "Crear {{object}}",
129
139
  editTitle: "Editar {{object}}",
140
+ viewTitle: "Ver {{object}}",
141
+ createTargetOrg: "Se crea en {{org}}",
130
142
  saveRecord: "Guardar registro",
131
143
  create: "Crear",
132
144
  update: "Actualizar",
133
145
  createSuccess: "{{object}} creado",
134
146
  updateSuccess: "{{object}} actualizado",
135
147
  deleteSuccess: "{{object}} eliminado",
148
+ fullscreen: {
149
+ title: "Editar texto",
150
+ description: "Edita el valor de texto completo y luego guarda o cancela los cambios.",
151
+ done: "Listo",
152
+ toggle: "Editar {{label}} en pantalla completa",
153
+ textFallback: "texto",
154
+ },
136
155
  },
137
156
  fields: {
138
157
  image: {
@@ -172,6 +191,10 @@ const es = {
172
191
  basicEditorHint: "Editor de texto enriquecido (básico)",
173
192
  placeholder: "Escribe algo...",
174
193
  },
194
+ options: {
195
+ empty: "No hay opciones disponibles",
196
+ selectFirst: "Seleccione primero {{fields}}",
197
+ },
175
198
  objectRef: {
176
199
  loading: "Cargando objetos…",
177
200
  placeholder: "Seleccionar un objeto",
@@ -199,6 +222,13 @@ const es = {
199
222
  editAsJson: "Editar como JSON",
200
223
  useVisualBuilder: "Usar el constructor visual",
201
224
  },
225
+ tags: {
226
+ placeholder: "Escriba y pulse Intro para añadir…",
227
+ },
228
+ textarea: {
229
+ characterCount: "Recuento de caracteres: {{count}} de {{max}}",
230
+ charactersRemaining: "Caracteres restantes: {{count}}",
231
+ },
202
232
  },
203
233
  table: {
204
234
  rowsPerPage: "Filas por página",
@@ -637,6 +667,12 @@ const es = {
637
667
  over: "sobrecargado",
638
668
  empty: "No hay tareas que asignar.",
639
669
  },
670
+ quickFilter: {
671
+ all: "Todos",
672
+ clear: "Borrar filtros",
673
+ empty: "Sin opciones",
674
+ resultSummary: "Mostrando {shown} / {total} tareas",
675
+ },
640
676
  readOnly: "Solo lectura",
641
677
  readOnlyHint: "La edición está deshabilitada en esta vista.",
642
678
  lockedHint: "Sin permiso de edición",
@@ -719,6 +755,15 @@ const es = {
719
755
  viewHistory: "Ver historial",
720
756
  delete: "Eliminar",
721
757
  moreActions: "Más acciones",
758
+ addReaction: "Añadir reacción",
759
+ pageHeaderActions: "Acciones del encabezado de página",
760
+ emojiPicker: "Selector de emojis",
761
+ reactionCount: "{{emoji}} {{count}} reacciones",
762
+ reactionCountOne: "{{emoji}} {{count}} reacción",
763
+ recordDetail: "Detalle del registro",
764
+ recordDetailWithLabel: "Detalle de {{label}}",
765
+ openAsFullPage: "Abrir como página completa",
766
+ recordDetailOverlay: "Capa de detalle del registro para {{title}}.",
722
767
  addToFavorites: "Añadir a favoritos",
723
768
  removeFromFavorites: "Quitar de favoritos",
724
769
  previousRecord: "Registro anterior",
@@ -815,11 +860,15 @@ const es = {
815
860
  saving: "Guardando…",
816
861
  lockedByApproval: "Bloqueado para aprobación",
817
862
  lockedTooltip: "Este registro tiene una solicitud de aprobación pendiente; la edición está bloqueada",
818
- writeStrippedTitle: "Algunos campos no se guardaron",
819
- writeStrippedReadonly: "De solo lectura, por lo que no se guardó: {{fields}}",
820
- writeStrippedByState: "No editable en el estado actual de este registro, por lo que no se guardó: {{fields}}",
863
+ writeStrippedTitle: "Guardado, pero algunos campos no se aplicaron",
864
+ writeStrippedReadonly: "De solo lectura, por lo que no se aplicó: {{fields}}",
865
+ writeStrippedByState: "No editable en el estado actual de este registro, por lo que no se aplicó: {{fields}}",
821
866
  approvalPendingEditable: "En aprobación · editable",
822
867
  approvalPendingTooltip: "Este registro tiene una solicitud de aprobación pendiente; este paso todavía permite la edición",
868
+ approvalProgress: "Aprobaciones — {{got}} de {{need}}",
869
+ approvalProgressGroups: "Firmas — {{got}} de {{need}} grupos",
870
+ approvalProgressLabel: "Progreso de la aprobación",
871
+ approvalsPanelTitle: "Aprobaciones",
823
872
  cancelApproval: "Cancelar aprobación",
824
873
  cancelApprovalInFlight: "Cancelando…",
825
874
  cancelApprovalTooltip: "Cancelar la solicitud de aprobación pendiente para desbloquear el registro",
@@ -1411,6 +1460,13 @@ const es = {
1411
1460
  retry: "Reintentar",
1412
1461
  retrying: "Reintentando…",
1413
1462
  },
1463
+ serverAction: {
1464
+ openingTitle: "Abriendo…",
1465
+ openingBody: "Abriendo… esto puede tardar un momento.",
1466
+ popupBlockedTitle: "Ventana emergente bloqueada",
1467
+ popupBlockedDescription: "El navegador bloqueó la apertura de la nueva pestaña.",
1468
+ popupBlockedAction: "Abrir en una pestaña nueva",
1469
+ },
1414
1470
  shortcuts: {
1415
1471
  title: "Atajos de teclado",
1416
1472
  description: "Referencia rápida de todos los atajos de teclado disponibles.",
@@ -1478,6 +1534,8 @@ const es = {
1478
1534
  objectNotFound: "Objeto no encontrado",
1479
1535
  objectNotFoundDescription: "El objeto \"{{objectName}}\" no existe en la configuración actual.",
1480
1536
  objectNotFoundHint: "Verifique la configuración de navegación de su aplicación o seleccione un objeto diferente en la barra lateral.",
1537
+ filterOrNotSavable: "Este filtro une las condiciones con O, algo que una vista guardada aún no puede almacenar. Se sigue aplicando a esta lista: quite la agrupación O para guardarlo en la vista.",
1538
+ filterNestedNotSavable: "Este filtro usa grupos de condiciones anidados, que una vista guardada no puede almacenar. Conviértalo en una única lista de condiciones para guardarlo en la vista.",
1481
1539
  allRecords: "Todos los registros",
1482
1540
  exitDesignMode: "Salir del modo de diseño",
1483
1541
  enterDesignMode: "Entrar en modo de diseño",
@@ -2567,6 +2625,20 @@ const es = {
2567
2625
  addEnvironment: "Añadir entorno",
2568
2626
  setUpProduction: "Configure su entorno de producción",
2569
2627
  addDevelopment: "Añadir entorno de desarrollo",
2628
+ // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
2629
+ entitlement: {
2630
+ productionLimitTitle: "Ya tiene su entorno de producción",
2631
+ productionLimitBody: "Cada organización incluye exactamente un entorno de producción. Cree una organización aparte para tener otro, o contáctenos para conocer un acuerdo Enterprise.",
2632
+ planLockedTitle: "Los entornos de desarrollo son una función de pago",
2633
+ planLockedBody: "Su {{plan}} incluye un entorno de producción. Mejore su plan para añadir entornos de desarrollo: construya en desarrollo y luego publique en producción.",
2634
+ limitTitle: "Límite de entornos de desarrollo alcanzado",
2635
+ limitBody: "La capacidad crece con los puestos de IA. Añada un puesto de IA, o archive un entorno de desarrollo sin usar para liberar espacio.",
2636
+ limitBodyWithCount: "Está usando {{used}} de {{limit}} entornos de desarrollo. La capacidad crece con los puestos de IA: añada un puesto de IA, o archive un entorno de desarrollo sin usar.",
2637
+ freePlan: "plan gratuito",
2638
+ namedPlan: "plan {{plan}}",
2639
+ upgradeCta: "Mejorar plan",
2640
+ contactSalesCta: "Contactar con ventas",
2641
+ },
2570
2642
  },
2571
2643
  cloudConnection: {
2572
2644
  checking: "Comprobando la conexión…",
@@ -2986,5 +3058,39 @@ const es = {
2986
3058
  addSort: "Agregar orden",
2987
3059
  removeSort: "Quitar orden",
2988
3060
  },
3061
+ collaboration: {
3062
+ commentCount: "{{count}} comentarios",
3063
+ commentCountOne: "{{count}} comentario",
3064
+ resolvedSuffix: " · Resuelto",
3065
+ sortComments: "Ordenar comentarios",
3066
+ sortOldest: "Más antiguos",
3067
+ sortNewest: "Más recientes",
3068
+ resolve: "Resolver",
3069
+ reopen: "Reabrir",
3070
+ justNow: "ahora mismo",
3071
+ minutesAgo: "hace {{count}} min",
3072
+ hoursAgo: "hace {{count}} h",
3073
+ daysAgo: "hace {{count}} d",
3074
+ edited: "(editado)",
3075
+ reactionCount: "{{count}} reacciones",
3076
+ reactionCountOne: "{{count}} reacción",
3077
+ addThumbsUp: "Agregar me gusta",
3078
+ reply: "Responder",
3079
+ reactThumbsUp: "Reaccionar con me gusta",
3080
+ reactHeart: "Reaccionar con corazón",
3081
+ cancelReply: "Cancelar respuesta",
3082
+ replyingTo: "Respondiendo a {{name}}…",
3083
+ replyingToComment: "Respondiendo al comentario…",
3084
+ commentPlaceholder: "Agregar un comentario… (usa @ para mencionar)",
3085
+ send: "Enviar",
3086
+ presentUserCount: "{{count}} usuarios presentes",
3087
+ presentUserCountOne: "{{count}} usuario presente",
3088
+ moreUserCount: "{{count}} usuarios más",
3089
+ moreUserCountOne: "{{count}} usuario más",
3090
+ userStatusTitle: "{{name}} ({{status}})",
3091
+ statusActive: "activo",
3092
+ statusIdle: "inactivo",
3093
+ statusAway: "ausente",
3094
+ },
2989
3095
  };
2990
3096
  export default es;
@@ -78,6 +78,10 @@ declare const fr: {
78
78
  select: string;
79
79
  openChat: string;
80
80
  closeChat: string;
81
+ closePanel: string;
82
+ resizeDrawer: string;
83
+ itemCount: string;
84
+ itemCountOne: string;
81
85
  toggleSidebar: string;
82
86
  package: string;
83
87
  };
@@ -102,6 +106,7 @@ declare const fr: {
102
106
  url: string;
103
107
  pattern: string;
104
108
  formInvalid: string;
109
+ formInvalidJoiner: string;
105
110
  unique: string;
106
111
  type: string;
107
112
  };
@@ -126,12 +131,21 @@ declare const fr: {
126
131
  stepOf: string;
127
132
  createTitle: string;
128
133
  editTitle: string;
134
+ viewTitle: string;
135
+ createTargetOrg: string;
129
136
  saveRecord: string;
130
137
  create: string;
131
138
  update: string;
132
139
  createSuccess: string;
133
140
  updateSuccess: string;
134
141
  deleteSuccess: string;
142
+ fullscreen: {
143
+ title: string;
144
+ description: string;
145
+ done: string;
146
+ toggle: string;
147
+ textFallback: string;
148
+ };
135
149
  };
136
150
  fields: {
137
151
  image: {
@@ -171,6 +185,10 @@ declare const fr: {
171
185
  basicEditorHint: string;
172
186
  placeholder: string;
173
187
  };
188
+ options: {
189
+ empty: string;
190
+ selectFirst: string;
191
+ };
174
192
  objectRef: {
175
193
  loading: string;
176
194
  placeholder: string;
@@ -198,6 +216,13 @@ declare const fr: {
198
216
  editAsJson: string;
199
217
  useVisualBuilder: string;
200
218
  };
219
+ tags: {
220
+ placeholder: string;
221
+ };
222
+ textarea: {
223
+ characterCount: string;
224
+ charactersRemaining: string;
225
+ };
201
226
  };
202
227
  table: {
203
228
  rowsPerPage: string;
@@ -636,6 +661,12 @@ declare const fr: {
636
661
  over: string;
637
662
  empty: string;
638
663
  };
664
+ quickFilter: {
665
+ all: string;
666
+ clear: string;
667
+ empty: string;
668
+ resultSummary: string;
669
+ };
639
670
  readOnly: string;
640
671
  readOnlyHint: string;
641
672
  lockedHint: string;
@@ -720,6 +751,15 @@ declare const fr: {
720
751
  viewHistory: string;
721
752
  delete: string;
722
753
  moreActions: string;
754
+ addReaction: string;
755
+ pageHeaderActions: string;
756
+ emojiPicker: string;
757
+ reactionCount: string;
758
+ reactionCountOne: string;
759
+ recordDetail: string;
760
+ recordDetailWithLabel: string;
761
+ openAsFullPage: string;
762
+ recordDetailOverlay: string;
723
763
  addToFavorites: string;
724
764
  removeFromFavorites: string;
725
765
  previousRecord: string;
@@ -820,6 +860,10 @@ declare const fr: {
820
860
  writeStrippedByState: string;
821
861
  approvalPendingEditable: string;
822
862
  approvalPendingTooltip: string;
863
+ approvalProgress: string;
864
+ approvalProgressGroups: string;
865
+ approvalProgressLabel: string;
866
+ approvalsPanelTitle: string;
823
867
  cancelApproval: string;
824
868
  cancelApprovalInFlight: string;
825
869
  cancelApprovalTooltip: string;
@@ -1409,6 +1453,13 @@ declare const fr: {
1409
1453
  retry: string;
1410
1454
  retrying: string;
1411
1455
  };
1456
+ serverAction: {
1457
+ openingTitle: string;
1458
+ openingBody: string;
1459
+ popupBlockedTitle: string;
1460
+ popupBlockedDescription: string;
1461
+ popupBlockedAction: string;
1462
+ };
1412
1463
  shortcuts: {
1413
1464
  title: string;
1414
1465
  description: string;
@@ -1476,6 +1527,8 @@ declare const fr: {
1476
1527
  objectNotFound: string;
1477
1528
  objectNotFoundDescription: string;
1478
1529
  objectNotFoundHint: string;
1530
+ filterOrNotSavable: string;
1531
+ filterNestedNotSavable: string;
1479
1532
  allRecords: string;
1480
1533
  exitDesignMode: string;
1481
1534
  enterDesignMode: string;
@@ -2565,6 +2618,19 @@ declare const fr: {
2565
2618
  addEnvironment: string;
2566
2619
  setUpProduction: string;
2567
2620
  addDevelopment: string;
2621
+ entitlement: {
2622
+ productionLimitTitle: string;
2623
+ productionLimitBody: string;
2624
+ planLockedTitle: string;
2625
+ planLockedBody: string;
2626
+ limitTitle: string;
2627
+ limitBody: string;
2628
+ limitBodyWithCount: string;
2629
+ freePlan: string;
2630
+ namedPlan: string;
2631
+ upgradeCta: string;
2632
+ contactSalesCta: string;
2633
+ };
2568
2634
  };
2569
2635
  cloudConnection: {
2570
2636
  checking: string;
@@ -2984,5 +3050,39 @@ declare const fr: {
2984
3050
  addSort: string;
2985
3051
  removeSort: string;
2986
3052
  };
3053
+ collaboration: {
3054
+ commentCount: string;
3055
+ commentCountOne: string;
3056
+ resolvedSuffix: string;
3057
+ sortComments: string;
3058
+ sortOldest: string;
3059
+ sortNewest: string;
3060
+ resolve: string;
3061
+ reopen: string;
3062
+ justNow: string;
3063
+ minutesAgo: string;
3064
+ hoursAgo: string;
3065
+ daysAgo: string;
3066
+ edited: string;
3067
+ reactionCount: string;
3068
+ reactionCountOne: string;
3069
+ addThumbsUp: string;
3070
+ reply: string;
3071
+ reactThumbsUp: string;
3072
+ reactHeart: string;
3073
+ cancelReply: string;
3074
+ replyingTo: string;
3075
+ replyingToComment: string;
3076
+ commentPlaceholder: string;
3077
+ send: string;
3078
+ presentUserCount: string;
3079
+ presentUserCountOne: string;
3080
+ moreUserCount: string;
3081
+ moreUserCountOne: string;
3082
+ userStatusTitle: string;
3083
+ statusActive: string;
3084
+ statusIdle: string;
3085
+ statusAway: string;
3086
+ };
2987
3087
  };
2988
3088
  export default fr;
@@ -79,6 +79,10 @@ const fr = {
79
79
  select: "Sélectionner...",
80
80
  openChat: "Ouvrir le chat",
81
81
  closeChat: "Fermer le chat",
82
+ closePanel: "Fermer le panneau",
83
+ resizeDrawer: "Redimensionner le panneau",
84
+ itemCount: "{{count}} éléments",
85
+ itemCountOne: "{{count}} élément",
82
86
  toggleSidebar: "Basculer la barre latérale",
83
87
  package: "Package",
84
88
  },
@@ -103,6 +107,7 @@ const fr = {
103
107
  url: "Veuillez saisir une URL valide",
104
108
  pattern: "Le format de {{field}} est invalide",
105
109
  formInvalid: "Veuillez vérifier les champs en surbrillance : {{fields}}",
110
+ formInvalidJoiner: ", ",
106
111
  unique: "{{field}} doit être unique",
107
112
  type: "{{field}} doit être un {{type}} valide",
108
113
  },
@@ -127,12 +132,21 @@ const fr = {
127
132
  stepOf: "Étape {{current}} sur {{total}}",
128
133
  createTitle: "Créer {{object}}",
129
134
  editTitle: "Modifier {{object}}",
135
+ viewTitle: "Afficher {{object}}",
136
+ createTargetOrg: "Création dans {{org}}",
130
137
  saveRecord: "Enregistrer",
131
138
  create: "Créer",
132
139
  update: "Mettre à jour",
133
140
  createSuccess: "{{object}} créé",
134
141
  updateSuccess: "{{object}} mis à jour",
135
142
  deleteSuccess: "{{object}} supprimé",
143
+ fullscreen: {
144
+ title: "Modifier le texte",
145
+ description: "Modifiez la valeur texte complète, puis enregistrez ou annulez vos modifications.",
146
+ done: "Terminé",
147
+ toggle: "Modifier {{label}} en plein écran",
148
+ textFallback: "le texte",
149
+ },
136
150
  },
137
151
  fields: {
138
152
  image: {
@@ -172,6 +186,10 @@ const fr = {
172
186
  basicEditorHint: "Éditeur de texte enrichi (basique)",
173
187
  placeholder: "Écrivez quelque chose...",
174
188
  },
189
+ options: {
190
+ empty: "Aucune option disponible",
191
+ selectFirst: "Sélectionnez d’abord {{fields}}",
192
+ },
175
193
  objectRef: {
176
194
  loading: "Chargement des objets…",
177
195
  placeholder: "Sélectionner un objet",
@@ -199,6 +217,13 @@ const fr = {
199
217
  editAsJson: "Modifier en JSON",
200
218
  useVisualBuilder: "Utiliser le constructeur visuel",
201
219
  },
220
+ tags: {
221
+ placeholder: "Saisissez puis appuyez sur Entrée pour ajouter…",
222
+ },
223
+ textarea: {
224
+ characterCount: "Nombre de caractères : {{count}} sur {{max}}",
225
+ charactersRemaining: "Caractères restants : {{count}}",
226
+ },
202
227
  },
203
228
  table: {
204
229
  rowsPerPage: "Lignes par page",
@@ -637,6 +662,12 @@ const fr = {
637
662
  over: "surchargée",
638
663
  empty: "Aucune tâche à affecter.",
639
664
  },
665
+ quickFilter: {
666
+ all: "Tous",
667
+ clear: "Effacer les filtres",
668
+ empty: "Aucune option",
669
+ resultSummary: "Affichage de {shown} / {total} tâches",
670
+ },
640
671
  readOnly: "Lecture seule",
641
672
  readOnlyHint: "L'édition est désactivée pour cette vue.",
642
673
  lockedHint: "Aucune autorisation de modification",
@@ -721,6 +752,15 @@ const fr = {
721
752
  viewHistory: "Voir l'historique",
722
753
  delete: "Supprimer",
723
754
  moreActions: "Plus d'actions",
755
+ addReaction: "Ajouter une réaction",
756
+ pageHeaderActions: "Actions de l'en-tête de page",
757
+ emojiPicker: "Sélecteur d'émojis",
758
+ reactionCount: "{{emoji}} {{count}} réactions",
759
+ reactionCountOne: "{{emoji}} {{count}} réaction",
760
+ recordDetail: "Détail de l'enregistrement",
761
+ recordDetailWithLabel: "Détail — {{label}}",
762
+ openAsFullPage: "Ouvrir en pleine page",
763
+ recordDetailOverlay: "Panneau de détail de l'enregistrement pour {{title}}.",
724
764
  addToFavorites: "Ajouter aux favoris",
725
765
  removeFromFavorites: "Retirer des favoris",
726
766
  previousRecord: "Enregistrement précédent",
@@ -817,11 +857,15 @@ const fr = {
817
857
  saving: "Enregistrement…",
818
858
  lockedByApproval: "Verrouillé pour approbation",
819
859
  lockedTooltip: "Cet enregistrement a une demande d'approbation en attente ; la modification est verrouillée",
820
- writeStrippedTitle: "Certains champs n'ont pas été enregistrés",
821
- writeStrippedReadonly: "En lecture seule, donc non enregistré : {{fields}}",
822
- writeStrippedByState: "Non modifiable dans l'état actuel de cet enregistrement, donc non enregistré : {{fields}}",
860
+ writeStrippedTitle: "Enregistré — mais certains champs n'ont pas été appliqués",
861
+ writeStrippedReadonly: "En lecture seule, donc non appliqué : {{fields}}",
862
+ writeStrippedByState: "Non modifiable dans l'état actuel de cet enregistrement, donc non appliqué : {{fields}}",
823
863
  approvalPendingEditable: "En approbation · modifiable",
824
864
  approvalPendingTooltip: "Cet enregistrement a une demande d'approbation en attente ; cette étape autorise encore la modification",
865
+ approvalProgress: "Approbations — {{got}} sur {{need}}",
866
+ approvalProgressGroups: "Validation — {{got}} sur {{need}} groupes",
867
+ approvalProgressLabel: "Progression de l'approbation",
868
+ approvalsPanelTitle: "Approbations",
825
869
  cancelApproval: "Annuler l'approbation",
826
870
  cancelApprovalInFlight: "Annulation…",
827
871
  cancelApprovalTooltip: "Annuler la demande d'approbation en attente pour déverrouiller l'enregistrement",
@@ -1411,6 +1455,13 @@ const fr = {
1411
1455
  retry: "Réessayer",
1412
1456
  retrying: "Nouvelle tentative…",
1413
1457
  },
1458
+ serverAction: {
1459
+ openingTitle: "Ouverture…",
1460
+ openingBody: "Ouverture… cela peut prendre un moment.",
1461
+ popupBlockedTitle: "Fenêtre contextuelle bloquée",
1462
+ popupBlockedDescription: "Le navigateur a bloqué l'ouverture du nouvel onglet.",
1463
+ popupBlockedAction: "Ouvrir dans un nouvel onglet",
1464
+ },
1414
1465
  shortcuts: {
1415
1466
  title: "Raccourcis clavier",
1416
1467
  description: "Référence rapide de tous les raccourcis clavier disponibles.",
@@ -1478,6 +1529,8 @@ const fr = {
1478
1529
  objectNotFound: "Objet introuvable",
1479
1530
  objectNotFoundDescription: "L'objet « {{objectName}} » n'existe pas dans la configuration actuelle.",
1480
1531
  objectNotFoundHint: "Vérifiez les paramètres de navigation de votre application ou sélectionnez un autre objet dans la barre latérale.",
1532
+ filterOrNotSavable: "Ce filtre relie les conditions par OU, ce qu'une vue enregistrée ne peut pas encore stocker. Il s'applique toujours à cette liste — supprimez le groupement OU pour l'enregistrer dans la vue.",
1533
+ filterNestedNotSavable: "Ce filtre utilise des groupes de conditions imbriqués, qu'une vue enregistrée ne peut pas stocker. Aplatissez-le en une seule liste de conditions pour l'enregistrer dans la vue.",
1481
1534
  allRecords: "Tous les enregistrements",
1482
1535
  exitDesignMode: "Quitter le mode conception",
1483
1536
  enterDesignMode: "Entrer en mode conception",
@@ -2567,6 +2620,20 @@ const fr = {
2567
2620
  addEnvironment: "Ajouter un environnement",
2568
2621
  setUpProduction: "Configurer votre environnement de production",
2569
2622
  addDevelopment: "Ajouter un environnement de développement",
2623
+ // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
2624
+ entitlement: {
2625
+ productionLimitTitle: "Vous avez déjà votre environnement de production",
2626
+ productionLimitBody: "Chaque organisation comprend exactement un environnement de production. Créez une organisation distincte pour en avoir un autre, ou contactez-nous au sujet d'une offre Enterprise.",
2627
+ planLockedTitle: "Les environnements de développement sont une fonctionnalité payante",
2628
+ planLockedBody: "Votre {{plan}} comprend un environnement de production. Passez à une offre supérieure pour ajouter des environnements de développement — développez en dev, puis publiez en production.",
2629
+ limitTitle: "Limite d'environnements de développement atteinte",
2630
+ limitBody: "La capacité évolue avec les sièges IA. Ajoutez un siège IA, ou archivez un environnement de développement inutilisé pour libérer une place.",
2631
+ limitBodyWithCount: "Vous utilisez {{used}} environnements de développement sur {{limit}}. La capacité évolue avec les sièges IA — ajoutez un siège IA, ou archivez un environnement de développement inutilisé.",
2632
+ freePlan: "offre gratuite",
2633
+ namedPlan: "offre {{plan}}",
2634
+ upgradeCta: "Changer d'offre",
2635
+ contactSalesCta: "Contacter le service commercial",
2636
+ },
2570
2637
  },
2571
2638
  cloudConnection: {
2572
2639
  checking: "Vérification de la connexion…",
@@ -2986,5 +3053,39 @@ const fr = {
2986
3053
  addSort: "Ajouter un tri",
2987
3054
  removeSort: "Supprimer le tri",
2988
3055
  },
3056
+ collaboration: {
3057
+ commentCount: "{{count}} commentaires",
3058
+ commentCountOne: "{{count}} commentaire",
3059
+ resolvedSuffix: " · Résolu",
3060
+ sortComments: "Trier les commentaires",
3061
+ sortOldest: "Plus anciens",
3062
+ sortNewest: "Plus récents",
3063
+ resolve: "Résoudre",
3064
+ reopen: "Rouvrir",
3065
+ justNow: "à l'instant",
3066
+ minutesAgo: "il y a {{count}} min",
3067
+ hoursAgo: "il y a {{count}} h",
3068
+ daysAgo: "il y a {{count}} j",
3069
+ edited: "(modifié)",
3070
+ reactionCount: "{{count}} réactions",
3071
+ reactionCountOne: "{{count}} réaction",
3072
+ addThumbsUp: "Ajouter un pouce levé",
3073
+ reply: "Répondre",
3074
+ reactThumbsUp: "Réagir avec un pouce levé",
3075
+ reactHeart: "Réagir avec un cœur",
3076
+ cancelReply: "Annuler la réponse",
3077
+ replyingTo: "Réponse à {{name}}…",
3078
+ replyingToComment: "Réponse au commentaire…",
3079
+ commentPlaceholder: "Ajouter un commentaire… (utilisez @ pour mentionner)",
3080
+ send: "Envoyer",
3081
+ presentUserCount: "{{count}} utilisateurs présents",
3082
+ presentUserCountOne: "{{count}} utilisateur présent",
3083
+ moreUserCount: "{{count}} autres utilisateurs",
3084
+ moreUserCountOne: "{{count}} autre utilisateur",
3085
+ userStatusTitle: "{{name}} ({{status}})",
3086
+ statusActive: "actif",
3087
+ statusIdle: "inactif",
3088
+ statusAway: "absent",
3089
+ },
2989
3090
  };
2990
3091
  export default fr;