@object-ui/i18n 17.3.0 → 17.6.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.
- package/CHANGELOG.md +1929 -1
- package/README.md +41 -12
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.js +1 -2
- package/dist/index.d.ts +23 -21
- package/dist/index.js +31 -21
- package/dist/locales/ar.d.ts +638 -369
- package/dist/locales/ar.js +744 -424
- package/dist/locales/de.d.ts +638 -369
- package/dist/locales/de.js +759 -446
- package/dist/locales/en.d.ts +673 -404
- package/dist/locales/en.js +899 -406
- package/dist/locales/es.d.ts +638 -369
- package/dist/locales/es.js +739 -427
- package/dist/locales/fr.d.ts +638 -369
- package/dist/locales/fr.js +738 -423
- package/dist/locales/index.d.ts +6476 -3786
- package/dist/locales/index.js +20 -20
- package/dist/locales/ja.d.ts +638 -369
- package/dist/locales/ja.js +732 -417
- package/dist/locales/ko.d.ts +638 -369
- package/dist/locales/ko.js +736 -424
- package/dist/locales/pt.d.ts +638 -369
- package/dist/locales/pt.js +737 -425
- package/dist/locales/ru.d.ts +638 -369
- package/dist/locales/ru.js +750 -424
- package/dist/locales/zh.d.ts +672 -403
- package/dist/locales/zh.js +720 -403
- package/dist/pickLocalized.d.ts +58 -0
- package/dist/pickLocalized.js +115 -7
- package/dist/provider.d.ts +84 -2
- package/dist/provider.js +305 -31
- package/dist/useDisplayLocale.d.ts +49 -0
- package/dist/useDisplayLocale.js +55 -0
- package/dist/useObjectLabel.d.ts +94 -14
- package/dist/useObjectLabel.js +134 -21
- package/dist/useSafeTranslation.js +51 -3
- package/dist/utils/index.d.ts +4 -3
- package/dist/utils/index.js +4 -3
- package/dist/utils/number-display.d.ts +32 -0
- package/dist/utils/number-display.js +32 -0
- package/dist/utils/spec-formatters.d.ts +39 -13
- package/dist/utils/spec-formatters.js +3 -3
- package/package.json +4 -3
package/dist/locales/es.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
const es = {
|
|
2
|
+
// objectui#4467 — the impersonation banner (app-shell ImpersonationBanner).
|
|
3
|
+
// Raised by `session.impersonatedBy`, so it survives SPA reboots; it names
|
|
4
|
+
// BOTH parties because the audit trail attributes the work to the impersonated
|
|
5
|
+
// user, and the exit states its own failure rather than appearing to succeed.
|
|
6
|
+
impersonation: {
|
|
7
|
+
banner: {
|
|
8
|
+
message: 'Está suplantando a {{user}}: todas las acciones se registran a su nombre.',
|
|
9
|
+
startedBy: 'Iniciado por el administrador {{admin}}.',
|
|
10
|
+
stop: 'Dejar de suplantar',
|
|
11
|
+
stopping: 'Finalizando…',
|
|
12
|
+
stopFailed: 'No se pudo dejar de suplantar: {{reason}}',
|
|
13
|
+
notRestored: 'El servidor aceptó la solicitud pero no restauró su sesión de administrador: sigue suplantando a {{user}}. Cierre sesión y vuelva a iniciarla para terminar.',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
2
16
|
// objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
|
|
3
17
|
capability: {
|
|
4
18
|
label: {
|
|
@@ -16,6 +30,25 @@ const es = {
|
|
|
16
30
|
other: 'Otro',
|
|
17
31
|
},
|
|
18
32
|
},
|
|
33
|
+
// objectui#3546 slice six — el resumen de solo lectura de las facetas de
|
|
34
|
+
// autorización de PermissionFacetLink. "pestaña" como en list.tabs.
|
|
35
|
+
perm: {
|
|
36
|
+
facet: {
|
|
37
|
+
none: "Ninguno",
|
|
38
|
+
more: "+{{count}} más",
|
|
39
|
+
objects: "{{count}} objetos",
|
|
40
|
+
objects_one: "{{count}} objeto",
|
|
41
|
+
fields: "{{count}} reglas de campo",
|
|
42
|
+
fields_one: "{{count}} regla de campo",
|
|
43
|
+
rls: "{{count}} políticas RLS",
|
|
44
|
+
rls_one: "{{count}} política RLS",
|
|
45
|
+
tabs: "{{count}} reglas de pestaña",
|
|
46
|
+
tabs_one: "{{count}} regla de pestaña",
|
|
47
|
+
adminScope: "Administración delegada configurada",
|
|
48
|
+
designInStudio: "Diseñar en Studio →",
|
|
49
|
+
designInStudioHint: "Diseñar en Studio",
|
|
50
|
+
},
|
|
51
|
+
},
|
|
19
52
|
lookup: {
|
|
20
53
|
recentlyUsed: 'Usados recientemente',
|
|
21
54
|
allResults: 'Todos los resultados',
|
|
@@ -46,13 +79,13 @@ const es = {
|
|
|
46
79
|
common: {
|
|
47
80
|
addToFavorites: "Añadir a favoritos",
|
|
48
81
|
removeFromFavorites: "Quitar de favoritos",
|
|
49
|
-
loading: "Cargando
|
|
82
|
+
loading: "Cargando…",
|
|
50
83
|
save: "Guardar",
|
|
84
|
+
discard: "Descartar",
|
|
51
85
|
cancel: "Cancelar",
|
|
52
86
|
delete: "Eliminar",
|
|
53
87
|
edit: "Editar",
|
|
54
88
|
create: "Crear",
|
|
55
|
-
search: "Buscar",
|
|
56
89
|
filter: "Filtrar",
|
|
57
90
|
reset: "Restablecer",
|
|
58
91
|
confirm: "Confirmar",
|
|
@@ -76,7 +109,7 @@ const es = {
|
|
|
76
109
|
required: "Obligatorio",
|
|
77
110
|
optional: "Opcional",
|
|
78
111
|
selectOption: "Seleccionar una opción",
|
|
79
|
-
select: "Seleccionar
|
|
112
|
+
select: "Seleccionar…",
|
|
80
113
|
openChat: "Abrir chat",
|
|
81
114
|
closeChat: "Cerrar chat",
|
|
82
115
|
closePanel: "Cerrar panel",
|
|
@@ -85,6 +118,11 @@ const es = {
|
|
|
85
118
|
itemCountOne: "{{count}} elemento",
|
|
86
119
|
toggleSidebar: "Alternar barra lateral",
|
|
87
120
|
package: "Paquete",
|
|
121
|
+
done: "Listo",
|
|
122
|
+
editInStudio: "Editar en Studio",
|
|
123
|
+
record: "Registro",
|
|
124
|
+
retry: "Reintentar",
|
|
125
|
+
printDialogHint: "Abre el cuadro de diálogo de impresión de tu navegador (no es una exportación a PDF)",
|
|
88
126
|
},
|
|
89
127
|
actions: {
|
|
90
128
|
decisionOutput: {
|
|
@@ -121,6 +159,9 @@ const es = {
|
|
|
121
159
|
submitFailed: "No se pudo guardar. Inténtalo de nuevo.",
|
|
122
160
|
discardTitle: "¿Descartar los cambios?",
|
|
123
161
|
discardMessage: "Tiene cambios sin guardar. Si cierra este formulario ahora, sus ediciones se perderán.",
|
|
162
|
+
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
163
|
+
// description, used when the form declares no `description` of its own.
|
|
164
|
+
dialogDescriptionFallback: "Complete los campos del formulario y luego envíe o cancele.",
|
|
124
165
|
keepEditing: "Seguir editando",
|
|
125
166
|
discard: "Descartar",
|
|
126
167
|
conflictTitle: "Conflicto al guardar",
|
|
@@ -189,7 +230,7 @@ const es = {
|
|
|
189
230
|
richText: {
|
|
190
231
|
format: "Formato: {{format}}",
|
|
191
232
|
basicEditorHint: "Editor de texto enriquecido (básico)",
|
|
192
|
-
placeholder: "Escribe algo
|
|
233
|
+
placeholder: "Escribe algo…",
|
|
193
234
|
},
|
|
194
235
|
options: {
|
|
195
236
|
empty: "No hay opciones disponibles",
|
|
@@ -225,6 +266,14 @@ const es = {
|
|
|
225
266
|
tags: {
|
|
226
267
|
placeholder: "Escriba y pulse Intro para añadir…",
|
|
227
268
|
},
|
|
269
|
+
// objectui#4028 — `AddressField`'s five sub-labels.
|
|
270
|
+
address: {
|
|
271
|
+
street: "Dirección (calle)",
|
|
272
|
+
city: "Ciudad",
|
|
273
|
+
state: "Estado / Provincia",
|
|
274
|
+
postalCode: "Código postal",
|
|
275
|
+
country: "País",
|
|
276
|
+
},
|
|
228
277
|
textarea: {
|
|
229
278
|
characterCount: "Recuento de caracteres: {{count}} de {{max}}",
|
|
230
279
|
charactersRemaining: "Caracteres restantes: {{count}}",
|
|
@@ -255,7 +304,7 @@ const es = {
|
|
|
255
304
|
saveAll: "Guardar todo ({{count}})",
|
|
256
305
|
addRecord: "Agregar registro",
|
|
257
306
|
open: "Abrir",
|
|
258
|
-
search: "Buscar
|
|
307
|
+
search: "Buscar…",
|
|
259
308
|
modified: "{{count}} filas modificadas",
|
|
260
309
|
saveFailed: 'Error al guardar',
|
|
261
310
|
selected: "{{count}} seleccionados",
|
|
@@ -290,7 +339,7 @@ const es = {
|
|
|
290
339
|
running: "Ejecutando…",
|
|
291
340
|
undo: "Deshacer",
|
|
292
341
|
undoing: "Deshaciendo…",
|
|
293
|
-
done: "
|
|
342
|
+
done: "Listo",
|
|
294
343
|
selectPlaceholder: "Seleccionar…",
|
|
295
344
|
loading: "Cargando…",
|
|
296
345
|
},
|
|
@@ -299,7 +348,7 @@ const es = {
|
|
|
299
348
|
delete: "Eliminar",
|
|
300
349
|
export: "Exportar",
|
|
301
350
|
exportAs: "Exportar como {{format}}",
|
|
302
|
-
loading: "Cargando cuadrícula
|
|
351
|
+
loading: "Cargando cuadrícula…",
|
|
303
352
|
errorLoading: "Error al cargar la cuadrícula",
|
|
304
353
|
pullToRefresh: "Desliza para actualizar",
|
|
305
354
|
refreshing: "Actualizando…",
|
|
@@ -310,6 +359,22 @@ const es = {
|
|
|
310
359
|
yes: "Sí",
|
|
311
360
|
no: "No",
|
|
312
361
|
systemFields: "Sistema",
|
|
362
|
+
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
363
|
+
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
364
|
+
// pack controls its own separator and word order.
|
|
365
|
+
summary: {
|
|
366
|
+
pattern: "{{label}}: {{value}}",
|
|
367
|
+
count: "Recuento",
|
|
368
|
+
countEmpty: "Vacíos",
|
|
369
|
+
countFilled: "Rellenos",
|
|
370
|
+
countUnique: "Únicos",
|
|
371
|
+
percentEmpty: "Vacíos",
|
|
372
|
+
percentFilled: "Rellenos",
|
|
373
|
+
sum: "Suma",
|
|
374
|
+
avg: "Promedio",
|
|
375
|
+
min: "Mín.",
|
|
376
|
+
max: "Máx.",
|
|
377
|
+
},
|
|
313
378
|
toolbar: {
|
|
314
379
|
densityMode: "Densidad",
|
|
315
380
|
densityCompact: "Compacto",
|
|
@@ -423,12 +488,12 @@ const es = {
|
|
|
423
488
|
templateName: "Nombre de la plantilla",
|
|
424
489
|
save: "Guardar",
|
|
425
490
|
deleteTemplate: "Eliminar plantilla",
|
|
426
|
-
savedMapping: '
|
|
427
|
-
chooseSavedMapping: '
|
|
428
|
-
manualMapping: '—
|
|
429
|
-
transform: '
|
|
430
|
-
savedMappingHint: '
|
|
431
|
-
savedMappingPreviewNote: '
|
|
491
|
+
savedMapping: 'Asignación guardada:',
|
|
492
|
+
chooseSavedMapping: 'Elegir una asignación guardada…',
|
|
493
|
+
manualMapping: '— Asignar columnas manualmente —',
|
|
494
|
+
transform: 'Transformación',
|
|
495
|
+
savedMappingHint: 'La asignación "{{name}}" aplica el cambio de nombre + las transformaciones + la conversión de tipos en el servidor. La asignación de columnas es de solo lectura.',
|
|
496
|
+
savedMappingPreviewNote: 'La vista previa muestra sus columnas de origen; al importar, la asignación "{{name}}" aplica el cambio de nombre, las transformaciones y la conversión de tipos en el servidor.',
|
|
432
497
|
csvColumn: "Columna",
|
|
433
498
|
mapsTo: "Se asigna a",
|
|
434
499
|
typeMismatch: "Parece {{type}}",
|
|
@@ -488,6 +553,8 @@ const es = {
|
|
|
488
553
|
loadErrorUnauthorizedMessage: "Su sesión ha expirado o ha cerrado sesión. Inicie sesión de nuevo para ver estos registros.",
|
|
489
554
|
loadErrorRejectedTitle: "La consulta de esta vista fue rechazada",
|
|
490
555
|
loadErrorRejectedMessage: "El servidor no pudo procesar el filtro ni las opciones de consulta de esta vista. Borrar los filtros suele resolverlo; si la vista está guardada así, un administrador debe corregirla.",
|
|
556
|
+
loadErrorApiDisabledTitle: "Este objeto no está disponible a través de la API",
|
|
557
|
+
loadErrorApiDisabledMessage: "Esta página no puede cargar sus registros porque el objeto no está expuesto a través de la API. Es un ajuste del propio objeto, no un permiso: un administrador debe habilitar el acceso por API para que esta página funcione.",
|
|
491
558
|
retry: "Reintentar",
|
|
492
559
|
managedBy: {
|
|
493
560
|
system: {
|
|
@@ -512,7 +579,7 @@ const es = {
|
|
|
512
579
|
},
|
|
513
580
|
},
|
|
514
581
|
refresh: "Actualizar",
|
|
515
|
-
loading:
|
|
582
|
+
loading: "Cargando registros…",
|
|
516
583
|
recordCount: "{{count}} registros",
|
|
517
584
|
recordCountOne: "{{count}} registro",
|
|
518
585
|
addRecord: "Agregar registro",
|
|
@@ -524,7 +591,8 @@ const es = {
|
|
|
524
591
|
sort: "Ordenar",
|
|
525
592
|
sortRecords: "Ordenar registros",
|
|
526
593
|
sortByIdSuffix: "(por ID)",
|
|
527
|
-
sortRelationalHint: "Las columnas que apuntan a otro registro no aparecen aquí: solo pueden ordenarse por el ID almacenado, no por el nombre que se muestra en la celda. Para ordenar por ese nombre,
|
|
594
|
+
sortRelationalHint: "Las columnas que apuntan a otro registro no aparecen aquí: solo pueden ordenarse por el ID almacenado, no por el nombre que se muestra en la celda. Para ordenar por ese nombre, desnormalícelo en este objeto como un campo almacenado, que se escribe cuando cambia el origen, y ordene por él. No un campo de fórmula: es virtual, no se almacena ninguna columna para él y el servidor rechaza ordenar por él.",
|
|
595
|
+
resetSortToDefault: "Restablecer al valor predeterminado de la vista",
|
|
528
596
|
group: "Agrupar",
|
|
529
597
|
groupBy: "Agrupar por",
|
|
530
598
|
export: "Exportar",
|
|
@@ -582,13 +650,16 @@ const es = {
|
|
|
582
650
|
},
|
|
583
651
|
kanban: {
|
|
584
652
|
uncategorized: "Sin categoría",
|
|
653
|
+
columns: "columnas",
|
|
585
654
|
addCard: "Añadir tarjeta",
|
|
586
655
|
addColumn: "Añadir columna",
|
|
587
656
|
moveCard: "Mover tarjeta",
|
|
588
657
|
deleteCard: "Eliminar tarjeta",
|
|
589
658
|
deleteColumn: "Eliminar columna",
|
|
590
659
|
noCards: "Sin tarjetas",
|
|
591
|
-
cardTitlePlaceholder: "Escriba el título de la tarjeta
|
|
660
|
+
cardTitlePlaceholder: "Escriba el título de la tarjeta…",
|
|
661
|
+
requiredFieldsTitle: "Complete los campos obligatorios",
|
|
662
|
+
requiredFieldsDescription: "Este movimiento hace que los campos siguientes sean obligatorios. Complételos para continuar.",
|
|
592
663
|
},
|
|
593
664
|
timeline: {
|
|
594
665
|
bucket: {
|
|
@@ -601,6 +672,13 @@ const es = {
|
|
|
601
672
|
noDate: "Sin fecha",
|
|
602
673
|
unassigned: "Sin asignar",
|
|
603
674
|
},
|
|
675
|
+
scale: {
|
|
676
|
+
week: "Semana {{n}}",
|
|
677
|
+
quarter: "T{{quarter}} {{year}}",
|
|
678
|
+
},
|
|
679
|
+
gantt: {
|
|
680
|
+
rowLabel: "Elementos",
|
|
681
|
+
},
|
|
604
682
|
},
|
|
605
683
|
gantt: {
|
|
606
684
|
viewMode: {
|
|
@@ -647,6 +725,18 @@ const es = {
|
|
|
647
725
|
ff: "Fin → Fin",
|
|
648
726
|
sf: "Inicio → Fin",
|
|
649
727
|
},
|
|
728
|
+
linkEnd: {
|
|
729
|
+
start: "Inicio",
|
|
730
|
+
end: "Fin",
|
|
731
|
+
},
|
|
732
|
+
link: {
|
|
733
|
+
rejected: {
|
|
734
|
+
self: "Una tarea no puede depender de sí misma.",
|
|
735
|
+
locked: "Esta fila está bloqueada y no puede recibir una nueva dependencia.",
|
|
736
|
+
group: "Una fila de resumen no puede recibir dependencias: vincule una de sus tareas.",
|
|
737
|
+
cycle: "Ese vínculo crearía una dependencia circular.",
|
|
738
|
+
},
|
|
739
|
+
},
|
|
650
740
|
conflict: {
|
|
651
741
|
title: "Conflicto de programación",
|
|
652
742
|
body: "Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tarea(s) afectada(s)?",
|
|
@@ -655,8 +745,8 @@ const es = {
|
|
|
655
745
|
},
|
|
656
746
|
autoScheduleDlg: {
|
|
657
747
|
title: "Programación automática",
|
|
658
|
-
body: "¿Retrasar {count} tarea(s) para respetar los vínculos de dependencia?",
|
|
659
|
-
skipped: "{count} tarea(s) bloqueada(s) también incumplen los vínculos y se han omitido.",
|
|
748
|
+
body: "¿Retrasar {{count}} tarea(s) para respetar los vínculos de dependencia?",
|
|
749
|
+
skipped: "{{count}} tarea(s) bloqueada(s) también incumplen los vínculos y se han omitido.",
|
|
660
750
|
confirm: "Aplicar",
|
|
661
751
|
cancel: "Cancelar",
|
|
662
752
|
none: "Todas las dependencias se cumplen: no hay nada que reprogramar.",
|
|
@@ -693,6 +783,7 @@ const es = {
|
|
|
693
783
|
exportPng: "Exportar como PNG",
|
|
694
784
|
exportPdf: "Exportar PDF",
|
|
695
785
|
saveLayout: "Guardar la disposición",
|
|
786
|
+
refresh: "Actualizar",
|
|
696
787
|
undo: "Deshacer",
|
|
697
788
|
redo: "Rehacer",
|
|
698
789
|
prevPeriod: "Período anterior",
|
|
@@ -733,11 +824,11 @@ const es = {
|
|
|
733
824
|
defaultBadge: "predeterminada",
|
|
734
825
|
tabActionsFor: "Acciones de vista para {{name}}",
|
|
735
826
|
readonlyAriaLabel: "Vista de solo lectura",
|
|
736
|
-
readonlyTooltip: "Vista del sistema —
|
|
827
|
+
readonlyTooltip: "Vista del sistema — definida en el código, solo lectura.",
|
|
737
828
|
},
|
|
738
829
|
designer: {
|
|
739
|
-
undo:
|
|
740
|
-
redo:
|
|
830
|
+
undo: "Deshacer",
|
|
831
|
+
redo: "Rehacer",
|
|
741
832
|
},
|
|
742
833
|
detail: {
|
|
743
834
|
editInlineHint: "Haga doble clic para editar",
|
|
@@ -777,13 +868,15 @@ const es = {
|
|
|
777
868
|
relatedRecords: "{{count}} registros",
|
|
778
869
|
relatedRecordOne: "{{count}} registro",
|
|
779
870
|
noRelatedRecords: "No se encontraron registros relacionados",
|
|
780
|
-
loading: "Cargando
|
|
871
|
+
loading: "Cargando…",
|
|
781
872
|
copyToClipboard: "Copiar al portapapeles",
|
|
782
873
|
copied: "¡Copiado!",
|
|
783
874
|
deleteConfirmation: "¿Está seguro de que desea eliminar este registro?",
|
|
875
|
+
deleted: "Registro eliminado",
|
|
784
876
|
editRecord: "Editar registro",
|
|
785
877
|
viewAll: "Ver todo",
|
|
786
878
|
new: "Nuevo",
|
|
879
|
+
add: "Agregar",
|
|
787
880
|
emptyValue: "—",
|
|
788
881
|
comments: "Comentarios",
|
|
789
882
|
searchComments: "Buscar comentarios…",
|
|
@@ -813,6 +906,10 @@ const es = {
|
|
|
813
906
|
attachmentDownloadDenied: "No tiene acceso para descargar este adjunto.",
|
|
814
907
|
attachmentAuthRequired: "Inicie sesión para descargar este adjunto.",
|
|
815
908
|
attachmentPermissionDenied: "No tiene permiso para hacer eso.",
|
|
909
|
+
attachmentsAccessDenied: "No tiene acceso a estos adjuntos.",
|
|
910
|
+
attachmentsLoadFailed: "No se pudieron cargar los adjuntos de este registro.",
|
|
911
|
+
attachmentsApiUnavailable: "La lista de adjuntos no está disponible en este objeto.",
|
|
912
|
+
retryLoadAttachments: "Reintentar",
|
|
816
913
|
unifiedDiff: "Vista unificada",
|
|
817
914
|
sideBySideDiff: "Vista lado a lado",
|
|
818
915
|
noChanges: "Sin cambios",
|
|
@@ -848,6 +945,7 @@ const es = {
|
|
|
848
945
|
loadMore: "Cargar más",
|
|
849
946
|
edited: "(editado)",
|
|
850
947
|
via: "vía {{source}}",
|
|
948
|
+
viewSource: "Ver origen",
|
|
851
949
|
replyCount: "{{count}} respuesta",
|
|
852
950
|
replyCountPlural: "{{count}} respuestas",
|
|
853
951
|
replyPlaceholder: "Responder…",
|
|
@@ -863,6 +961,8 @@ const es = {
|
|
|
863
961
|
writeStrippedTitle: "Guardado, pero algunos campos no se aplicaron",
|
|
864
962
|
writeStrippedReadonly: "De solo lectura, por lo que no se aplicó: {{fields}}",
|
|
865
963
|
writeStrippedByState: "No editable en el estado actual de este registro, por lo que no se aplicó: {{fields}}",
|
|
964
|
+
writeStrippedPrimaryKey: "El identificador del registro no se puede cambiar al guardar, por lo que no se aplicó: {{fields}}",
|
|
965
|
+
writeStrippedUnknownReason: "No aplicado por el servidor: {{fields}}",
|
|
866
966
|
approvalPendingEditable: "En aprobación · editable",
|
|
867
967
|
approvalPendingTooltip: "Este registro tiene una solicitud de aprobación pendiente; este paso todavía permite la edición",
|
|
868
968
|
approvalProgress: "Aprobaciones — {{got}} de {{need}}",
|
|
@@ -875,6 +975,13 @@ const es = {
|
|
|
875
975
|
cancelApprovalTooltipUnlocked: "Cancelar la solicitud de aprobación pendiente",
|
|
876
976
|
cancelApprovalFailed: "No se pudo cancelar la aprobación",
|
|
877
977
|
cancelApprovalUnavailable: "La cancelación de aprobaciones no es compatible con esta fuente de datos",
|
|
978
|
+
pathLabel: 'Ruta del registro',
|
|
979
|
+
pathStageCompleted: '{{stage}}, completada',
|
|
980
|
+
pathStageCurrent: '{{stage}}, etapa actual',
|
|
981
|
+
pathStageUpcoming: '{{stage}}, pendiente',
|
|
982
|
+
pathStageLostCurrent: '{{stage}}, perdida, etapa actual',
|
|
983
|
+
pathStageLostUpcoming: '{{stage}}, perdida, no alcanzada',
|
|
984
|
+
pathStageWonUpcoming: '{{stage}}, etapa objetivo, no alcanzada',
|
|
878
985
|
linkCopied: "Enlace copiado al portapapeles",
|
|
879
986
|
linkCopyFailed: "No se pudo copiar el enlace",
|
|
880
987
|
cancel: "Cancelar",
|
|
@@ -889,9 +996,11 @@ const es = {
|
|
|
889
996
|
concurrentUpdateReload: "Cargar versión actual",
|
|
890
997
|
concurrentUpdateOverwrite: "Sobrescribir de todos modos",
|
|
891
998
|
concurrentUpdateCancel: "Cancelar",
|
|
999
|
+
concurrentUpdateRecordLabel: "este registro",
|
|
892
1000
|
openInNewTab: "Abrir en nueva pestaña",
|
|
893
1001
|
activity: "Actividad",
|
|
894
1002
|
history: "Historial",
|
|
1003
|
+
historyEmpty: "Aún no hay historial",
|
|
895
1004
|
editRow: "Editar",
|
|
896
1005
|
deleteRow: "Eliminar",
|
|
897
1006
|
deleteRowConfirmation: "¿Eliminar este registro?",
|
|
@@ -901,12 +1010,15 @@ const es = {
|
|
|
901
1010
|
nextPage: "Siguiente",
|
|
902
1011
|
pageOf: "Página {{current}} de {{total}}",
|
|
903
1012
|
sortBy: "Ordenar por",
|
|
904
|
-
filterPlaceholder: "Filtrar
|
|
1013
|
+
filterPlaceholder: "Filtrar…",
|
|
905
1014
|
highlightFields: "Campos clave",
|
|
906
1015
|
createdBy: "Creado por",
|
|
907
1016
|
updatedBy: "Actualizado por",
|
|
908
1017
|
created: "Creado",
|
|
909
1018
|
updated: "Actualizado",
|
|
1019
|
+
// objectui#3863 — base key. es's third category `many` starts at a million, where
|
|
1020
|
+
// the plural form is correct, so the base repeats `_other`.
|
|
1021
|
+
showEmptyRelated: "+ {{count}} vacíos",
|
|
910
1022
|
showEmptyRelated_one: "+ {{count}} vacío",
|
|
911
1023
|
showEmptyRelated_other: "+ {{count}} vacíos",
|
|
912
1024
|
copyEmail: "Copiar correo",
|
|
@@ -918,7 +1030,8 @@ const es = {
|
|
|
918
1030
|
},
|
|
919
1031
|
chart: {
|
|
920
1032
|
noData: "No hay datos de gráfico disponibles",
|
|
921
|
-
loading: "Cargando gráfico
|
|
1033
|
+
loading: "Cargando gráfico…",
|
|
1034
|
+
nullCategory: "(Sin especificar)",
|
|
922
1035
|
},
|
|
923
1036
|
map: {
|
|
924
1037
|
searchLocations: "Buscar ubicaciones…",
|
|
@@ -927,68 +1040,9 @@ const es = {
|
|
|
927
1040
|
invalidCoordinates: "{{count}} registro con coordenadas faltantes o inválidas excluido del mapa.",
|
|
928
1041
|
invalidCoordinatesPlural: "{{count}} registros con coordenadas faltantes o inválidas excluidos del mapa.",
|
|
929
1042
|
},
|
|
930
|
-
workflow: {
|
|
931
|
-
draft: "Borrador",
|
|
932
|
-
active: "Activo",
|
|
933
|
-
paused: "En pausa",
|
|
934
|
-
completed: "Completado",
|
|
935
|
-
cancelled: "Cancelado",
|
|
936
|
-
save: "Guardar",
|
|
937
|
-
publish: "Publicar",
|
|
938
|
-
addNode: "Añadir nodo",
|
|
939
|
-
workflowFlow: "Flujo de trabajo",
|
|
940
|
-
properties: "Propiedades",
|
|
941
|
-
connections: "Conexiones",
|
|
942
|
-
quickConnect: "Conexión rápida",
|
|
943
|
-
fromPlaceholder: "Desde...",
|
|
944
|
-
toPlaceholder: "Hasta...",
|
|
945
|
-
connect: "Conectar",
|
|
946
|
-
label: "Etiqueta",
|
|
947
|
-
type: "Tipo",
|
|
948
|
-
description: "Descripción",
|
|
949
|
-
assignee: "Responsable",
|
|
950
|
-
assigneeType: "Tipo de responsable",
|
|
951
|
-
user: "Usuario",
|
|
952
|
-
role: "Rol",
|
|
953
|
-
group: "Grupo",
|
|
954
|
-
expression: "Expresión",
|
|
955
|
-
timeoutMinutes: "Tiempo límite (minutos)",
|
|
956
|
-
selectNodeToEdit: "Selecciona un nodo para editar sus propiedades",
|
|
957
|
-
workflowTitle: "Título del flujo de trabajo",
|
|
958
|
-
newWorkflow: "Nuevo flujo de trabajo",
|
|
959
|
-
outConnections: "{{count}} salida(s)",
|
|
960
|
-
start: "Inicio",
|
|
961
|
-
end: "Fin",
|
|
962
|
-
task: "Tarea",
|
|
963
|
-
userTask: "Tarea de usuario",
|
|
964
|
-
serviceTask: "Tarea de servicio",
|
|
965
|
-
scriptTask: "Tarea de script",
|
|
966
|
-
approval: "Aprobación",
|
|
967
|
-
condition: "Condición",
|
|
968
|
-
parallelGateway: "Compuerta paralela",
|
|
969
|
-
joinGateway: "Compuerta de unión",
|
|
970
|
-
boundaryEvent: "Evento límite",
|
|
971
|
-
delay: "Retraso",
|
|
972
|
-
notification: "Notificación",
|
|
973
|
-
webhook: "Webhook",
|
|
974
|
-
allowConcurrency: "Permitir (ejecución simultánea)",
|
|
975
|
-
forbidConcurrency: "Prohibir (omitir nuevos)",
|
|
976
|
-
replaceConcurrency: "Reemplazar (cancelar existentes)",
|
|
977
|
-
queueConcurrency: "Cola (ejecutar después)",
|
|
978
|
-
conditionEvent: "Condición",
|
|
979
|
-
manualEvent: "Manual",
|
|
980
|
-
webhookEvent: "Webhook",
|
|
981
|
-
timerEvent: "Temporizador",
|
|
982
|
-
signalEvent: "Señal",
|
|
983
|
-
versionHistory: "Historial de versiones",
|
|
984
|
-
importBpmn: "Importar BPMN",
|
|
985
|
-
exportBpmn: "Exportar BPMN",
|
|
986
|
-
undo: "Deshacer",
|
|
987
|
-
redo: "Rehacer",
|
|
988
|
-
resetZoom: "Restablecer zoom",
|
|
989
|
-
},
|
|
990
1043
|
dashboard: {
|
|
991
1044
|
noRows: "Sin filas",
|
|
1045
|
+
loading: "Cargando…",
|
|
992
1046
|
pickMeasures: "Elija medidas (valores) para este widget de dataset.",
|
|
993
1047
|
datasetUnsupported: "Esta fuente de datos no admite consultas de dataset.",
|
|
994
1048
|
details: "Detalles",
|
|
@@ -1025,6 +1079,105 @@ const es = {
|
|
|
1025
1079
|
total: "Total",
|
|
1026
1080
|
noDataAvailable: "Sin datos disponibles",
|
|
1027
1081
|
noDataSourceFor: "Sin fuente de datos para",
|
|
1082
|
+
config: {
|
|
1083
|
+
breadcrumb: {
|
|
1084
|
+
dashboard: "Panel de control",
|
|
1085
|
+
configuration: "Configuración",
|
|
1086
|
+
widget: "Widget",
|
|
1087
|
+
chart: "Gráfico",
|
|
1088
|
+
table: "Tabla",
|
|
1089
|
+
pivotTable: "Tabla dinámica",
|
|
1090
|
+
},
|
|
1091
|
+
section: {
|
|
1092
|
+
general: "General",
|
|
1093
|
+
layout: "Diseño",
|
|
1094
|
+
data: "Datos",
|
|
1095
|
+
dataBinding: "Vinculación de datos",
|
|
1096
|
+
appearance: "Apariencia",
|
|
1097
|
+
},
|
|
1098
|
+
field: {
|
|
1099
|
+
title: "Título",
|
|
1100
|
+
description: "Descripción",
|
|
1101
|
+
columns: "Columnas",
|
|
1102
|
+
gap: "Espaciado",
|
|
1103
|
+
rowHeight: "Altura de fila (px)",
|
|
1104
|
+
autoRefresh: "Actualización automática",
|
|
1105
|
+
showDescription: "Mostrar descripción",
|
|
1106
|
+
theme: "Tema",
|
|
1107
|
+
widgetType: "Tipo de widget",
|
|
1108
|
+
colorVariant: "Variante de color",
|
|
1109
|
+
dataset: "Conjunto de datos",
|
|
1110
|
+
dimensions: "Dimensiones",
|
|
1111
|
+
values: "Valores",
|
|
1112
|
+
width: "Ancho (columnas)",
|
|
1113
|
+
height: "Alto (filas)",
|
|
1114
|
+
},
|
|
1115
|
+
placeholder: {
|
|
1116
|
+
dashboardTitle: "Título del panel",
|
|
1117
|
+
dashboardDescription: "Resumen breve mostrado bajo el título",
|
|
1118
|
+
widgetTitle: "Título del widget",
|
|
1119
|
+
widgetDescription: "Descripción del widget",
|
|
1120
|
+
datasetName: "Nombre del conjunto de datos",
|
|
1121
|
+
selectDataset: "Seleccionar conjunto de datos…",
|
|
1122
|
+
searchDatasets: "Buscar conjuntos de datos…",
|
|
1123
|
+
addDimension: "Añadir dimensión…",
|
|
1124
|
+
addMeasure: "Añadir medida…",
|
|
1125
|
+
searchMembers: "Buscar…",
|
|
1126
|
+
},
|
|
1127
|
+
empty: {
|
|
1128
|
+
datasets: "No se encontraron conjuntos de datos.",
|
|
1129
|
+
dimensions: "No hay dimensiones seleccionadas.",
|
|
1130
|
+
measures: "No hay medidas seleccionadas.",
|
|
1131
|
+
nothingToAdd: "No queda nada por añadir.",
|
|
1132
|
+
},
|
|
1133
|
+
help: {
|
|
1134
|
+
dataset: "El conjunto de datos de la capa semántica al que se vincula este widget (ADR-0021).",
|
|
1135
|
+
dimensions: "Agrupar/dividir los valores por estas dimensiones del conjunto de datos.",
|
|
1136
|
+
dimensionsPivot: "Campos de agrupación/división. La última dimensión se despliega como columnas.",
|
|
1137
|
+
values: "Medidas del conjunto de datos que se mostrarán (al menos una).",
|
|
1138
|
+
},
|
|
1139
|
+
action: {
|
|
1140
|
+
add: "Añadir",
|
|
1141
|
+
remove: "Eliminar {{name}}",
|
|
1142
|
+
},
|
|
1143
|
+
refresh: {
|
|
1144
|
+
off: "Desactivado",
|
|
1145
|
+
every30s: "Cada 30 s",
|
|
1146
|
+
every1m: "Cada 1 min",
|
|
1147
|
+
every5m: "Cada 5 min",
|
|
1148
|
+
every15m: "Cada 15 min",
|
|
1149
|
+
every30m: "Cada 30 min",
|
|
1150
|
+
every1h: "Cada 1 hora",
|
|
1151
|
+
},
|
|
1152
|
+
themeOption: {
|
|
1153
|
+
light: "Claro",
|
|
1154
|
+
dark: "Oscuro",
|
|
1155
|
+
auto: "Automático",
|
|
1156
|
+
},
|
|
1157
|
+
widgetType: {
|
|
1158
|
+
metric: "Métrica",
|
|
1159
|
+
bar: "Gráfico de barras",
|
|
1160
|
+
horizontalBar: "Barras horizontales",
|
|
1161
|
+
line: "Gráfico de líneas",
|
|
1162
|
+
pie: "Gráfico circular",
|
|
1163
|
+
donut: "Gráfico de anillo",
|
|
1164
|
+
area: "Gráfico de área",
|
|
1165
|
+
scatter: "Gráfico de dispersión",
|
|
1166
|
+
funnel: "Embudo",
|
|
1167
|
+
table: "Tabla",
|
|
1168
|
+
pivot: "Tabla dinámica",
|
|
1169
|
+
},
|
|
1170
|
+
color: {
|
|
1171
|
+
default: "Predeterminado",
|
|
1172
|
+
blue: "Azul",
|
|
1173
|
+
teal: "Verde azulado",
|
|
1174
|
+
orange: "Naranja",
|
|
1175
|
+
purple: "Morado",
|
|
1176
|
+
success: "Éxito",
|
|
1177
|
+
warning: "Advertencia",
|
|
1178
|
+
danger: "Peligro",
|
|
1179
|
+
},
|
|
1180
|
+
},
|
|
1028
1181
|
trend: {
|
|
1029
1182
|
vsLastQuarter: "vs. trimestre anterior",
|
|
1030
1183
|
vsLastMonth: "vs. mes anterior",
|
|
@@ -1034,24 +1187,6 @@ const es = {
|
|
|
1034
1187
|
vsPreviousPeriod: "vs. período anterior",
|
|
1035
1188
|
},
|
|
1036
1189
|
},
|
|
1037
|
-
configPanel: {
|
|
1038
|
-
save: "Guardar",
|
|
1039
|
-
discard: "Descartar",
|
|
1040
|
-
close: "Cerrar",
|
|
1041
|
-
layout: "Diseño",
|
|
1042
|
-
columns: "Columnas",
|
|
1043
|
-
gap: "Espaciado",
|
|
1044
|
-
rowHeight: "Altura de fila",
|
|
1045
|
-
data: "Datos",
|
|
1046
|
-
refreshInterval: "Intervalo de actualización",
|
|
1047
|
-
appearance: "Apariencia",
|
|
1048
|
-
title: "Título",
|
|
1049
|
-
showDescription: "Mostrar descripción",
|
|
1050
|
-
theme: "Tema",
|
|
1051
|
-
configuration: "Configuración",
|
|
1052
|
-
general: "General",
|
|
1053
|
-
advanced: "Avanzado",
|
|
1054
|
-
},
|
|
1055
1190
|
appDesigner: {
|
|
1056
1191
|
createApp: "Crear aplicación",
|
|
1057
1192
|
editApp: "Editar aplicación",
|
|
@@ -1102,8 +1237,6 @@ const es = {
|
|
|
1102
1237
|
showSort: "Mostrar orden",
|
|
1103
1238
|
appearance: "Apariencia",
|
|
1104
1239
|
rowHeight: "Altura de fila",
|
|
1105
|
-
stripedRows: "Filas alternadas",
|
|
1106
|
-
bordered: "Con borde",
|
|
1107
1240
|
livePreview: "Vista previa en vivo",
|
|
1108
1241
|
stepBasicDesc: "Nombre, título y diseño",
|
|
1109
1242
|
stepObjectsDesc: "Seleccionar objetos de negocio",
|
|
@@ -1217,7 +1350,6 @@ const es = {
|
|
|
1217
1350
|
unique: "Único",
|
|
1218
1351
|
readOnly: "Solo lectura",
|
|
1219
1352
|
hidden: "Oculto",
|
|
1220
|
-
indexed: "Indexado",
|
|
1221
1353
|
externalId: "ID externo",
|
|
1222
1354
|
trackHistory: "Rastrear historial",
|
|
1223
1355
|
defaultValue: "Valor predeterminado",
|
|
@@ -1246,6 +1378,7 @@ const es = {
|
|
|
1246
1378
|
},
|
|
1247
1379
|
},
|
|
1248
1380
|
console: {
|
|
1381
|
+
saveAdvisoryTitle: "Guardado: la comprobación de creación generó {{count}} recomendación(es)",
|
|
1249
1382
|
settingsHub: {
|
|
1250
1383
|
title: "Configuración",
|
|
1251
1384
|
subtitle: "Configure su espacio de trabajo, las integraciones y los indicadores de funciones.",
|
|
@@ -1290,6 +1423,13 @@ const es = {
|
|
|
1290
1423
|
passwordsDownload: "Descargar CSV",
|
|
1291
1424
|
},
|
|
1292
1425
|
ai: {
|
|
1426
|
+
pendingDrafts: {
|
|
1427
|
+
count: "{{count}} cambio(s) aún no se han publicado — los usuarios no pueden verlos.",
|
|
1428
|
+
publish: "Publicar",
|
|
1429
|
+
published: "Todos los cambios pendientes están activos.",
|
|
1430
|
+
failed: "Error al publicar.",
|
|
1431
|
+
publishedWithFindings: "Publicado, pero las comprobaciones en tiempo de ejecución detectaron problemas: {{detail}}",
|
|
1432
|
+
},
|
|
1293
1433
|
usage: {
|
|
1294
1434
|
title: "Uso de IA",
|
|
1295
1435
|
meterBuild: "Crear",
|
|
@@ -1312,7 +1452,7 @@ const es = {
|
|
|
1312
1452
|
shareTitle: "Compartir esta conversación",
|
|
1313
1453
|
shareDisabledTitle: "Empiece a chatear para habilitar el uso compartido",
|
|
1314
1454
|
newChat: "Nuevo",
|
|
1315
|
-
searchChats: "Buscar chats
|
|
1455
|
+
searchChats: "Buscar chats…",
|
|
1316
1456
|
noChatsYet: "Todavía no hay chats",
|
|
1317
1457
|
noChatsDescription: "Inicie una conversación nueva para verla aquí.",
|
|
1318
1458
|
noMatchingChats: "No hay chats coincidentes.",
|
|
@@ -1321,18 +1461,18 @@ const es = {
|
|
|
1321
1461
|
deleteConversation: "Eliminar conversación",
|
|
1322
1462
|
saveRename: "Guardar el nombre",
|
|
1323
1463
|
cancelRename: "Cancelar el cambio de nombre",
|
|
1324
|
-
loadingHistory: "Cargando el historial de la conversación
|
|
1464
|
+
loadingHistory: "Cargando el historial de la conversación…",
|
|
1325
1465
|
conversationReady: "Conversación lista",
|
|
1326
1466
|
preparingConversation: "Preparando una nueva conversación",
|
|
1327
1467
|
offlineDemoMode: "Modo de demostración sin conexión — lista de agentes no disponible",
|
|
1328
1468
|
sendFailedRateLimited: "Está enviando mensajes demasiado rápido. Su mensaje se conserva abajo — espere un momento y vuelva a intentarlo.",
|
|
1329
1469
|
sendFailedGeneric: "No se pudo enviar su mensaje. Se conserva abajo — inténtelo de nuevo.",
|
|
1330
|
-
askAgent: "Pregunte a {{agent}}
|
|
1470
|
+
askAgent: "Pregunte a {{agent}}…",
|
|
1331
1471
|
assistant: "Asistente",
|
|
1332
1472
|
liveCanvas: "Vista previa en vivo — {{app}} (borrador)",
|
|
1333
1473
|
liveCanvasUnlisted: "Aplicación en vivo — {{app}} (no listada hasta su publicación)",
|
|
1334
|
-
loadingAgents: "Cargando agentes
|
|
1335
|
-
askAnything: "Pregunte lo que quiera
|
|
1474
|
+
loadingAgents: "Cargando agentes…",
|
|
1475
|
+
askAnything: "Pregunte lo que quiera…",
|
|
1336
1476
|
emptyTitle: "Iniciar una conversación",
|
|
1337
1477
|
emptyDescription: "Pregunte lo que quiera — el asistente tiene acceso al contexto de su aplicación actual.",
|
|
1338
1478
|
switchAssistant: "Cambiar de asistente",
|
|
@@ -1425,6 +1565,11 @@ const es = {
|
|
|
1425
1565
|
changesConfirmed: "Confirmado",
|
|
1426
1566
|
changesConfirm: "Confirmar",
|
|
1427
1567
|
changesConfirmHint: "Responda para confirmar o ajustar este cambio.",
|
|
1568
|
+
changesApplying: "Aplicando…",
|
|
1569
|
+
changesApplied: "Aplicado",
|
|
1570
|
+
changesDrafted: "Guardado como borrador",
|
|
1571
|
+
changesFailed: "No aplicado",
|
|
1572
|
+
discussing: "Tratando: {{target}}",
|
|
1428
1573
|
changeVerb: {
|
|
1429
1574
|
createObject: "Crear objeto",
|
|
1430
1575
|
addField: "Añadir campo",
|
|
@@ -1435,9 +1580,60 @@ const es = {
|
|
|
1435
1580
|
createSeed: "Generar datos de ejemplo",
|
|
1436
1581
|
createPackage: "Crear paquete de aplicación",
|
|
1437
1582
|
},
|
|
1583
|
+
// objectui#3546 slice four — the AI console surfaces: the /ai chat page's app switcher,
|
|
1584
|
+
// connection banner and plan/publish cards, the ChatDock chrome, and the
|
|
1585
|
+
// conversation-list date buckets. `group.*` is the template-key family
|
|
1586
|
+
// `console.ai.group.${key}` (ConversationsSidebar), enumerated from the
|
|
1587
|
+
// ConversationGroupKey union — all five members, no wildcard.
|
|
1588
|
+
collapseToDock: "Contraer al panel lateral",
|
|
1589
|
+
switchApp: "Cambiar de aplicación",
|
|
1590
|
+
switchAppLabel: "Conversaciones de creación por aplicación",
|
|
1591
|
+
newApp: "Nueva aplicación",
|
|
1592
|
+
connectionWaiting: "Esperando al servidor…",
|
|
1593
|
+
connectionStalled: "Sigue en proceso…",
|
|
1594
|
+
connectionOffline: "Conexión perdida — reconectando…",
|
|
1595
|
+
designingPlan: "Diseñando su aplicación…",
|
|
1596
|
+
designingPlanHint: {
|
|
1597
|
+
data: "Trazando los datos que va a registrar…",
|
|
1598
|
+
objects: "Dando forma a los objetos y sus campos…",
|
|
1599
|
+
relations: "Conectando los registros relacionados…",
|
|
1600
|
+
lookups: "Configurando las relaciones y los campos de búsqueda…",
|
|
1601
|
+
views: "Planificando las pantallas y las vistas…",
|
|
1602
|
+
forms: "Organizando los formularios y las listas…",
|
|
1603
|
+
defaults: "Agregando valores predeterminados y validaciones razonables…",
|
|
1604
|
+
dashboard: "Bosquejando un panel para el seguimiento…",
|
|
1605
|
+
review: "Comprobando que la estructura encaje…",
|
|
1606
|
+
finalize: "Reuniendo el plan…",
|
|
1607
|
+
},
|
|
1608
|
+
planBuilding: "Creando…",
|
|
1609
|
+
planBuilt: "Creado",
|
|
1610
|
+
planDeferred: "Aún no creado",
|
|
1611
|
+
planReady: "El plan está listo. Créelo ahora o dígame qué ajustar.",
|
|
1612
|
+
published: "Publicado",
|
|
1613
|
+
publishFailed: "Error al publicar",
|
|
1614
|
+
unavailableTitle: "Asistente de IA no disponible",
|
|
1615
|
+
unavailableDescription: "Esta implementación no tiene habilitado un asistente de IA. Todo lo demás funciona con normalidad.",
|
|
1616
|
+
unavailableError: "No se pudo contactar con el servicio de IA. Puede estar temporalmente sin conexión — reinténtelo o vuelva al inicio.",
|
|
1617
|
+
unavailableRetry: "Reintentar",
|
|
1618
|
+
unavailableHome: "Volver al inicio",
|
|
1619
|
+
dock: {
|
|
1620
|
+
title: "Asistente",
|
|
1621
|
+
description: "Chat con el asistente de IA",
|
|
1622
|
+
resize: "Redimensionar el chat",
|
|
1623
|
+
collapse: "Contraer el chat",
|
|
1624
|
+
maximize: "Abrir como página completa",
|
|
1625
|
+
open: "Abrir el asistente",
|
|
1626
|
+
},
|
|
1627
|
+
group: {
|
|
1628
|
+
today: "Hoy",
|
|
1629
|
+
yesterday: "Ayer",
|
|
1630
|
+
previous7Days: "7 días anteriores",
|
|
1631
|
+
previous30Days: "30 días anteriores",
|
|
1632
|
+
older: "Anteriores",
|
|
1633
|
+
},
|
|
1438
1634
|
},
|
|
1439
1635
|
title: "Consola ObjectStack",
|
|
1440
|
-
initializing: "Inicializando aplicación
|
|
1636
|
+
initializing: "Inicializando aplicación…",
|
|
1441
1637
|
loadingHint: "Configurar un entorno nuevo puede tardar unos momentos.",
|
|
1442
1638
|
breadcrumb: {
|
|
1443
1639
|
dashboards: "Paneles",
|
|
@@ -1445,6 +1641,31 @@ const es = {
|
|
|
1445
1641
|
reports: "Informes",
|
|
1446
1642
|
system: "Sistema",
|
|
1447
1643
|
},
|
|
1644
|
+
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1645
|
+
// `settingsHub` above already resolved through this pack; the view was the
|
|
1646
|
+
// one file still carrying English literals.
|
|
1647
|
+
settingsView: {
|
|
1648
|
+
backToHub: "Toda la configuración",
|
|
1649
|
+
back: "Atrás",
|
|
1650
|
+
noNamespace: "No hay ningún espacio de nombres seleccionado.",
|
|
1651
|
+
loadError: "No se pudo cargar la configuración",
|
|
1652
|
+
saved: "Configuración guardada",
|
|
1653
|
+
saveFailed: "Error al guardar",
|
|
1654
|
+
lockedByEnv: "Bloqueado por el entorno: {{key}}",
|
|
1655
|
+
lockedByEnvNoKey: "Bloqueado por el entorno",
|
|
1656
|
+
actionSucceeded: "La acción se completó correctamente",
|
|
1657
|
+
actionFailed: "La acción falló",
|
|
1658
|
+
discard: "Descartar",
|
|
1659
|
+
saveChanges: "Guardar cambios",
|
|
1660
|
+
unsavedCount: "{{count}} cambios sin guardar",
|
|
1661
|
+
unsavedCount_one: "{{count}} cambio sin guardar",
|
|
1662
|
+
unsavedCount_other: "{{count}} cambios sin guardar",
|
|
1663
|
+
cryptoRefusalTitle: "Esta instalación no puede cifrar secretos",
|
|
1664
|
+
cryptoRefusalSubjectSuffix: "está declarado como cifrado, por lo que no se escribió nada.",
|
|
1665
|
+
cryptoRefusalNoSubject: "El valor declarado como cifrado fue rechazado, por lo que no se escribió nada.",
|
|
1666
|
+
cryptoRefusalToast: "No se pueden cifrar los secretos: {{subject}}",
|
|
1667
|
+
cryptoRefusalToastNoSubject: "No se pueden cifrar los secretos",
|
|
1668
|
+
},
|
|
1448
1669
|
loadingSteps: {
|
|
1449
1670
|
connecting: "Conectando a la fuente de datos",
|
|
1450
1671
|
loadingConfig: "Cargando configuración",
|
|
@@ -1474,6 +1695,7 @@ const es = {
|
|
|
1474
1695
|
general: "General",
|
|
1475
1696
|
navigation: "Navegación",
|
|
1476
1697
|
dataViews: "Vistas de datos",
|
|
1698
|
+
aiChat: "Asistente de IA",
|
|
1477
1699
|
preferences: "Preferencias",
|
|
1478
1700
|
},
|
|
1479
1701
|
openCommandPalette: "Abrir paleta de comandos",
|
|
@@ -1484,11 +1706,13 @@ const es = {
|
|
|
1484
1706
|
createRecord: "Crear nuevo registro",
|
|
1485
1707
|
refreshData: "Actualizar datos",
|
|
1486
1708
|
editRecord: "Editar registro seleccionado",
|
|
1709
|
+
newChat: "Nuevo chat",
|
|
1710
|
+
toggleChatsList: "Alternar lista de chats",
|
|
1487
1711
|
toggleDarkMode: "Alternar modo oscuro",
|
|
1488
1712
|
},
|
|
1489
1713
|
commandPalette: {
|
|
1490
1714
|
title: "Paleta de comandos",
|
|
1491
|
-
placeholder: "Escriba un comando o busque
|
|
1715
|
+
placeholder: "Escriba un comando o busque…",
|
|
1492
1716
|
noResults: "No se encontraron resultados.",
|
|
1493
1717
|
objects: "Objetos",
|
|
1494
1718
|
dashboards: "Paneles",
|
|
@@ -1514,6 +1738,12 @@ const es = {
|
|
|
1514
1738
|
goHome: "Ir al inicio",
|
|
1515
1739
|
errorDetails: "Detalles del error (solo desarrollo)",
|
|
1516
1740
|
},
|
|
1741
|
+
// objectui#3546 slice four — the console's catch-all route (AppContent `RouteNotFound`).
|
|
1742
|
+
notFound: {
|
|
1743
|
+
title: "Página no encontrada",
|
|
1744
|
+
description: "La URL que siguió no coincide con ninguna vista de esta aplicación.",
|
|
1745
|
+
back: "Volver",
|
|
1746
|
+
},
|
|
1517
1747
|
theme: {
|
|
1518
1748
|
toggle: "Cambiar tema",
|
|
1519
1749
|
light: "Claro",
|
|
@@ -1529,109 +1759,41 @@ const es = {
|
|
|
1529
1759
|
viewNameHelp: "Clave técnica (snake_case). Se rellena automáticamente a partir del título — edítela si lo desea.",
|
|
1530
1760
|
viewNameRequired: "Introduzca una clave (minúsculas, números, guion bajo). No se rellena automáticamente con títulos no latinos.",
|
|
1531
1761
|
viewNameInvalid: "Use minúsculas, números y guiones bajos; empiece por una letra o un guion bajo.",
|
|
1532
|
-
systemViewReadonly:
|
|
1533
|
-
|
|
1762
|
+
systemViewReadonly: "Vista del sistema definida en el código: solo lectura.",
|
|
1763
|
+
cannotEditMetaView: "Esta vista está integrada y definida en el código: no se puede modificar.",
|
|
1764
|
+
cannotDeleteMetaView: "Esta vista está integrada y definida en el código: no se puede eliminar.",
|
|
1765
|
+
expandToPage: "Abrir como página completa",
|
|
1534
1766
|
objectNotFound: "Objeto no encontrado",
|
|
1535
1767
|
objectNotFoundDescription: "El objeto \"{{objectName}}\" no existe en la configuración actual.",
|
|
1536
1768
|
objectNotFoundHint: "Verifique la configuración de navegación de su aplicación o seleccione un objeto diferente en la barra lateral.",
|
|
1537
1769
|
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
1770
|
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.",
|
|
1539
1771
|
allRecords: "Todos los registros",
|
|
1540
|
-
exitDesignMode: "Salir del modo de diseño",
|
|
1541
|
-
enterDesignMode: "Entrar en modo de diseño",
|
|
1542
|
-
metadataInspector: "Inspector de metadatos",
|
|
1543
|
-
editView: "Editar vista",
|
|
1544
|
-
addView: "Agregar vista",
|
|
1545
|
-
designTools: "Herramientas de diseño",
|
|
1546
1772
|
new: "Nuevo",
|
|
1547
1773
|
configureView: "Configurar vista",
|
|
1548
|
-
closePanel: "Cerrar panel",
|
|
1549
|
-
page: "Página",
|
|
1550
|
-
pageConfigHint: "Barra de herramientas, navegación y configuración del shell de vista",
|
|
1551
|
-
listConfigHint: "Renderizado de datos, columnas y apariencia para este tipo de lista",
|
|
1552
|
-
general: "General",
|
|
1553
|
-
generalHint: "Título, descripción y tipo de la vista",
|
|
1554
1774
|
toolbar: "Barra de herramientas",
|
|
1555
|
-
toolbarHint: "Búsqueda, filtro, orden, agrupación y alternancia de densidad",
|
|
1556
1775
|
toolbarEnabledCount: "{{count}} de {{total}} habilitados",
|
|
1557
|
-
|
|
1558
|
-
navigationHint: "Comportamiento al hacer clic en la fila y configuración de la vista detallada",
|
|
1559
|
-
records: "Registros",
|
|
1560
|
-
recordsHint: "Modo de selección, agregar registro y edición en línea",
|
|
1561
|
-
exportPrint: "Exportar e imprimir",
|
|
1562
|
-
exportPrintHint: "Formatos de exportación, impresión y visualización del recuento de registros",
|
|
1563
|
-
showAllFields: "Mostrar todo",
|
|
1564
|
-
hideAllFields: "Ocultar todo",
|
|
1565
|
-
searchFields: "Buscar campos...",
|
|
1776
|
+
searchFields: "Buscar campos…",
|
|
1566
1777
|
title: "Título",
|
|
1567
|
-
description: "Descripción",
|
|
1568
|
-
data: "Datos",
|
|
1569
|
-
source: "Fuente",
|
|
1570
|
-
columns: "Columnas",
|
|
1571
|
-
filterBy: "Filtrar por",
|
|
1572
|
-
sortBy: "Ordenar por",
|
|
1573
|
-
appearance: "Apariencia",
|
|
1574
|
-
showDescription: "Mostrar descripción",
|
|
1575
1778
|
viewType: "Tipo de vista",
|
|
1576
|
-
userFilters: "Filtros de usuario",
|
|
1577
|
-
enableSearch: "Habilitar búsqueda",
|
|
1578
|
-
enableFilter: "Habilitar filtro",
|
|
1579
|
-
enableSort: "Habilitar ordenamiento",
|
|
1580
|
-
enableHideFields: "Habilitar ocultar campos",
|
|
1581
|
-
enableGroup: "Habilitar agrupación",
|
|
1582
|
-
enableColor: "Habilitar color",
|
|
1583
|
-
enableDensity: "Habilitar densidad",
|
|
1584
|
-
userActions: "Acciones de usuario",
|
|
1585
|
-
addRecordViaForm: "Agregar registros mediante formulario",
|
|
1586
|
-
advanced: "Avanzado",
|
|
1587
|
-
allowExport: "Permitir exportación",
|
|
1588
1779
|
recordCount: "{{count}} registros",
|
|
1589
|
-
noDescription: "Sin descripción",
|
|
1590
|
-
none: "Ninguno",
|
|
1591
|
-
columnsConfigured: "{{count}} columnas",
|
|
1592
1780
|
save: "Guardar",
|
|
1593
1781
|
discard: "Descartar",
|
|
1594
1782
|
createView: "Crear vista",
|
|
1595
1783
|
newView: "Nueva vista",
|
|
1596
|
-
typeOptions: "Opciones de tipo",
|
|
1597
1784
|
groupByField: "Campo de agrupación",
|
|
1598
1785
|
startDateField: "Campo de fecha de inicio",
|
|
1599
1786
|
titleField: "Campo de título",
|
|
1600
1787
|
latitudeField: "Campo de latitud",
|
|
1601
1788
|
longitudeField: "Campo de longitud",
|
|
1602
1789
|
imageField: "Campo de imagen",
|
|
1603
|
-
|
|
1604
|
-
selectField: "Seleccionar campo...",
|
|
1605
|
-
gridOptionsHint: "La vista de cuadrícula usa las columnas configuradas arriba.",
|
|
1790
|
+
selectField: "Seleccionar campo…",
|
|
1606
1791
|
groupBy: "Agrupar por",
|
|
1607
|
-
prefixField: "Campo de prefijo",
|
|
1608
|
-
fields: "Campos",
|
|
1609
|
-
fieldsVisible: "{{count}} visibles",
|
|
1610
|
-
sortsCount: "{{count}} ordenamientos",
|
|
1611
|
-
filtersCount: "{{count}} filtros",
|
|
1612
1792
|
endDateField: "Campo de fecha de fin",
|
|
1613
|
-
color: "Color",
|
|
1614
|
-
fieldTextColor: "Color del texto del campo",
|
|
1615
|
-
rowHeight: "Altura de fila",
|
|
1616
|
-
wrapHeaders: "Ajustar encabezados",
|
|
1617
|
-
showFieldDescriptions: "Mostrar descripciones de campos",
|
|
1618
|
-
collapseAllByDefault: "Contraer todo por defecto",
|
|
1619
|
-
striped: "Filas alternadas",
|
|
1620
|
-
bordered: "Celdas con borde",
|
|
1621
|
-
inlineEdit: "Editar registros en línea",
|
|
1622
|
-
addDeleteRecordsInline: "Agregar/eliminar registros en línea",
|
|
1623
|
-
clickIntoRecordDetails: "Clic para detalles del registro",
|
|
1624
|
-
navigationMode: "Modo de navegación",
|
|
1625
|
-
navigationWidth: "Ancho de navegación",
|
|
1626
|
-
navigationWidthHint: "Disponible para los modos de navegación cajón, modal y dividido",
|
|
1627
|
-
openNewTab: "Abrir en nueva pestaña",
|
|
1628
|
-
openNewTabHint: "Disponible para los modos de navegación página y nueva ventana",
|
|
1629
1793
|
import: "Importar",
|
|
1630
1794
|
importTitle: "Importar desde CSV",
|
|
1631
1795
|
importedToast: "{{count}} fila(s) importada(s).",
|
|
1632
1796
|
importedWithSkipped: "{{ok}} fila(s) importada(s); {{skipped}} omitida(s).",
|
|
1633
|
-
showAdvancedSettings: "Mostrar configuración avanzada",
|
|
1634
|
-
showFewerSettings: "Mostrar menos configuraciones",
|
|
1635
1797
|
createViewDesc: "Elija un tipo de vista y asígnele un nombre. Todas las configuraciones se pueden cambiar después.",
|
|
1636
1798
|
cancel: "Cancelar",
|
|
1637
1799
|
create: "Crear",
|
|
@@ -1664,7 +1826,7 @@ const es = {
|
|
|
1664
1826
|
latitudeFieldHelp: "Campo que contiene la latitud (solo campos geográficos).",
|
|
1665
1827
|
longitudeFieldHelp: "Campo que contiene la longitud (solo campos geográficos).",
|
|
1666
1828
|
imageFieldHelp: "La portada de la galería proviene de este campo de imagen o adjunto.",
|
|
1667
|
-
selectOption: "Seleccionar
|
|
1829
|
+
selectOption: "Seleccionar…",
|
|
1668
1830
|
noEligibleFieldForType: "Ningún campo elegible de ese tipo. Agregue uno al objeto primero.",
|
|
1669
1831
|
viewTypeUnavailable: "Este objeto no tiene un campo que sirva como \"{{field}}\".",
|
|
1670
1832
|
viewTypeUnavailableShort: "No compatible con este objeto.",
|
|
@@ -1679,58 +1841,9 @@ const es = {
|
|
|
1679
1841
|
xAxisFieldHelp: "La dimensión categórica o temporal.",
|
|
1680
1842
|
yAxisField: "Campo eje Y",
|
|
1681
1843
|
yAxisFieldHelp: "El campo numérico para agregar.",
|
|
1682
|
-
selectionMode: "Modo de selección",
|
|
1683
|
-
selectionNone: "Ninguno",
|
|
1684
|
-
selectionSingle: "Individual",
|
|
1685
|
-
selectionMultiple: "Múltiple",
|
|
1686
|
-
pageSize: "Tamaño de página",
|
|
1687
|
-
pageSizeOptions: "Opciones de tamaño de página",
|
|
1688
|
-
exportFormats: "Formatos de exportación",
|
|
1689
|
-
exportMaxRecords: "Máximo de registros",
|
|
1690
|
-
exportIncludeHeaders: "Incluir encabezados",
|
|
1691
|
-
exportFileNamePrefix: "Prefijo de nombre de archivo",
|
|
1692
|
-
searchableFields: "Campos buscables",
|
|
1693
|
-
filterableFields: "Campos filtrables",
|
|
1694
|
-
resizableColumns: "Columnas redimensionables",
|
|
1695
|
-
densityCompact: "Compacto",
|
|
1696
|
-
densityComfortable: "Normal",
|
|
1697
|
-
densitySpacious: "Espacioso",
|
|
1698
|
-
densityMode: "Modo de densidad",
|
|
1699
|
-
hiddenFields: "Campos ocultos",
|
|
1700
|
-
rowActions: "Acciones de fila",
|
|
1701
|
-
bulkActions: "Acciones masivas",
|
|
1702
|
-
sharing: "Compartir",
|
|
1703
|
-
sharingEnabled: "Compartir habilitado",
|
|
1704
|
-
sharingVisibility: "Visibilidad",
|
|
1705
|
-
addRecordEnabled: "Agregar registro habilitado",
|
|
1706
|
-
addRecordPosition: "Posición",
|
|
1707
|
-
addRecordMode: "Modo",
|
|
1708
|
-
addRecordFormView: "Vista de formulario",
|
|
1709
|
-
conditionalFormatting: "Formato condicional",
|
|
1710
|
-
addRule: "Agregar regla",
|
|
1711
|
-
quickFilters: "Filtros rápidos",
|
|
1712
|
-
addQuickFilter: "Agregar filtro rápido",
|
|
1713
|
-
ufElements: "Elementos",
|
|
1714
|
-
ufDropdown: "Desplegable",
|
|
1715
1844
|
ufTabs: "Pestañas",
|
|
1716
|
-
|
|
1717
|
-
ufAddField: "+ Agregar campo de filtro...",
|
|
1718
|
-
ufNoFields: "Sin campos disponibles",
|
|
1719
|
-
ufAddTab: "+ Agregar pestaña",
|
|
1720
|
-
ufTabLabel: "Etiqueta",
|
|
1845
|
+
ufAddField: "+ Agregar campo de filtro…",
|
|
1721
1846
|
ufShowAllRecords: "Mostrar pestaña \"Todos los registros\"",
|
|
1722
|
-
ufAllowAddTab: "Permitir agregar pestañas",
|
|
1723
|
-
showRecordCount: "Mostrar recuento de registros",
|
|
1724
|
-
allowPrinting: "Permitir impresión",
|
|
1725
|
-
virtualScroll: "Desplazamiento virtual",
|
|
1726
|
-
emptyStateTitle: "Título de estado vacío",
|
|
1727
|
-
emptyStateMessage: "Mensaje de estado vacío",
|
|
1728
|
-
emptyStateIcon: "Ícono de estado vacío",
|
|
1729
|
-
ariaLabel: "Etiqueta ARIA",
|
|
1730
|
-
ariaDescribedBy: "Descrito por ARIA",
|
|
1731
|
-
ariaLive: "ARIA en vivo",
|
|
1732
|
-
accessibility: "Accesibilidad",
|
|
1733
|
-
viewTabs: "Pestañas de vista",
|
|
1734
1847
|
},
|
|
1735
1848
|
localeSwitcher: {
|
|
1736
1849
|
label: "Idioma",
|
|
@@ -1774,7 +1887,7 @@ const es = {
|
|
|
1774
1887
|
passwordPlaceholder: "Ingresa tu contraseña",
|
|
1775
1888
|
forgotPasswordText: "¿Olvidaste tu contraseña?",
|
|
1776
1889
|
submitButton: "Iniciar sesión",
|
|
1777
|
-
submittingButton: "Iniciando sesión
|
|
1890
|
+
submittingButton: "Iniciando sesión…",
|
|
1778
1891
|
noAccountText: "¿No tienes una cuenta?",
|
|
1779
1892
|
signUpText: "Regístrate",
|
|
1780
1893
|
errors: {
|
|
@@ -1782,6 +1895,18 @@ const es = {
|
|
|
1782
1895
|
invalidCredentials: "Correo o contraseña inválidos. Inténtelo de nuevo.",
|
|
1783
1896
|
emailNotVerified: "Verifique su correo electrónico antes de iniciar sesión.",
|
|
1784
1897
|
},
|
|
1898
|
+
// objectui#3546 slice three — phone/OTP sign-in. `{seconds}` is LoginForm's own
|
|
1899
|
+
// literal `.replace()` hole, not i18next interpolation: keep the single braces.
|
|
1900
|
+
emailOrPhoneLabel: "Correo electrónico o número de teléfono",
|
|
1901
|
+
emailOrPhonePlaceholder: "name@example.com o +1 555 000 0000",
|
|
1902
|
+
phoneLabel: "Número de teléfono",
|
|
1903
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
1904
|
+
otpCodeLabel: "Código de verificación",
|
|
1905
|
+
otpCodePlaceholder: "Código de 6 dígitos",
|
|
1906
|
+
sendOtpButton: "Obtener código",
|
|
1907
|
+
resendOtpCountdownText: "Reenviar en {seconds} s",
|
|
1908
|
+
usePhoneOtpText: "Iniciar sesión con código de verificación",
|
|
1909
|
+
usePasswordSignInText: "Iniciar sesión con contraseña en su lugar",
|
|
1785
1910
|
},
|
|
1786
1911
|
register: {
|
|
1787
1912
|
title: "Crear una cuenta",
|
|
@@ -1797,7 +1922,7 @@ const es = {
|
|
|
1797
1922
|
passwordMismatchError: "Las contraseñas no coinciden",
|
|
1798
1923
|
passwordTooShortError: "La contraseña debe tener al menos 8 caracteres",
|
|
1799
1924
|
submitButton: "Crear cuenta",
|
|
1800
|
-
submittingButton: "Creando cuenta
|
|
1925
|
+
submittingButton: "Creando cuenta…",
|
|
1801
1926
|
hasAccountText: "¿Ya tienes una cuenta?",
|
|
1802
1927
|
signInText: "Iniciar sesión",
|
|
1803
1928
|
errors: {
|
|
@@ -1818,12 +1943,26 @@ const es = {
|
|
|
1818
1943
|
emailLabel: "Correo electrónico",
|
|
1819
1944
|
emailPlaceholder: "name@example.com",
|
|
1820
1945
|
submitButton: "Enviar enlace de restablecimiento",
|
|
1821
|
-
submittingButton: "Enviando
|
|
1946
|
+
submittingButton: "Enviando…",
|
|
1822
1947
|
successTitle: "Revisa tu correo electrónico",
|
|
1823
|
-
successDescription: "Hemos enviado un enlace para restablecer la contraseña a {
|
|
1948
|
+
successDescription: "Hemos enviado un enlace para restablecer la contraseña a {email}. Por favor revisa tu bandeja de entrada.",
|
|
1824
1949
|
backToSignInText: "Volver a iniciar sesión",
|
|
1825
1950
|
rememberPasswordText: "¿Recuerdas tu contraseña?",
|
|
1826
1951
|
signInText: "Iniciar sesión",
|
|
1952
|
+
// objectui#3546 slice three — the SMS reset branch of the same form.
|
|
1953
|
+
phoneLabel: "Número de teléfono",
|
|
1954
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
1955
|
+
otpCodeLabel: "Código de verificación",
|
|
1956
|
+
otpCodePlaceholder: "Código de 6 dígitos",
|
|
1957
|
+
sendOtpButton: "Obtener código",
|
|
1958
|
+
resendOtpCountdownText: "Reenviar en {seconds} s",
|
|
1959
|
+
newPasswordLabel: "Nueva contraseña",
|
|
1960
|
+
newPasswordPlaceholder: "Ingresa una nueva contraseña",
|
|
1961
|
+
resetButton: "Restablecer contraseña",
|
|
1962
|
+
usePhoneResetText: "Restablecer con código SMS",
|
|
1963
|
+
useEmailResetText: "Restablecer por correo electrónico en su lugar",
|
|
1964
|
+
phoneSuccessTitle: "Contraseña restablecida",
|
|
1965
|
+
phoneSuccessDescription: "Tu contraseña ha sido restablecida. Ahora puedes iniciar sesión con tu nueva contraseña.",
|
|
1827
1966
|
},
|
|
1828
1967
|
resetPassword: {
|
|
1829
1968
|
title: "Establecer nueva contraseña",
|
|
@@ -1862,6 +2001,8 @@ const es = {
|
|
|
1862
2001
|
backToLogin: "Volver al inicio de sesión",
|
|
1863
2002
|
checkSpam: "¿No recibió el correo? Revise su carpeta de spam o contacte soporte.",
|
|
1864
2003
|
or: "O",
|
|
2004
|
+
// objectui#3546 slice three.
|
|
2005
|
+
resendUnavailable: "Puede que el envío de correos no esté configurado en este entorno. Contacte soporte si el problema persiste.",
|
|
1865
2006
|
},
|
|
1866
2007
|
setup: {
|
|
1867
2008
|
welcomeTitle: "Bienvenido a ObjectStack",
|
|
@@ -1900,6 +2041,9 @@ const es = {
|
|
|
1900
2041
|
invalidDescription: "No se proporcionó código de dispositivo en la URL.",
|
|
1901
2042
|
loading: "Cargando…",
|
|
1902
2043
|
cancel: "Cancelar",
|
|
2044
|
+
// objectui#3546 slice three — device-authorization plugin switched off.
|
|
2045
|
+
disabledTitle: "La autorización de dispositivos no está habilitada",
|
|
2046
|
+
disabledDescription: "Esta implementación no tiene habilitada la autorización de dispositivos, por lo que este dispositivo no puede aprobarse aquí.",
|
|
1903
2047
|
},
|
|
1904
2048
|
shell: {
|
|
1905
2049
|
tenantHostHint: "Está iniciando sesión en este espacio de trabajo",
|
|
@@ -1939,6 +2083,29 @@ const es = {
|
|
|
1939
2083
|
},
|
|
1940
2084
|
},
|
|
1941
2085
|
},
|
|
2086
|
+
// objectui#3546 slice three — the /oauth/consent screen.
|
|
2087
|
+
oauth: {
|
|
2088
|
+
consent: {
|
|
2089
|
+
title: "{{appName}} quiere acceder a su cuenta",
|
|
2090
|
+
request: "{{appName}} solicita permiso{{suffix}}.",
|
|
2091
|
+
unknownApp: "una aplicación",
|
|
2092
|
+
willAllow: "Esta aplicación podrá:",
|
|
2093
|
+
scope: {
|
|
2094
|
+
openid: "Confirmar su identidad",
|
|
2095
|
+
profile: "Leer su perfil básico (nombre, foto)",
|
|
2096
|
+
email: "Leer su dirección de correo electrónico",
|
|
2097
|
+
offlineAccess: "Mantener la sesión abierta (renovar el acceso)",
|
|
2098
|
+
},
|
|
2099
|
+
deny: "Denegar",
|
|
2100
|
+
authorize: "Autorizar",
|
|
2101
|
+
submitting: "Autorizando…",
|
|
2102
|
+
granted: "Acceso concedido",
|
|
2103
|
+
denied: "Acceso denegado",
|
|
2104
|
+
noRedirect: "El servidor no devolvió ninguna URL de redirección.",
|
|
2105
|
+
failed: "Error en el consentimiento",
|
|
2106
|
+
footer: "Puede revocar el acceso en cualquier momento desde la configuración de su cuenta.",
|
|
2107
|
+
},
|
|
2108
|
+
},
|
|
1942
2109
|
profile: {
|
|
1943
2110
|
title: "Perfil",
|
|
1944
2111
|
subtitle: "Gestione la configuración de su cuenta",
|
|
@@ -2000,6 +2167,8 @@ const es = {
|
|
|
2000
2167
|
invite: "Invitar miembro",
|
|
2001
2168
|
members: "Miembros",
|
|
2002
2169
|
settings: "Configuración del espacio de trabajo",
|
|
2170
|
+
multiOrgDisabled: "La creación de nuevas organizaciones está deshabilitada en esta instancia.",
|
|
2171
|
+
createFailed: 'No se pudo crear el espacio de trabajo',
|
|
2003
2172
|
},
|
|
2004
2173
|
help: {
|
|
2005
2174
|
onThisPage: "En esta página",
|
|
@@ -2010,7 +2179,7 @@ const es = {
|
|
|
2010
2179
|
},
|
|
2011
2180
|
sidebar: {
|
|
2012
2181
|
packageManagement: "Gestión de paquetes",
|
|
2013
|
-
searchNavigation: "Buscar en la navegación
|
|
2182
|
+
searchNavigation: "Buscar en la navegación…",
|
|
2014
2183
|
settings: "Configuración",
|
|
2015
2184
|
help: "Ayuda",
|
|
2016
2185
|
helpTooltip: "Ayuda y documentación",
|
|
@@ -2034,8 +2203,8 @@ const es = {
|
|
|
2034
2203
|
switchObject: "Cambiar de objeto",
|
|
2035
2204
|
connection: {
|
|
2036
2205
|
connected: "Conectado",
|
|
2037
|
-
connecting: "Conectando
|
|
2038
|
-
reconnecting: "Reconectando
|
|
2206
|
+
connecting: "Conectando…",
|
|
2207
|
+
reconnecting: "Reconectando…",
|
|
2039
2208
|
disconnected: "Desconectado",
|
|
2040
2209
|
error: "Error de conexión",
|
|
2041
2210
|
},
|
|
@@ -2051,10 +2220,12 @@ const es = {
|
|
|
2051
2220
|
build: {
|
|
2052
2221
|
title: "Crear una aplicación",
|
|
2053
2222
|
subtitle: "Empiece desde cero — diseñe objetos, formularios, automatizaciones e interfaces.",
|
|
2223
|
+
noCapability: "La creación de aplicaciones no está disponible en este espacio de trabajo: requiere el permiso «Gestionar metadatos», que su cuenta no tiene.",
|
|
2054
2224
|
},
|
|
2055
2225
|
template: {
|
|
2056
2226
|
title: "Empezar con una plantilla",
|
|
2057
2227
|
subtitle: "Instale una aplicación de plantilla desde el mercado y personalícela.",
|
|
2228
|
+
marketplaceDisabled: "Este runtime no tiene un marketplace de aplicaciones configurado, por lo que no hay plantillas que instalar aquí.",
|
|
2058
2229
|
},
|
|
2059
2230
|
welcomeAdminDescription: "Describa su negocio en una frase — la IA genera los objetos, las pantallas, las API y las herramientas del agente. O configúrelo usted mismo desde el menú de la izquierda.",
|
|
2060
2231
|
welcomeAdminDescriptionNoBuild: "Configure su primera aplicación desde el menú de Administración de la izquierda. Cuando tenga datos, el asistente de IA podrá ayudarle a explorarlos.",
|
|
@@ -2074,6 +2245,14 @@ const es = {
|
|
|
2074
2245
|
publishing: "Publicando…",
|
|
2075
2246
|
published: "¡Publicado! Sus cambios están activos.",
|
|
2076
2247
|
publishFailed: "Error al publicar",
|
|
2248
|
+
// objectui#3546 slice six — seedWarn reutiliza la traducción de
|
|
2249
|
+
// console.ai.seedWarn (misma frase en inglés). Marcador "(s)" como en
|
|
2250
|
+
// home.pendingDrafts.message, de esta misma familia.
|
|
2251
|
+
nothing: "Nada que publicar.",
|
|
2252
|
+
probeWarn: "Publicado, pero la verificación encontró problemas.",
|
|
2253
|
+
seedWarn: "Publicado, pero no se pudieron cargar algunos datos de ejemplo.",
|
|
2254
|
+
publishedVerified: "Publicado y verificado — {{count}} fila(s) de ejemplo activa(s).",
|
|
2255
|
+
capabilityWarn: "Comprobación de autoría: {{count}} referencia(s) de capacidad no apuntan a nada.",
|
|
2077
2256
|
},
|
|
2078
2257
|
title: "Inicio",
|
|
2079
2258
|
subtitle: "Panel de tu espacio de trabajo",
|
|
@@ -2087,7 +2266,7 @@ const es = {
|
|
|
2087
2266
|
title: "Requiere tu atención",
|
|
2088
2267
|
empty: "Estás al día",
|
|
2089
2268
|
},
|
|
2090
|
-
loading: "Cargando espacio de trabajo
|
|
2269
|
+
loading: "Cargando espacio de trabajo…",
|
|
2091
2270
|
recent: "Recientes",
|
|
2092
2271
|
starred: "Destacados",
|
|
2093
2272
|
welcome: "Bienvenido a ObjectUI",
|
|
@@ -2148,6 +2327,9 @@ const es = {
|
|
|
2148
2327
|
roles: "Roles",
|
|
2149
2328
|
configuration: "Configuración",
|
|
2150
2329
|
createApp: "Crear aplicación",
|
|
2330
|
+
administration: "Administración",
|
|
2331
|
+
datasources: "Fuentes de datos",
|
|
2332
|
+
documentation: "Documentación",
|
|
2151
2333
|
},
|
|
2152
2334
|
appSwitcher: {
|
|
2153
2335
|
switchApplication: "Cambiar de aplicación",
|
|
@@ -2187,7 +2369,7 @@ const es = {
|
|
|
2187
2369
|
search: {
|
|
2188
2370
|
title: "Buscar",
|
|
2189
2371
|
back: "Atrás",
|
|
2190
|
-
placeholder: "Buscar objetos, paneles, páginas, informes
|
|
2372
|
+
placeholder: "Buscar objetos, paneles, páginas, informes…",
|
|
2191
2373
|
inputAriaLabel: "Buscar objetos, paneles, páginas, informes",
|
|
2192
2374
|
resultsCount: "{{count}} resultado para \"{{query}}\"",
|
|
2193
2375
|
resultsCountPlural: "{{count}} resultados para \"{{query}}\"",
|
|
@@ -2206,6 +2388,7 @@ const es = {
|
|
|
2206
2388
|
empty: {
|
|
2207
2389
|
objectNotFound: "Objeto no encontrado",
|
|
2208
2390
|
objectNotFoundDescription: "Falta la definición del objeto \"{{name}}\". Verifique su configuración o navegue hacia atrás.",
|
|
2391
|
+
interfacePageSourceMissing: "Esta página de interfaz hace referencia a \"{{name}}\", que no está disponible.",
|
|
2209
2392
|
pageNotFound: "Página no encontrada",
|
|
2210
2393
|
pageNotFoundDescription: "La página \"{{name}}\" no fue encontrada. Puede haber sido eliminada o renombrada.",
|
|
2211
2394
|
dashboardNotFound: "Panel no encontrado",
|
|
@@ -2214,27 +2397,17 @@ const es = {
|
|
|
2214
2397
|
reportNotFoundDescription: "El informe \"{{name}}\" no fue encontrado. Puede haber sido eliminado o renombrado.",
|
|
2215
2398
|
noAppsConfigured: "Sin aplicaciones configuradas",
|
|
2216
2399
|
noAppsConfiguredDescription: "No hay aplicaciones registradas. Cree su primera aplicación o visite la configuración del sistema.",
|
|
2400
|
+
appNotAvailable: "Aplicación no disponible",
|
|
2401
|
+
appNotAvailableDescription: "Esta aplicación aún no está disponible — puede que todavía se esté publicando. Vuelva a intentarlo en un momento.",
|
|
2402
|
+
appAccessDenied: "No tiene acceso a esta aplicación",
|
|
2403
|
+
appAccessDeniedDescription: "Esta aplicación existe, pero su cuenta no está autorizada para abrirla. Solicite acceso a un administrador.",
|
|
2404
|
+
appAccessDeniedHome: "Volver al inicio",
|
|
2217
2405
|
createFirstApp: "Crear primera aplicación",
|
|
2218
2406
|
systemSettings: "Configuración del sistema",
|
|
2219
2407
|
back: "Atrás",
|
|
2220
2408
|
recordNotFound: "Registro no encontrado",
|
|
2221
2409
|
recordNotFoundDescription: "El registro que busca no existe o puede haber sido eliminado.",
|
|
2222
2410
|
},
|
|
2223
|
-
renderer: {
|
|
2224
|
-
noPageSchema: "No se proporcionó esquema de página",
|
|
2225
|
-
noFormSchema: "No se proporcionó esquema de formulario",
|
|
2226
|
-
noDashboardSchema: "No se proporcionó esquema de panel",
|
|
2227
|
-
pageRendering: "Renderizando página: {{name}}",
|
|
2228
|
-
dashboardRendering: "Renderizando panel: {{name}}",
|
|
2229
|
-
formRenderingMode: "Formulario renderizado en modo {{mode}}",
|
|
2230
|
-
formRenderingFor: "para registro {{id}}",
|
|
2231
|
-
createRecord: "Crear registro",
|
|
2232
|
-
editRecord: "Editar registro",
|
|
2233
|
-
page: "Página",
|
|
2234
|
-
dashboard: "Panel",
|
|
2235
|
-
save: "Guardar",
|
|
2236
|
-
cancel: "Cancelar",
|
|
2237
|
-
},
|
|
2238
2411
|
actionDialog: {
|
|
2239
2412
|
title: "Parámetros de acción",
|
|
2240
2413
|
description: "Ingrese la información requerida para continuar.",
|
|
@@ -2285,7 +2458,7 @@ const es = {
|
|
|
2285
2458
|
deleteFailed: "No se pudo eliminar la vista",
|
|
2286
2459
|
},
|
|
2287
2460
|
dashboardActions: {
|
|
2288
|
-
|
|
2461
|
+
printDialogOpening: "Abriendo el cuadro de diálogo de impresión de tu navegador (no es una exportación a PDF)",
|
|
2289
2462
|
exportFailed: "Error al exportar: {{message}}",
|
|
2290
2463
|
forecastSoon: "La vista de pronóstico llegará pronto",
|
|
2291
2464
|
},
|
|
@@ -2329,126 +2502,159 @@ const es = {
|
|
|
2329
2502
|
first: "Primero",
|
|
2330
2503
|
},
|
|
2331
2504
|
editor: {
|
|
2332
|
-
|
|
2333
|
-
basic: "General",
|
|
2334
|
-
title: "Título",
|
|
2335
|
-
titlePlaceholder: "p. ej. Pipeline por trimestre",
|
|
2336
|
-
description: "Descripción",
|
|
2337
|
-
descriptionPlaceholder: "¿Qué muestra este informe?",
|
|
2338
|
-
type: "Tipo de informe",
|
|
2339
|
-
typeTabular: "Tabla — lista plana",
|
|
2340
|
-
typeSummary: "Resumen — agrupado con totales",
|
|
2341
|
-
typeMatrix: "Matriz — pivote filas × columnas",
|
|
2342
|
-
typeJoined: "Combinado — varios bloques",
|
|
2343
|
-
typeHelp: "Elige el diseño que mejor refleje lo que quieres ver.",
|
|
2344
|
-
data: "Datos",
|
|
2345
|
-
objectName: "Fuente de datos",
|
|
2346
|
-
objectNamePlaceholder: "p. ej. opportunity",
|
|
2347
|
-
objectNameHelp: "¿Qué objeto debe consultar este informe?",
|
|
2348
|
-
limit: "Límite de filas",
|
|
2349
|
-
limitPlaceholder: "p. ej. 100",
|
|
2350
|
-
columns: "Columnas",
|
|
2351
|
-
columnsHint: "Elige los campos que aparecerán como columnas. Añade una agregación (Suma, Recuento…) en los informes Resumen o Matriz.",
|
|
2352
|
-
filters: "Filtros",
|
|
2353
|
-
filtersHint: "Limita las filas incluidas en este informe.",
|
|
2354
|
-
filtersComplex: "Este informe usa un filtro avanzado que no se puede editar aquí. Al guardar se mantendrá intacto.",
|
|
2355
|
-
groupBy: "Agrupar por",
|
|
2356
|
-
groupByHint: "Agrupa los datos y calcula subtotales.",
|
|
2357
|
-
rows: "Filas",
|
|
2358
|
-
rowsHint: "Agrupa las filas por estos campos.",
|
|
2359
|
-
columnsAxis: "Columnas",
|
|
2360
|
-
columnsAxisHint: "Pivota estos campos en la parte superior.",
|
|
2361
|
-
values: "Valores",
|
|
2362
|
-
valuesHint: "Números mostrados en cada celda. Elige uno o varios campos y añade una agregación (Suma, Recuento…).",
|
|
2363
|
-
grouping: "Agrupación",
|
|
2364
|
-
addGrouping: "Añadir agrupación",
|
|
2365
|
-
dateGranularity: "Granularidad de fecha",
|
|
2366
|
-
dateGranularityNone: "(valor original)",
|
|
2367
|
-
day: "Día",
|
|
2368
|
-
week: "Semana",
|
|
2369
|
-
month: "Mes",
|
|
2370
|
-
quarter: "Trimestre",
|
|
2371
|
-
year: "Año",
|
|
2372
|
-
sortAsc: "Ascendente",
|
|
2373
|
-
sortDesc: "Descendente",
|
|
2374
|
-
chart: "Gráfico",
|
|
2375
|
-
chartHint: "Visualización opcional junto a la tabla.",
|
|
2376
|
-
chartType: "Tipo de gráfico",
|
|
2377
|
-
chartTitle: "Título del gráfico",
|
|
2378
|
-
chartTitlePlaceholder: "Por defecto, el título del informe",
|
|
2379
|
-
chartXAxis: "Eje X (categoría)",
|
|
2380
|
-
chartYAxis: "Eje Y (valor)",
|
|
2381
|
-
chartShowLegend: "Mostrar leyenda",
|
|
2382
|
-
chartShowDataLabels: "Mostrar etiquetas de datos",
|
|
2383
|
-
chartNone: "(sin gráfico)",
|
|
2384
|
-
chartBar: "Barras",
|
|
2385
|
-
chartLine: "Líneas",
|
|
2386
|
-
chartArea: "Áreas",
|
|
2387
|
-
chartPie: "Circular",
|
|
2388
|
-
chartDonut: "Anillo",
|
|
2389
|
-
chartFunnel: "Embudo",
|
|
2390
|
-
validationNeedsObject: "Selecciona una fuente de datos antes de añadir columnas.",
|
|
2391
|
-
validationMatrixNeedsRowsCols: "Los informes de matriz necesitan al menos una fila y una columna.",
|
|
2392
|
-
validationSummaryNeedsRows: "Los informes de resumen necesitan al menos un campo de agrupación.",
|
|
2393
|
-
blocks: "Bloques",
|
|
2394
|
-
blocksHint: "Cada bloque es su propia tabla o gráfico. Los filtros del bloque se combinan (Y) con el filtro del informe.",
|
|
2395
|
-
addBlock: "Añadir bloque",
|
|
2396
|
-
removeBlock: "Eliminar bloque",
|
|
2397
|
-
blockName: "Nombre del bloque",
|
|
2398
|
-
blockNamePlaceholder: "nombre_unico_del_bloque",
|
|
2399
|
-
blockLabel: "Etiqueta a mostrar",
|
|
2400
|
-
blockLabelPlaceholder: "Se muestra encima del bloque",
|
|
2401
|
-
blockDescription: "Descripción",
|
|
2402
|
-
blockDescriptionPlaceholder: "Contexto opcional para este bloque",
|
|
2403
|
-
validationJoinedNeedsBlocks: "Los informes combinados necesitan al menos un bloque.",
|
|
2404
|
-
validationBlockNameRequired: "Cada bloque debe tener un nombre no vacío.",
|
|
2405
|
-
validationBlockNameDuplicate: "Los nombres de bloque deben ser únicos dentro del informe.",
|
|
2406
|
-
validationBlockNeedsColumns: "Cada bloque debe tener al menos una columna.",
|
|
2407
|
-
noneOption: "(ninguno)",
|
|
2408
|
-
addCondition: "Añadir condición",
|
|
2409
|
-
combineLogic: "Combinar con",
|
|
2410
|
-
opContains: "contiene",
|
|
2411
|
-
opIsEmpty: "está vacío",
|
|
2412
|
-
opIsNotEmpty: "no está vacío",
|
|
2413
|
-
formatAuto: "Auto",
|
|
2414
|
-
formatCurrency: "Moneda",
|
|
2415
|
-
formatPercent: "Porcentaje",
|
|
2416
|
-
formatInteger: "Entero",
|
|
2417
|
-
formatDate: "Fecha",
|
|
2418
|
-
formatDatetime: "Fecha y hora",
|
|
2419
|
-
columnLabelPlaceholder: "Sobrescribir etiqueta",
|
|
2420
|
-
aggregateColumn: "Agregación",
|
|
2421
|
-
formatColumn: "Formato",
|
|
2422
|
-
addColumns: "Añadir columnas",
|
|
2423
|
-
searchFields: "Buscar campos…",
|
|
2424
|
-
noMatchingFields: "Ningún campo coincide con tu búsqueda.",
|
|
2425
|
-
noFieldsAvailable: "No hay campos disponibles.",
|
|
2426
|
-
columnsCount: "{n} columna(s) seleccionada(s)",
|
|
2427
|
-
columnsEmpty: "Aún no hay columnas seleccionadas.",
|
|
2428
|
-
fieldPickerTitle: "Seleccionar campos",
|
|
2429
|
-
fieldPickerDescription: "Elija uno o más campos para agregar. Use el campo de búsqueda para filtrar la lista.",
|
|
2430
|
-
fieldPickerChangeTitle: "Cambiar campo",
|
|
2431
|
-
fieldPickerAddGroupingTitle: "Agregar agrupación",
|
|
2432
|
-
fieldPickerEmpty: "(Seleccionar campo)",
|
|
2433
|
-
fieldPickerSelected: "{n} seleccionado(s)",
|
|
2434
|
-
fieldPickerClear: "Limpiar selección",
|
|
2435
|
-
fieldPickerAdd: "Agregar",
|
|
2436
|
-
fieldPickerAddN: "Agregar {n}",
|
|
2505
|
+
panelTitle: "Editar informe",
|
|
2437
2506
|
},
|
|
2438
2507
|
},
|
|
2439
2508
|
organizations: {
|
|
2440
2509
|
create: "Crear espacio de trabajo",
|
|
2441
|
-
mine: "Mis
|
|
2442
|
-
title: "
|
|
2443
|
-
heading: "Tus
|
|
2444
|
-
subtitle: "Selecciona
|
|
2445
|
-
searchPlaceholder: "Buscar
|
|
2446
|
-
new: "
|
|
2447
|
-
current: "
|
|
2510
|
+
mine: "Mis espacios de trabajo",
|
|
2511
|
+
title: "Espacios de trabajo",
|
|
2512
|
+
heading: "Tus espacios de trabajo",
|
|
2513
|
+
subtitle: "Selecciona un espacio de trabajo para continuar o crea uno nuevo.",
|
|
2514
|
+
searchPlaceholder: "Buscar un espacio de trabajo",
|
|
2515
|
+
new: "Nuevo espacio de trabajo",
|
|
2516
|
+
current: "Espacio de trabajo actual",
|
|
2448
2517
|
manage: "Administrar",
|
|
2449
|
-
emptyTitle: "Aún no hay
|
|
2450
|
-
emptyDescription: "Crea tu
|
|
2451
|
-
noMatches: "
|
|
2518
|
+
emptyTitle: "Aún no hay espacios de trabajo",
|
|
2519
|
+
emptyDescription: "Crea tu primer espacio de trabajo para empezar.",
|
|
2520
|
+
noMatches: "Ningún espacio de trabajo coincide con tu búsqueda.",
|
|
2521
|
+
},
|
|
2522
|
+
organization: {
|
|
2523
|
+
roles: {
|
|
2524
|
+
owner: 'Propietario',
|
|
2525
|
+
admin: 'Administrador',
|
|
2526
|
+
delegatedAdmin: 'Administrador delegado',
|
|
2527
|
+
member: 'Miembro',
|
|
2528
|
+
},
|
|
2529
|
+
errors: {
|
|
2530
|
+
notAllowedToInvite: 'No tiene permiso para invitar usuarios a esta organización.',
|
|
2531
|
+
notAllowedToInviteWithRole: 'No tiene permiso para invitar a un usuario con este rol.',
|
|
2532
|
+
alreadyInvited: 'Este usuario ya ha sido invitado a esta organización.',
|
|
2533
|
+
organizationExists: 'Esa organización ya existe.',
|
|
2534
|
+
slugTaken: 'Ese slug ya está en uso.',
|
|
2535
|
+
notAllowedToCreate: 'No tiene permiso para crear una organización nueva.',
|
|
2536
|
+
notTheRecipient: 'No es el destinatario de esta invitación.',
|
|
2537
|
+
invitationNotFound: 'Esta invitación ya no existe o ha caducado.',
|
|
2538
|
+
unknown: 'Algo salió mal. Inténtelo de nuevo.',
|
|
2539
|
+
},
|
|
2540
|
+
backToList: "Volver a las organizaciones",
|
|
2541
|
+
notFound: "Organización no encontrada",
|
|
2542
|
+
notFoundDescription: "Esta organización no existe o no tienes acceso.",
|
|
2543
|
+
tabs: {
|
|
2544
|
+
members: "Miembros",
|
|
2545
|
+
invitations: "Invitaciones",
|
|
2546
|
+
settings: "Configuración",
|
|
2547
|
+
},
|
|
2548
|
+
members: {
|
|
2549
|
+
title: "Miembros",
|
|
2550
|
+
inviteMember: "Invitar miembro",
|
|
2551
|
+
inviteRestrictedNote: "Solo los administradores de la organización pueden invitar a miembros.",
|
|
2552
|
+
removeMember: "Eliminar miembro",
|
|
2553
|
+
removeConfirmTitle: "¿Eliminar miembro?",
|
|
2554
|
+
removeConfirmDescription: "Se eliminará a {{name}} de la organización y perderá el acceso de inmediato.",
|
|
2555
|
+
removeConfirmAction: "Eliminar",
|
|
2556
|
+
memberRemoved: "Miembro eliminado",
|
|
2557
|
+
removeFailed: "No se pudo eliminar al miembro",
|
|
2558
|
+
roleUpdated: "Rol actualizado",
|
|
2559
|
+
roleUpdateFailed: "No se pudo actualizar el rol",
|
|
2560
|
+
memberActions: 'Acciones del miembro',
|
|
2561
|
+
loadFailed: 'No se pudieron cargar los miembros',
|
|
2562
|
+
},
|
|
2563
|
+
invitations: {
|
|
2564
|
+
title: "Invitaciones",
|
|
2565
|
+
empty: "No hay invitaciones.",
|
|
2566
|
+
expiresAt: "Caduca",
|
|
2567
|
+
linkCopied: "Enlace de invitación copiado",
|
|
2568
|
+
copyFailed: "No se pudo copiar el enlace",
|
|
2569
|
+
canceled: "Invitación cancelada",
|
|
2570
|
+
cancelFailed: "No se pudo cancelar la invitación",
|
|
2571
|
+
cancelTitle: "¿Cancelar la invitación?",
|
|
2572
|
+
cancelDescription: "Se revocará la invitación de {{email}}.",
|
|
2573
|
+
cancelAction: "Cancelar invitación",
|
|
2574
|
+
inviteTitle: "Invitar a un miembro",
|
|
2575
|
+
inviteDescription: "Recibirá una invitación para unirse a esta organización.",
|
|
2576
|
+
emailLabel: "Correo electrónico",
|
|
2577
|
+
roleLabel: "Rol",
|
|
2578
|
+
placementLabel: "Asignación (opcional)",
|
|
2579
|
+
placementDescription: "Se aplica cuando se acepta la invitación. Solo se listan las unidades y los puestos que puedes delegar.",
|
|
2580
|
+
businessUnitLabel: "Unidad de negocio",
|
|
2581
|
+
businessUnitPlaceholder: "Sin asignación",
|
|
2582
|
+
positionsLabel: "Puestos",
|
|
2583
|
+
sendInvite: "Enviar invitación",
|
|
2584
|
+
sentTitle: "Invitación creada",
|
|
2585
|
+
sentDescription: "Comparte el enlace de abajo con la persona invitada. Tendrá que iniciar sesión para aceptarla.",
|
|
2586
|
+
linkLabel: "Enlace de aceptación",
|
|
2587
|
+
invitedAs: "{{email}} invitado como {{role}}",
|
|
2588
|
+
copyLinkLabel: 'Copiar enlace de invitación',
|
|
2589
|
+
loadFailed: 'No se pudieron cargar las invitaciones',
|
|
2590
|
+
inviteFailed: 'No se pudo invitar al miembro',
|
|
2591
|
+
status: {
|
|
2592
|
+
all: "Todas",
|
|
2593
|
+
pending: "Pendiente",
|
|
2594
|
+
accepted: "Aceptada",
|
|
2595
|
+
rejected: "Rechazada",
|
|
2596
|
+
canceled: "Cancelada",
|
|
2597
|
+
},
|
|
2598
|
+
},
|
|
2599
|
+
settings: {
|
|
2600
|
+
generalTitle: "General",
|
|
2601
|
+
generalDescription: "Actualiza la información de tu organización.",
|
|
2602
|
+
readOnlyNote: "Solo los propietarios pueden cambiar la configuración.",
|
|
2603
|
+
nameLabel: "Nombre de la organización",
|
|
2604
|
+
slugLabel: "Slug",
|
|
2605
|
+
logoLabel: "Logo",
|
|
2606
|
+
logoUpload: "Subir",
|
|
2607
|
+
logoReplace: "Reemplazar",
|
|
2608
|
+
logoClear: "Quitar",
|
|
2609
|
+
logoUploaded: "Logo subido: guarda para aplicarlo",
|
|
2610
|
+
logoUploadFailed: "No se pudo subir el logo",
|
|
2611
|
+
save: "Guardar cambios",
|
|
2612
|
+
saved: "Configuración guardada",
|
|
2613
|
+
saveFailed: "No se pudo guardar la configuración",
|
|
2614
|
+
leaveTitle: "Salir de la organización",
|
|
2615
|
+
leaveDescription: "Perderás el acceso a esta organización.",
|
|
2616
|
+
leaveAction: "Salir",
|
|
2617
|
+
leaveConfirmTitle: "¿Salir de la organización?",
|
|
2618
|
+
leaveConfirmDescription: "¿Seguro que quieres salir de {{name}}? Perderás el acceso de inmediato.",
|
|
2619
|
+
leaveConfirmAction: "Salir",
|
|
2620
|
+
leftOrg: "Has salido de la organización",
|
|
2621
|
+
leaveFailed: "No se pudo salir de la organización",
|
|
2622
|
+
dangerZone: "Zona de peligro",
|
|
2623
|
+
deleteTitle: "Eliminar organización",
|
|
2624
|
+
deleteDescription: "Elimina permanentemente esta organización y todos sus datos.",
|
|
2625
|
+
deleteAction: "Eliminar",
|
|
2626
|
+
deleteConfirmTitle: "¿Eliminar la organización?",
|
|
2627
|
+
deleteConfirmDescription: "Esta acción es irreversible. Todos los datos se eliminarán de forma permanente. Escribe el slug de la organización para confirmar.",
|
|
2628
|
+
deleteConfirmSlugLabel: "Escribe «{{slug}}» para confirmar",
|
|
2629
|
+
deleteConfirmAction: "Eliminar organización",
|
|
2630
|
+
deleted: "Organización eliminada",
|
|
2631
|
+
deleteFailed: "No se pudo eliminar la organización",
|
|
2632
|
+
},
|
|
2633
|
+
accept: {
|
|
2634
|
+
title: "Te han invitado",
|
|
2635
|
+
description: "Te han invitado a unirte a {{orgName}} como {{role}}.",
|
|
2636
|
+
errorTitle: "Invitación no disponible",
|
|
2637
|
+
goToOrgs: "Ir a las organizaciones",
|
|
2638
|
+
loading: "Cargando la invitación…",
|
|
2639
|
+
organization: "Organización",
|
|
2640
|
+
role: "Rol",
|
|
2641
|
+
expiresAt: "Caduca",
|
|
2642
|
+
accept: "Aceptar invitación",
|
|
2643
|
+
accepted: "Invitación aceptada",
|
|
2644
|
+
acceptFailed: "No se pudo aceptar la invitación",
|
|
2645
|
+
decline: "Rechazar",
|
|
2646
|
+
declined: "Invitación rechazada",
|
|
2647
|
+
declineFailed: "No se pudo rechazar la invitación",
|
|
2648
|
+
},
|
|
2649
|
+
current: {
|
|
2650
|
+
label: "Organización actual",
|
|
2651
|
+
},
|
|
2652
|
+
switcher: {
|
|
2653
|
+
label: "Cambiar de organización",
|
|
2654
|
+
groupLabel: "Organización de trabajo",
|
|
2655
|
+
groupHint: "Los registros nuevos se crean aquí. Las vistas muestran datos de todas tus organizaciones.",
|
|
2656
|
+
manageMembers: "Administrar miembros",
|
|
2657
|
+
},
|
|
2452
2658
|
},
|
|
2453
2659
|
notifications: {
|
|
2454
2660
|
regionLabel: "Notificaciones",
|
|
@@ -2463,6 +2669,9 @@ const es = {
|
|
|
2463
2669
|
viewApprovals: "Ver aprobaciones",
|
|
2464
2670
|
noPendingApprovals: "Sin aprobaciones pendientes",
|
|
2465
2671
|
openApprovalsInbox: "Abrir bandeja de aprobaciones",
|
|
2672
|
+
badgeTotal: "{{total}} en total",
|
|
2673
|
+
badgeNotifications: "{{unread}} notificaciones",
|
|
2674
|
+
badgeApprovals: "{{approvals}} aprobaciones pendientes",
|
|
2466
2675
|
emptyUnread: "Todo al día",
|
|
2467
2676
|
filterUnread: "No leídos",
|
|
2468
2677
|
filterAll: "Todos",
|
|
@@ -2487,52 +2696,6 @@ const es = {
|
|
|
2487
2696
|
consentRequired: "Acepte la política de privacidad para continuar.",
|
|
2488
2697
|
rateLimited: "Tómese un momento para revisar sus respuestas antes de enviar.",
|
|
2489
2698
|
redirectBlocked: "Envío aceptado, pero la URL de redirección fue bloqueada por seguridad.",
|
|
2490
|
-
demo: {
|
|
2491
|
-
contactTitle: "Ponerse en contacto",
|
|
2492
|
-
contactDescription: "Cuéntenos sobre su proyecto y un representante de ventas le contactará en un día hábil.",
|
|
2493
|
-
supportTitle: "Enviar solicitud de soporte",
|
|
2494
|
-
supportDescription: "Descríbanos el problema — nuestro equipo responderá en un día hábil.",
|
|
2495
|
-
thankYouSalesTitle: "¡Gracias — recibimos su mensaje!",
|
|
2496
|
-
thankYouSalesMessage: "Un representante de ventas le contactará en un día hábil.",
|
|
2497
|
-
thankYouSupportTitle: "Listo — su solicitud está en cola.",
|
|
2498
|
-
thankYouSupportMessage: "Un ingeniero de soporte le dará seguimiento pronto. Guarde esta página si tiene capturas de pantalla adicionales.",
|
|
2499
|
-
field: {
|
|
2500
|
-
firstName: "Nombre",
|
|
2501
|
-
lastName: "Apellido",
|
|
2502
|
-
email: "Correo empresarial",
|
|
2503
|
-
phone: "Teléfono",
|
|
2504
|
-
jobTitle: "Cargo",
|
|
2505
|
-
company: "Empresa",
|
|
2506
|
-
website: "Sitio web",
|
|
2507
|
-
industry: "Industria",
|
|
2508
|
-
companySize: "Tamaño de empresa",
|
|
2509
|
-
howCanWeHelp: "¿Cómo podemos ayudarle?",
|
|
2510
|
-
subject: "Asunto",
|
|
2511
|
-
description: "Descripción",
|
|
2512
|
-
issueType: "Tipo de problema",
|
|
2513
|
-
priority: "Prioridad",
|
|
2514
|
-
},
|
|
2515
|
-
industry: {
|
|
2516
|
-
technology: "Tecnología",
|
|
2517
|
-
software: "Software / SaaS",
|
|
2518
|
-
finance: "Finanzas",
|
|
2519
|
-
healthcare: "Salud",
|
|
2520
|
-
retail: "Retail",
|
|
2521
|
-
other: "Otro",
|
|
2522
|
-
},
|
|
2523
|
-
issueType: {
|
|
2524
|
-
question: "Pregunta",
|
|
2525
|
-
problem: "Problema",
|
|
2526
|
-
bug: "Error",
|
|
2527
|
-
feature_request: "Solicitud de función",
|
|
2528
|
-
},
|
|
2529
|
-
priority: {
|
|
2530
|
-
low: "Baja",
|
|
2531
|
-
medium: "Media",
|
|
2532
|
-
high: "Alta",
|
|
2533
|
-
critical: "Crítica",
|
|
2534
|
-
},
|
|
2535
|
-
},
|
|
2536
2699
|
},
|
|
2537
2700
|
connectAgent: {
|
|
2538
2701
|
disabled: {
|
|
@@ -2645,6 +2808,7 @@ const es = {
|
|
|
2645
2808
|
retry: "Reintentar",
|
|
2646
2809
|
errors: {
|
|
2647
2810
|
expired: "La solicitud caducó antes de ser aprobada. Vuelva a empezar.",
|
|
2811
|
+
accessDenied: "La solicitud de conexión fue rechazada. Vuelva a empezar.",
|
|
2648
2812
|
bindFailed: "Error al vincular.",
|
|
2649
2813
|
deviceCodeFailed: "Error en la solicitud del código de dispositivo.",
|
|
2650
2814
|
},
|
|
@@ -2710,10 +2874,16 @@ const es = {
|
|
|
2710
2874
|
installedBadge: "Instalado v{{version}}",
|
|
2711
2875
|
load: {
|
|
2712
2876
|
failed: "No se pudo cargar el marketplace",
|
|
2713
|
-
|
|
2877
|
+
failedHintConfigured: "Este runtime accede al marketplace a través del plano de control en {{url}}. Compruebe que esté en línea y sea accesible desde aquí.",
|
|
2878
|
+
failedHintSameOrigin: "Este runtime sirve el catálogo del marketplace por sí mismo. Compruebe que el runtime esté en línea.",
|
|
2714
2879
|
packageFailed: "No se pudo cargar el paquete",
|
|
2715
2880
|
notFound: "No encontrado.",
|
|
2716
2881
|
},
|
|
2882
|
+
disabled: {
|
|
2883
|
+
title: "El marketplace de aplicaciones está desactivado",
|
|
2884
|
+
description: "Este runtime no tiene ningún marketplace configurado, por lo que no hay nada que explorar ni instalar desde aquí.",
|
|
2885
|
+
hint: "Ese es el estado esperado cuando el runtime se inicia con <code>OS_CLOUD_URL=off</code> (o <code>none</code>, <code>local</code>, <code>disabled</code>). Para activar el marketplace, apunte <code>OS_CLOUD_URL</code> a un plano de control y reinicie el runtime.",
|
|
2886
|
+
},
|
|
2717
2887
|
detail: {
|
|
2718
2888
|
homepage: "Página de inicio",
|
|
2719
2889
|
installedV: "Instalado · v{{version}}",
|
|
@@ -2749,6 +2919,7 @@ const es = {
|
|
|
2749
2919
|
dismiss: "Descartar",
|
|
2750
2920
|
openOnCloud: "Abrir en la nube",
|
|
2751
2921
|
backHome: "Volver al inicio",
|
|
2922
|
+
updateTo: "Actualizar",
|
|
2752
2923
|
},
|
|
2753
2924
|
install: {
|
|
2754
2925
|
dialogTitle: "Instalar {{name}}",
|
|
@@ -2765,6 +2936,37 @@ const es = {
|
|
|
2765
2936
|
localManifestConflict: "{{message}}\nNota: Una aplicación local ya tiene este manifest_id. Primero elimínela de objectstack.config.ts.",
|
|
2766
2937
|
localUnauthorized: "Primero inicie sesión en este runtime.",
|
|
2767
2938
|
localMarketplaceUnavailable: "Este runtime no tiene configurado OS_CLOUD_URL.",
|
|
2939
|
+
updateTo: "Actualizar → v{{version}}",
|
|
2940
|
+
installedVersion: "Instalado v{{version}}",
|
|
2941
|
+
},
|
|
2942
|
+
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
2943
|
+
org: {
|
|
2944
|
+
heading: "Su organización",
|
|
2945
|
+
install: "Instalar",
|
|
2946
|
+
installed: "{{name}} instalado",
|
|
2947
|
+
installedBadge: "Instalado",
|
|
2948
|
+
installing: "Instalando…",
|
|
2949
|
+
},
|
|
2950
|
+
// ADR-0025 PD4 §3.5/§3.11 — the pre-install consent panel
|
|
2951
|
+
// (PluginDisclosure.tsx). `runtime` is a CLOSED enum: spec
|
|
2952
|
+
// PluginRuntimeSchema = z.enum(['node', 'sandbox', 'worker']).
|
|
2953
|
+
disclosure: {
|
|
2954
|
+
containsCode: "Este paquete contiene código",
|
|
2955
|
+
reviewed: "Revisado y aprobado",
|
|
2956
|
+
unreviewed: "Sin revisar todavía",
|
|
2957
|
+
signed: "Firmado",
|
|
2958
|
+
grantsIntro: "Al instalarlo, este paquete recibirá:",
|
|
2959
|
+
services: "Servicios de la plataforma",
|
|
2960
|
+
hooks: "Hooks de ciclo de vida",
|
|
2961
|
+
network: "Acceso a la red",
|
|
2962
|
+
fs: "Acceso al sistema de archivos",
|
|
2963
|
+
noPermissions: "No solicita permisos especiales.",
|
|
2964
|
+
acknowledge: "Entiendo que este paquete ejecuta código y recibe los permisos anteriores.",
|
|
2965
|
+
runtime: {
|
|
2966
|
+
node: "En el proceso · confianza total",
|
|
2967
|
+
sandbox: "En sandbox",
|
|
2968
|
+
worker: "Fuera del proceso",
|
|
2969
|
+
},
|
|
2768
2970
|
},
|
|
2769
2971
|
uninstall: {
|
|
2770
2972
|
confirm: "¿Desinstalar {{manifestId}} v{{version}} de este runtime?\n\nEl manifiesto en caché será eliminado.",
|
|
@@ -2921,12 +3123,19 @@ const es = {
|
|
|
2921
3123
|
submittedAgo: 'Enviada {{when}}',
|
|
2922
3124
|
completedAt: 'Completada {{when}}',
|
|
2923
3125
|
waitingOn: 'A la espera de',
|
|
3126
|
+
approverNameSeparator: ', ',
|
|
3127
|
+
approverUnstaffed: '{{seat}} (actualmente sin titular)',
|
|
2924
3128
|
history: 'Actividad',
|
|
2925
3129
|
noActions: 'Aún no hay acciones.',
|
|
2926
3130
|
actSubmit: 'Enviada',
|
|
2927
3131
|
actApprove: 'Aprobada',
|
|
2928
3132
|
actReject: 'Rechazada',
|
|
2929
3133
|
actRecall: 'Retirada',
|
|
3134
|
+
overrideActionLabel: '{{action}} (anulación)',
|
|
3135
|
+
overrideNotice: 'No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso se finaliza de inmediato y se omite a cualquier aprobador que aún no haya actuado. La decisión se registra como anulación de administrador.',
|
|
3136
|
+
overrideNoticeWho: 'No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso se finaliza de inmediato y se omite a los aprobadores que aún no han actuado — {{who}}. La decisión se registra como anulación de administrador.',
|
|
3137
|
+
viaOverrideChip: 'Anulación de administrador',
|
|
3138
|
+
viaOverrideHint: 'Quien actuó no ocupaba ningún puesto de aprobador en este paso: fue admitido por la vía de anulación de administrador.',
|
|
2930
3139
|
rawData: 'Datos sin procesar (JSON)',
|
|
2931
3140
|
copy: 'Copiar',
|
|
2932
3141
|
copied: 'Copiado',
|
|
@@ -2984,16 +3193,16 @@ const es = {
|
|
|
2984
3193
|
loadFailedTitle: 'No se pudo cargar la vista previa del borrador',
|
|
2985
3194
|
loadFailedDescription: 'No se pudo leer la capa de borrador. Reintenta o comprueba tu conexión.',
|
|
2986
3195
|
notReadyTitle: '«{{app}}» aún no está en el borrador',
|
|
2987
|
-
notReadyDescription: 'La compilación puede seguir en curso, o falló antes de preparar esta aplicación.
|
|
3196
|
+
notReadyDescription: 'La compilación puede seguir en curso, o falló antes de preparar esta aplicación. Revise la conversación para ver el estado — este panel se actualiza cuando llegan borradores.',
|
|
2988
3197
|
nothingTitle: 'Nada que previsualizar todavía',
|
|
2989
3198
|
retry: 'Reintentar',
|
|
2990
3199
|
},
|
|
2991
3200
|
draftBar: {
|
|
2992
|
-
messageClean: "Vista previa del borrador
|
|
3201
|
+
messageClean: "Vista previa del borrador — no hay cambios sin publicar; todo lo que ve aquí ya está activo.",
|
|
2993
3202
|
sampleDataTitle: "Los datos de ejemplo aparecen tras publicar",
|
|
2994
3203
|
sampleDataBody: "Está viendo la estructura de su aplicación. Publíquela para cargar registros de ejemplo y activarla.",
|
|
2995
3204
|
publishCta: "Publicar para verlo activo",
|
|
2996
|
-
message: 'Vista previa
|
|
3205
|
+
message: 'Vista previa del borrador — está viendo cambios sin publicar. Nada de lo que ve aquí está activo hasta que publique.',
|
|
2997
3206
|
publish: 'Publicar',
|
|
2998
3207
|
publishing: 'Publicando…',
|
|
2999
3208
|
exit: 'Salir de la vista previa',
|
|
@@ -3013,6 +3222,39 @@ const es = {
|
|
|
3013
3222
|
detailChangedKeys: 'También cambió:',
|
|
3014
3223
|
confirmNote: 'Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.',
|
|
3015
3224
|
publishConfirm: 'Publicar todo',
|
|
3225
|
+
// [objectui#5418] Pre-publish security-posture findings, shown next to
|
|
3226
|
+
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3227
|
+
// the click rather than as a toast after the batch rolled back.
|
|
3228
|
+
securityBlockTitle: 'La publicación será rechazada: {{count}} elemento(s) necesitan una decisión primero',
|
|
3229
|
+
securityBlockWhere: 'Corríjalo en el objeto en Configuración → Uso compartido de registros y vuelva a publicar.',
|
|
3230
|
+
},
|
|
3231
|
+
// ADR-0045 — the materialized-but-unlisted app banner
|
|
3232
|
+
// (UnpublishedAppBar.tsx), sibling of draftBar above.
|
|
3233
|
+
unpublishedBar: {
|
|
3234
|
+
message: 'Aplicación sin publicar — totalmente funcional, pero solo la ven los creadores. Publíquela para que sus usuarios la vean.',
|
|
3235
|
+
publish: 'Publicar',
|
|
3236
|
+
publishing: 'Publicando…',
|
|
3237
|
+
published: '¡Publicado! La aplicación ya es visible para sus usuarios.',
|
|
3238
|
+
publishFailed: 'Error al publicar',
|
|
3239
|
+
},
|
|
3240
|
+
// ADR-0067 — the append-only build/revert timeline (CommitTimeline.tsx);
|
|
3241
|
+
// `button` is the banner's entry point into it.
|
|
3242
|
+
history: {
|
|
3243
|
+
button: 'Historial',
|
|
3244
|
+
title: 'Historial de compilaciones',
|
|
3245
|
+
description: 'Todos los cambios de esta aplicación, los más recientes primero. Deshaga cualquier paso para revertirlo — no hace falta confirmar la publicación.',
|
|
3246
|
+
loadFailed: 'No se pudo cargar el historial:',
|
|
3247
|
+
loadFailedUnavailable: 'Almacén de commits temporalmente inaccesible — esta lectura no se produjo, por lo que no se muestra ningún historial. Vuelva a intentarlo en un momento.',
|
|
3248
|
+
loading: 'Cargando historial…',
|
|
3249
|
+
empty: 'Aún no hay historial para esta aplicación.',
|
|
3250
|
+
revertLabel: 'Se deshizo un cambio',
|
|
3251
|
+
applyLabel: 'Cambio de compilación',
|
|
3252
|
+
revert: 'deshacer',
|
|
3253
|
+
items: 'elementos',
|
|
3254
|
+
revertAction: 'Deshacer',
|
|
3255
|
+
reverted: 'Deshecho — el cambio se ha revertido.',
|
|
3256
|
+
revertFailed: 'Error al deshacer',
|
|
3257
|
+
revertUnavailable: 'Almacén de commits temporalmente inaccesible — es posible que la reversión no se haya aplicado. Vuelva a abrir este historial para comprobarlo antes de reintentar.',
|
|
3016
3258
|
},
|
|
3017
3259
|
},
|
|
3018
3260
|
filterBuilder: {
|
|
@@ -3031,10 +3273,15 @@ const es = {
|
|
|
3031
3273
|
noResults: "Sin resultados",
|
|
3032
3274
|
searchField: "Buscar {{label}}…",
|
|
3033
3275
|
enterId: "Ingresar ID de {{label}}",
|
|
3276
|
+
addValue: "Escriba un valor y pulse Intro",
|
|
3277
|
+
removeValue: "Quitar {{value}}",
|
|
3278
|
+
rangeStart: "Desde",
|
|
3279
|
+
rangeEnd: "Hasta",
|
|
3034
3280
|
operators: {
|
|
3035
3281
|
equals: "Igual a",
|
|
3036
3282
|
notEquals: "Distinto de",
|
|
3037
3283
|
contains: "Contiene",
|
|
3284
|
+
containsCaseInsensitive: "Contiene (ignorar mayúsculas)",
|
|
3038
3285
|
notContains: "No contiene",
|
|
3039
3286
|
isEmpty: "Está vacío",
|
|
3040
3287
|
isNotEmpty: "No está vacío",
|
|
@@ -3047,6 +3294,12 @@ const es = {
|
|
|
3047
3294
|
between: "Entre",
|
|
3048
3295
|
in: "En",
|
|
3049
3296
|
notIn: "No en",
|
|
3297
|
+
startsWith: "Comienza por",
|
|
3298
|
+
endsWith: "Termina en",
|
|
3299
|
+
isNull: "Es null",
|
|
3300
|
+
isNotNull: "No es null",
|
|
3301
|
+
exists: "Está definido",
|
|
3302
|
+
notExists: "No está definido",
|
|
3050
3303
|
},
|
|
3051
3304
|
},
|
|
3052
3305
|
sortBuilder: {
|
|
@@ -3092,5 +3345,64 @@ const es = {
|
|
|
3092
3345
|
statusIdle: "inactivo",
|
|
3093
3346
|
statusAway: "ausente",
|
|
3094
3347
|
},
|
|
3348
|
+
wizard: {
|
|
3349
|
+
missingRequired: "Complete los campos obligatorios: {{fields}}",
|
|
3350
|
+
},
|
|
3351
|
+
flowRunner: {
|
|
3352
|
+
title: 'Entrada',
|
|
3353
|
+
submitting: 'Enviando…',
|
|
3354
|
+
saveAndContinue: 'Guardar y continuar',
|
|
3355
|
+
nextStep: 'Guardado — paso siguiente',
|
|
3356
|
+
completed: 'Flujo «{{flow}}» completado',
|
|
3357
|
+
},
|
|
3358
|
+
appManagement: {
|
|
3359
|
+
title: "Aplicaciones",
|
|
3360
|
+
subtitle: "Gestione todas las aplicaciones configuradas",
|
|
3361
|
+
newApp: "Nueva aplicación",
|
|
3362
|
+
searchLabel: "Buscar aplicaciones",
|
|
3363
|
+
searchPlaceholder: "Buscar aplicaciones…",
|
|
3364
|
+
selectedCount: "{{n}} seleccionadas",
|
|
3365
|
+
bulkEnable: "Habilitar",
|
|
3366
|
+
bulkDisable: "Deshabilitar",
|
|
3367
|
+
selectAll: "Seleccionar todo ({{n}})",
|
|
3368
|
+
empty: "No se encontraron aplicaciones.",
|
|
3369
|
+
defaultBadge: "Predeterminada",
|
|
3370
|
+
active: "Activa",
|
|
3371
|
+
inactive: "Inactiva",
|
|
3372
|
+
selectApp: "Seleccionar {{name}}",
|
|
3373
|
+
openApp: "Abrir aplicación",
|
|
3374
|
+
openAppNamed: "Abrir {{name}}",
|
|
3375
|
+
editApp: "Editar aplicación",
|
|
3376
|
+
editAppNamed: "Editar {{name}}",
|
|
3377
|
+
editWithAi: "Editar con IA",
|
|
3378
|
+
editWithAiNamed: "Editar {{name}} con IA",
|
|
3379
|
+
enableApp: "Habilitar aplicación",
|
|
3380
|
+
disableApp: "Deshabilitar aplicación",
|
|
3381
|
+
enableAppNamed: "Habilitar {{name}}",
|
|
3382
|
+
disableAppNamed: "Deshabilitar {{name}}",
|
|
3383
|
+
setDefault: "Establecer como predeterminada",
|
|
3384
|
+
setDefaultNamed: "Establecer {{name}} como predeterminada",
|
|
3385
|
+
deleteApp: "Eliminar aplicación",
|
|
3386
|
+
deleteAppNamed: "Eliminar {{name}}",
|
|
3387
|
+
confirmDelete: "Haga clic de nuevo para confirmar la eliminación",
|
|
3388
|
+
confirmDeleteNamed: "Confirmar la eliminación de {{name}}",
|
|
3389
|
+
toast: {
|
|
3390
|
+
noClient: "No se puede acceder al servicio de metadatos",
|
|
3391
|
+
unknownError: "error desconocido",
|
|
3392
|
+
appEnabled: "{{name}} habilitada",
|
|
3393
|
+
appDisabled: "{{name}} deshabilitada",
|
|
3394
|
+
toggleFailed: "Error al cambiar el estado de la aplicación: {{reason}}",
|
|
3395
|
+
setDefaultDone: "{{name}} establecida como predeterminada",
|
|
3396
|
+
setDefaultFailed: "Error al establecer la aplicación predeterminada: {{reason}}",
|
|
3397
|
+
appDeleted: "{{name}} eliminada",
|
|
3398
|
+
deleteFailed: "Error al eliminar la aplicación: {{reason}}",
|
|
3399
|
+
bulkEnabled: "{{n}} aplicaciones habilitadas",
|
|
3400
|
+
bulkDisabled: "{{n}} aplicaciones deshabilitadas",
|
|
3401
|
+
bulkFailed: "Error en {{n}}: {{details}}",
|
|
3402
|
+
bulkFailureEntry: "{{name}} ({{reason}})",
|
|
3403
|
+
bulkFailureJoiner: "; ",
|
|
3404
|
+
bulkOperationFailed: "Error en la operación masiva: {{reason}}",
|
|
3405
|
+
},
|
|
3406
|
+
},
|
|
3095
3407
|
};
|
|
3096
3408
|
export default es;
|