@object-ui/i18n 17.6.0 → 18.0.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 +5408 -0
- package/README.md +255 -13
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- package/dist/builtinAggregateLabels.d.ts +40 -0
- package/dist/builtinAggregateLabels.js +23 -0
- package/dist/currency.d.ts +27 -3
- package/dist/currency.js +28 -4
- package/dist/fallbackInterpolation.d.ts +79 -0
- package/dist/fallbackInterpolation.js +124 -0
- package/dist/i18n.d.ts +27 -1
- package/dist/i18n.js +99 -16
- package/dist/index.d.ts +8 -13
- package/dist/index.js +45 -17
- package/dist/locales/ar.d.ts +1504 -188
- package/dist/locales/ar.js +1711 -281
- package/dist/locales/de.d.ts +1080 -188
- package/dist/locales/de.js +1248 -261
- package/dist/locales/en.d.ts +1141 -249
- package/dist/locales/en.js +1714 -295
- package/dist/locales/es.d.ts +1186 -188
- package/dist/locales/es.js +1350 -255
- package/dist/locales/fr.d.ts +1186 -188
- package/dist/locales/fr.js +1351 -258
- package/dist/locales/index.d.ts +11940 -2033
- package/dist/locales/index.js +48 -9
- package/dist/locales/ja.d.ts +1080 -188
- package/dist/locales/ja.js +1240 -254
- package/dist/locales/ko.d.ts +1080 -188
- package/dist/locales/ko.js +1244 -258
- package/dist/locales/pt.d.ts +1186 -188
- package/dist/locales/pt.js +1350 -255
- package/dist/locales/registry.d.ts +102 -0
- package/dist/locales/registry.js +220 -0
- package/dist/locales/rtl.d.ts +24 -0
- package/dist/locales/rtl.js +26 -0
- package/dist/locales/ru.d.ts +1292 -188
- package/dist/locales/ru.js +1479 -272
- package/dist/locales/zh.d.ts +1144 -252
- package/dist/locales/zh.js +1245 -259
- package/dist/pickLocalized.d.ts +30 -0
- package/dist/pickLocalized.js +39 -0
- package/dist/provider.d.ts +101 -12
- package/dist/provider.js +335 -50
- package/dist/translateFn.d.ts +29 -0
- package/dist/translateFn.js +8 -0
- package/dist/useDisplayLocale.d.ts +11 -0
- package/dist/useDisplayLocale.js +11 -0
- package/dist/useObjectLabel.d.ts +143 -100
- package/dist/useObjectLabel.js +129 -82
- package/dist/useSafeTranslation.js +40 -42
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +23 -1
- package/dist/utils/formatting.js +34 -5
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/spec-formatters.d.ts +13 -23
- package/dist/utils/spec-formatters.js +41 -2
- package/dist/utils/spec-translations.d.ts +16 -3
- package/dist/utils/spec-translations.js +52 -13
- package/package.json +12 -6
package/dist/locales/es.js
CHANGED
|
@@ -13,16 +13,19 @@ const es = {
|
|
|
13
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
14
|
},
|
|
15
15
|
},
|
|
16
|
-
// objectui#2600 B5 — capability picker scope group headers (labels come from the
|
|
16
|
+
// objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
|
|
17
17
|
capability: {
|
|
18
18
|
label: {
|
|
19
19
|
manage_users: "Gestionar usuarios",
|
|
20
20
|
manage_org_users: "Gestionar usuarios de la organización",
|
|
21
21
|
manage_metadata: "Gestionar metadatos",
|
|
22
|
+
manage_mailboxes: "Gestionar los buzones",
|
|
22
23
|
manage_platform_settings: "Gestionar la configuración de la plataforma",
|
|
23
24
|
setup_access: "Acceso a la configuración",
|
|
24
25
|
setup_write: "Escritura de la configuración",
|
|
25
26
|
studio_access: "Acceso a Studio",
|
|
27
|
+
manage_sharing: "Gestionar el uso compartido",
|
|
28
|
+
view_all_audit_log: "Ver todo el registro de auditoría",
|
|
26
29
|
},
|
|
27
30
|
group: {
|
|
28
31
|
platform: 'Plataforma',
|
|
@@ -30,25 +33,6 @@ const es = {
|
|
|
30
33
|
other: 'Otro',
|
|
31
34
|
},
|
|
32
35
|
},
|
|
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
|
-
},
|
|
52
36
|
lookup: {
|
|
53
37
|
recentlyUsed: 'Usados recientemente',
|
|
54
38
|
allResults: 'Todos los resultados',
|
|
@@ -62,7 +46,9 @@ const es = {
|
|
|
62
46
|
selectFirst: 'Seleccione primero {{fields}}',
|
|
63
47
|
selectRecord: 'Seleccionar registro',
|
|
64
48
|
recordCount: '{{count}} registros',
|
|
65
|
-
|
|
49
|
+
recordCount_one: '{{count}} registro',
|
|
50
|
+
recordCount_many: '{{count}} de registros',
|
|
51
|
+
recordCount_other: '{{count}} registros',
|
|
66
52
|
pageOf: 'Página {{current}} de {{total}}',
|
|
67
53
|
filters: 'Filtros',
|
|
68
54
|
clear: 'Limpiar',
|
|
@@ -115,14 +101,27 @@ const es = {
|
|
|
115
101
|
closePanel: "Cerrar panel",
|
|
116
102
|
resizeDrawer: "Ajustar el ancho del panel",
|
|
117
103
|
itemCount: "{{count}} elementos",
|
|
118
|
-
|
|
104
|
+
itemCount_one: "{{count}} elemento",
|
|
105
|
+
itemCount_many: "{{count}} de elementos",
|
|
106
|
+
itemCount_other: "{{count}} elementos",
|
|
119
107
|
toggleSidebar: "Alternar barra lateral",
|
|
108
|
+
breadcrumb: "Ruta de navegación",
|
|
120
109
|
package: "Paquete",
|
|
121
110
|
done: "Listo",
|
|
122
111
|
editInStudio: "Editar en Studio",
|
|
123
112
|
record: "Registro",
|
|
124
113
|
retry: "Reintentar",
|
|
125
114
|
printDialogHint: "Abre el cuadro de diálogo de impresión de tu navegador (no es una exportación a PDF)",
|
|
115
|
+
// The non-grid row ceiling's footnote (objectui#7210). Two keys because
|
|
116
|
+
// there are two conditions: a reported `total` states the fact with BOTH
|
|
117
|
+
// numbers, a missing one cannot name how many. Kept terse deliberately —
|
|
118
|
+
// this copy is eagerly loaded, and since objectui#7399 these bytes are
|
|
119
|
+
// budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
|
|
120
|
+
// headroom is deliberately NOT restated here — it moves on every
|
|
121
|
+
// re-baseline, and the figure that was here went stale.
|
|
122
|
+
// `pnpm check:eager-closure` prints it.
|
|
123
|
+
rowCeilingNote: "Mostrando los primeros {{shown}} de {{total}} registros. Acota el filtro.",
|
|
124
|
+
rowCeilingNoteUnknownTotal: "Mostrando los primeros {{shown}} registros. Acota el filtro.",
|
|
126
125
|
},
|
|
127
126
|
actions: {
|
|
128
127
|
decisionOutput: {
|
|
@@ -134,6 +133,15 @@ const es = {
|
|
|
134
133
|
acknowledge: 'Lo he guardado',
|
|
135
134
|
copyAll: 'Copiar todo',
|
|
136
135
|
},
|
|
136
|
+
notAvailableHere: '«{{action}}» no está disponible en la página actual.',
|
|
137
|
+
notAvailableForRecord: 'No disponible para este registro',
|
|
138
|
+
completedSuccessfully: 'La acción se completó correctamente',
|
|
139
|
+
failed: 'La acción falló',
|
|
140
|
+
parallelFailed: 'Una o más acciones paralelas fallaron',
|
|
141
|
+
undo: 'Deshacer',
|
|
142
|
+
undone: 'Cambio deshecho',
|
|
143
|
+
undoneOperation: 'Deshacer: {{description}}',
|
|
144
|
+
redoneOperation: 'Rehacer: {{description}}',
|
|
137
145
|
},
|
|
138
146
|
validation: {
|
|
139
147
|
// "{{field}} es obligatorio" only agreed with masculine field labels —
|
|
@@ -156,19 +164,47 @@ const es = {
|
|
|
156
164
|
},
|
|
157
165
|
form: {
|
|
158
166
|
noPermissionToSave: "No tienes permiso para guardar este registro.",
|
|
167
|
+
noPermissionToCreate: "No tienes permiso para crear registros de {{object}}. Los campos son de solo lectura.",
|
|
168
|
+
noPermissionToEdit: "No tienes permiso para editar registros de {{object}}. Los campos son de solo lectura.",
|
|
159
169
|
submitFailed: "No se pudo guardar. Inténtalo de nuevo.",
|
|
170
|
+
uploadInFlight: "Espere a que finalice la carga antes de guardar.",
|
|
171
|
+
clearedOnHide: "Se borró lo que ya no corresponde a los valores actuales: {{fields}}",
|
|
172
|
+
visibleWhenFaulted: "No se puede enviar: no se pudo evaluar la regla visibleWhen de {{fields}}. Hay que corregir la regla antes de poder enviar este formulario.",
|
|
160
173
|
discardTitle: "¿Descartar los cambios?",
|
|
161
174
|
discardMessage: "Tiene cambios sin guardar. Si cierra este formulario ahora, sus ediciones se perderán.",
|
|
162
175
|
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
163
176
|
// description, used when the form declares no `description` of its own.
|
|
164
177
|
dialogDescriptionFallback: "Complete los campos del formulario y luego envíe o cancele.",
|
|
178
|
+
deniedDescription: "No tienes permiso para editar este campo.",
|
|
179
|
+
serverDefaultHint: "Se establece automáticamente al guardar.",
|
|
180
|
+
maxFileSize: "Tamaño máximo: {{size}}",
|
|
181
|
+
masterDetail: {
|
|
182
|
+
loadingColumns: "Cargando columnas…",
|
|
183
|
+
subtotal: "Subtotal",
|
|
184
|
+
tax: "Impuesto ({{rate}}%)",
|
|
185
|
+
total: "Total",
|
|
186
|
+
lineItem: "Línea de detalle",
|
|
187
|
+
rowTitle: "{{title}} — fila {{row}}",
|
|
188
|
+
applyRow: "Aplicar",
|
|
189
|
+
editorDescription: "Introduzca el registro y sus líneas de detalle y luego guarde.",
|
|
190
|
+
noChildObject: "Esta colección no tiene configurado ningún objeto secundario: establezca {{property}} en el objeto cuyas filas enumera.",
|
|
191
|
+
schemaUnavailable: "No se pudo cargar el esquema de {{object}}, por lo que esta colección no tiene columnas que mostrar. Compruebe que el objeto existe y se puede leer, y luego vuelva a cargar.",
|
|
192
|
+
noRelationshipField: "No se pudo determinar cómo se vincula {{object}} con {{parent}}: ningún campo lookup o master_detail del objeto hace referencia al principal. Establezca {{property}} en esta colección con el campo que contiene el registro principal.",
|
|
193
|
+
},
|
|
194
|
+
lineItems: {
|
|
195
|
+
title: "Líneas de detalle",
|
|
196
|
+
saveRecordFirst: "Guarde primero el registro para agregar líneas de detalle.",
|
|
197
|
+
notLoaded: "Las líneas de detalle de este registro no se han cargado.",
|
|
198
|
+
loadFailed: "No se pudieron cargar las líneas de detalle",
|
|
199
|
+
saveFailed: "No se pudieron guardar las líneas de detalle",
|
|
200
|
+
noChildObject: "Este panel no tiene configurado ningún objeto secundario: establezca {{property}} en el objeto cuyas filas enumera.",
|
|
201
|
+
},
|
|
165
202
|
keepEditing: "Seguir editando",
|
|
166
203
|
discard: "Descartar",
|
|
167
204
|
conflictTitle: "Conflicto al guardar",
|
|
168
205
|
conflictMessage: "Otra persona modificó este registro mientras lo editaba. Sobrescribir reemplazará sus cambios por los suyos.",
|
|
169
206
|
conflictLatestVersion: "Su guardado: {{time}}",
|
|
170
207
|
conflictOverwrite: "Sobrescribir",
|
|
171
|
-
addItem: "Añadir elemento",
|
|
172
208
|
removeItem: "Eliminar elemento",
|
|
173
209
|
fieldRequired: "Este campo es obligatorio",
|
|
174
210
|
invalidFormat: "Formato no válido",
|
|
@@ -186,6 +222,12 @@ const es = {
|
|
|
186
222
|
createSuccess: "{{object}} creado",
|
|
187
223
|
updateSuccess: "{{object}} actualizado",
|
|
188
224
|
deleteSuccess: "{{object}} eliminado",
|
|
225
|
+
created: "Creado",
|
|
226
|
+
saved: "Guardado",
|
|
227
|
+
savedNamed: "{{title}} guardado",
|
|
228
|
+
submitted: "Enviado",
|
|
229
|
+
errorLoading: "Error al cargar el formulario",
|
|
230
|
+
navigateRefused: "El destino `navigateOnSuccess` declarado para este formulario fue rechazado, por lo que no se realizó la navegación.",
|
|
189
231
|
fullscreen: {
|
|
190
232
|
title: "Editar texto",
|
|
191
233
|
description: "Edita el valor de texto completo y luego guarda o cancela los cambios.",
|
|
@@ -204,12 +246,19 @@ const es = {
|
|
|
204
246
|
remove: "Eliminar la imagen {{index}}",
|
|
205
247
|
enlarge: "Ampliar {{name}}",
|
|
206
248
|
preview: "Vista previa de la imagen",
|
|
249
|
+
cropPreview: "Vista previa del recorte de la imagen",
|
|
207
250
|
previous: "Imagen anterior",
|
|
208
251
|
next: "Imagen siguiente",
|
|
209
252
|
counter: "{{current}} / {{total}}",
|
|
210
253
|
},
|
|
254
|
+
percent: {
|
|
255
|
+
slider: "Porcentaje",
|
|
256
|
+
},
|
|
211
257
|
relativeDate: {
|
|
212
258
|
overdue: "Atrasado {{count}} d",
|
|
259
|
+
overdue_one: "Atrasado {{count}} d",
|
|
260
|
+
overdue_many: "Atrasado {{count}} d",
|
|
261
|
+
overdue_other: "Atrasado {{count}} d",
|
|
213
262
|
},
|
|
214
263
|
file: {
|
|
215
264
|
dragDropHere: 'Arrastra y suelta archivos aquí',
|
|
@@ -226,6 +275,9 @@ const es = {
|
|
|
226
275
|
remove: 'Quitar {{name}}',
|
|
227
276
|
exceedsMaxSize: '«{{name}}» supera el tamaño máximo ({{max}} MB)',
|
|
228
277
|
uploadFailed: 'Error al subir «{{name}}»: {{error}}',
|
|
278
|
+
uploadIncomplete: 'La subida de «{{name}}» no se completó: no se devolvió ningún identificador de archivo, así que no se guardó nada',
|
|
279
|
+
restricted: 'Archivo restringido',
|
|
280
|
+
restrictedHint: 'No tienes acceso a los detalles de este archivo',
|
|
229
281
|
},
|
|
230
282
|
richText: {
|
|
231
283
|
format: "Formato: {{format}}",
|
|
@@ -242,6 +294,10 @@ const es = {
|
|
|
242
294
|
search: "Buscar objetos…",
|
|
243
295
|
empty: "No se encontraron objetos",
|
|
244
296
|
},
|
|
297
|
+
registryRef: {
|
|
298
|
+
loadFailed: "No se pudo cargar la lista. Todavía puede escribir el nombre.",
|
|
299
|
+
notFound: "{{name}} (no encontrado)",
|
|
300
|
+
},
|
|
245
301
|
recipient: {
|
|
246
302
|
selectTypeFirst: "Selecciona primero un tipo de destinatario.",
|
|
247
303
|
loading: "Cargando…",
|
|
@@ -253,6 +309,9 @@ const es = {
|
|
|
253
309
|
selectBusinessUnit: "Seleccionar una unidad de negocio",
|
|
254
310
|
selectPosition: "Seleccionar un puesto",
|
|
255
311
|
selectUnitAndSubordinates: "Seleccionar una unidad de negocio",
|
|
312
|
+
selectField: "Seleccionar un campo de usuario",
|
|
313
|
+
noUserFields: "Este objeto no tiene campos de usuario",
|
|
314
|
+
fieldNotUserTyped: "{{name}} — no es un campo de usuario",
|
|
256
315
|
},
|
|
257
316
|
filterCondition: {
|
|
258
317
|
selectObjectFirst: "Selecciona primero un objeto.",
|
|
@@ -263,6 +322,33 @@ const es = {
|
|
|
263
322
|
editAsJson: "Editar como JSON",
|
|
264
323
|
useVisualBuilder: "Usar el constructor visual",
|
|
265
324
|
},
|
|
325
|
+
object: {
|
|
326
|
+
invalidJson: "JSON no válido",
|
|
327
|
+
},
|
|
328
|
+
location: {
|
|
329
|
+
refusedFormat: "No guardado: introduce un par latitud, longitud (ejemplo: 30.2741, 120.1551).",
|
|
330
|
+
refusedRange: "No guardado: {{detail}}",
|
|
331
|
+
latitude: "latitud",
|
|
332
|
+
longitude: "longitud",
|
|
333
|
+
refusedResidueOne: "No guardado: {{name}} «{{text}}» no es un número. Introduce decimales simples (ejemplo: 30.2741, 120.1551).",
|
|
334
|
+
refusedResidue: "No guardado: {{name}} «{{text}}» y {{otherName}} «{{otherText}}» no son números. Introduce decimales simples (ejemplo: 30.2741, 120.1551).",
|
|
335
|
+
},
|
|
336
|
+
date: {
|
|
337
|
+
impossibleDay: "El valor guardado «{{value}}» no es una fecha real. Elige una fecha para reemplazarlo.",
|
|
338
|
+
},
|
|
339
|
+
dateTime: {
|
|
340
|
+
impossibleDay: "El valor guardado «{{value}}» no es una fecha real. Elige una fecha y una hora para reemplazarlo.",
|
|
341
|
+
},
|
|
342
|
+
datePicker: {
|
|
343
|
+
today: "Hoy",
|
|
344
|
+
tomorrow: "Mañana",
|
|
345
|
+
clear: "Borrar fecha",
|
|
346
|
+
openCalendar: "Abrir calendario",
|
|
347
|
+
invalid: "No guardado: «{{value}}» no es una fecha. Escríbela como {{format}} o elígela en el calendario.",
|
|
348
|
+
},
|
|
349
|
+
number: {
|
|
350
|
+
badInput: "No guardado: el texto de este campo no es un número. Introduce un decimal simple (ejemplo: {{example}}).",
|
|
351
|
+
},
|
|
266
352
|
tags: {
|
|
267
353
|
placeholder: "Escriba y pulse Intro para añadir…",
|
|
268
354
|
},
|
|
@@ -274,10 +360,25 @@ const es = {
|
|
|
274
360
|
postalCode: "Código postal",
|
|
275
361
|
country: "País",
|
|
276
362
|
},
|
|
363
|
+
boolean: {
|
|
364
|
+
offBadge: "{{label}} — Desactivado",
|
|
365
|
+
completed: "Completado",
|
|
366
|
+
notCompleted: "No completado",
|
|
367
|
+
},
|
|
277
368
|
textarea: {
|
|
278
369
|
characterCount: "Recuento de caracteres: {{count}} de {{max}}",
|
|
279
370
|
charactersRemaining: "Caracteres restantes: {{count}}",
|
|
280
371
|
},
|
|
372
|
+
grid: {
|
|
373
|
+
addLine: "Agregar línea",
|
|
374
|
+
noItems: "Sin elementos",
|
|
375
|
+
noItemsAddHint: "Aún no hay elementos: haga clic en «{{label}}» para empezar.",
|
|
376
|
+
optionalColumns: "Columnas opcionales",
|
|
377
|
+
computed: "Calculado",
|
|
378
|
+
openRow: "Abrir fila",
|
|
379
|
+
duplicateRow: "Duplicar fila",
|
|
380
|
+
removeRow: "Quitar fila",
|
|
381
|
+
},
|
|
281
382
|
},
|
|
282
383
|
table: {
|
|
283
384
|
rowsPerPage: "Filas por página",
|
|
@@ -293,10 +394,15 @@ const es = {
|
|
|
293
394
|
selectAllRows: "Seleccionar todas las filas",
|
|
294
395
|
expandRow: "Expandir fila",
|
|
295
396
|
collapseRow: "Contraer fila",
|
|
397
|
+
rowActions: "Acciones de fila",
|
|
296
398
|
hideColumn: "Ocultar columna",
|
|
297
399
|
freezeColumn: "Fijar columna",
|
|
298
400
|
unfreezeColumn: "Desfijar columna",
|
|
299
401
|
pageInfo: "Página {{current}} de {{total}}",
|
|
402
|
+
firstPage: "Primera página",
|
|
403
|
+
previousPage: "Página anterior",
|
|
404
|
+
nextPage: "Página siguiente",
|
|
405
|
+
lastPage: "Última página",
|
|
300
406
|
totalRecords: "{{count}} en total",
|
|
301
407
|
noResults: "Sin resultados",
|
|
302
408
|
noResultsHint: "Intente ajustar sus filtros o términos de búsqueda.",
|
|
@@ -306,23 +412,46 @@ const es = {
|
|
|
306
412
|
open: "Abrir",
|
|
307
413
|
search: "Buscar…",
|
|
308
414
|
modified: "{{count}} filas modificadas",
|
|
415
|
+
modified_one: "{{count}} fila modificada",
|
|
416
|
+
modified_many: "{{count}} de filas modificadas",
|
|
417
|
+
modified_other: "{{count}} filas modificadas",
|
|
418
|
+
saved: "{{count}} filas guardadas",
|
|
419
|
+
saved_one: "{{count}} fila guardada",
|
|
420
|
+
saved_many: "{{count}} de filas guardadas",
|
|
421
|
+
saved_other: "{{count}} filas guardadas",
|
|
309
422
|
saveFailed: 'Error al guardar',
|
|
310
423
|
selected: "{{count}} seleccionados",
|
|
424
|
+
selected_one: "{{count}} seleccionado",
|
|
425
|
+
selected_many: "{{count}} seleccionados",
|
|
426
|
+
selected_other: "{{count}} seleccionados",
|
|
311
427
|
edit: "Editar",
|
|
312
428
|
delete: "Eliminar",
|
|
313
429
|
},
|
|
314
430
|
grid: {
|
|
315
431
|
bulkSelected: "{{count}} seleccionados",
|
|
432
|
+
bulkSelected_one: "{{count}} seleccionado",
|
|
433
|
+
bulkSelected_many: "{{count}} seleccionados",
|
|
434
|
+
bulkSelected_other: "{{count}} seleccionados",
|
|
316
435
|
bulkSelectedAllMatches: "{{count}} seleccionados (todas las coincidencias)",
|
|
317
436
|
bulkClear: "Quitar selección",
|
|
318
437
|
bulkAllOnPage: "Están seleccionados los {{count}} de esta página.",
|
|
438
|
+
bulkAllOnPage_one: "{{count}} registro de esta página está seleccionado.",
|
|
439
|
+
bulkAllOnPage_many: "Están seleccionados los {{count}} de esta página.",
|
|
440
|
+
bulkAllOnPage_other: "Están seleccionados los {{count}} de esta página.",
|
|
319
441
|
bulkSelectAllMatching: "Seleccionar las {{count}} coincidencias",
|
|
320
442
|
bulkAllMatchingSelected: "Están seleccionados los {{count}} registros coincidentes.",
|
|
443
|
+
bulkActions: "Acciones masivas",
|
|
321
444
|
bulk: {
|
|
322
445
|
confirmDefault: "Esto se aplicará a {{count}} registro(s).",
|
|
446
|
+
confirmDefault_one: "Esto se aplicará a {{count}} registro.",
|
|
447
|
+
confirmDefault_many: "Esto se aplicará a {{count}} de registros.",
|
|
448
|
+
confirmDefault_other: "Esto se aplicará a {{count}} registros.",
|
|
323
449
|
overLimit: "La selección ({{count}}) supera el límite de la acción ({{limit}}). Reduzca la selección para continuar.",
|
|
324
450
|
affectedRecords: "Registros afectados ({{count}}):",
|
|
325
451
|
skippedIneligible: '{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.',
|
|
452
|
+
skippedIneligible_one: '{{count}} de los registros seleccionados no es apto para esta acción y se omitirá.',
|
|
453
|
+
skippedIneligible_many: '{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.',
|
|
454
|
+
skippedIneligible_other: '{{count}} de los registros seleccionados no son aptos para esta acción y se omitirán.',
|
|
326
455
|
rowFallback: "Fila {{index}}",
|
|
327
456
|
andMore: "… y {{count}} más",
|
|
328
457
|
processed: "{{count}} / {{total}} procesados",
|
|
@@ -340,7 +469,6 @@ const es = {
|
|
|
340
469
|
undo: "Deshacer",
|
|
341
470
|
undoing: "Deshaciendo…",
|
|
342
471
|
done: "Listo",
|
|
343
|
-
selectPlaceholder: "Seleccionar…",
|
|
344
472
|
loading: "Cargando…",
|
|
345
473
|
},
|
|
346
474
|
actions: "Acciones",
|
|
@@ -353,17 +481,27 @@ const es = {
|
|
|
353
481
|
pullToRefresh: "Desliza para actualizar",
|
|
354
482
|
refreshing: "Actualizando…",
|
|
355
483
|
openRecord: "Abrir registro",
|
|
484
|
+
recordUnavailable: "{{object}} · registro no disponible",
|
|
356
485
|
rowHeight: "Altura de fila: {{mode}}",
|
|
357
486
|
openMenu: "Abrir menú",
|
|
358
487
|
empty: "Vacío",
|
|
359
488
|
yes: "Sí",
|
|
360
489
|
no: "No",
|
|
361
490
|
systemFields: "Sistema",
|
|
491
|
+
// objectui#10881 — the grouped grid's two refusals: over a data source
|
|
492
|
+
// that cannot answer the group header query, and over rows a host
|
|
493
|
+
// handed in while declaring them one page of more. `queryGroupHeaders`
|
|
494
|
+
// is the member's name and stays untranslated.
|
|
495
|
+
grouping: {
|
|
496
|
+
needsHeaderQuery: "Esta vista está agrupada, pero su origen de datos no implementa queryGroupHeaders, por lo que no se pueden contar los grupos. Quite la agrupación para mostrar los registros.",
|
|
497
|
+
needsWholeRows: "La agrupación necesita todos los registros, pero esta cuadrícula recibió solo una página de ellos, por lo que no se pueden contar los grupos. Entregue todos los registros o deje que la cuadrícula los obtenga de un origen de datos que implemente queryGroupHeaders.",
|
|
498
|
+
},
|
|
362
499
|
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
363
500
|
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
364
501
|
// pack controls its own separator and word order.
|
|
365
502
|
summary: {
|
|
366
503
|
pattern: "{{label}}: {{value}}",
|
|
504
|
+
pagePattern: "{{label}} (esta página): {{value}}",
|
|
367
505
|
count: "Recuento",
|
|
368
506
|
countEmpty: "Vacíos",
|
|
369
507
|
countFilled: "Rellenos",
|
|
@@ -385,10 +523,15 @@ const es = {
|
|
|
385
523
|
},
|
|
386
524
|
import: {
|
|
387
525
|
downloadTemplate: "Descargar plantilla",
|
|
388
|
-
downloadTemplateHint: "Obtenga un
|
|
526
|
+
downloadTemplateHint: "Obtenga un archivo de Excel con las columnas que puede importar (los campos obligatorios llevan *) e instrucciones para rellenarlo.",
|
|
389
527
|
templateFileName: "{{object}}-import-template",
|
|
528
|
+
templateDownloadFailed: "No se pudo descargar la plantilla. Inténtelo de nuevo.",
|
|
529
|
+
templateNotPermitted: "No tiene permiso para crear registros de este objeto, por lo que su plantilla de importación no está disponible.",
|
|
390
530
|
autoMatched: "Emparejado automáticamente",
|
|
391
531
|
autoMatchedSummary: "{{count}} columna(s) emparejada(s) automáticamente: revise y ajuste abajo.",
|
|
532
|
+
autoMatchedSummary_one: "{{count}} columna emparejada automáticamente: revise y ajuste abajo.",
|
|
533
|
+
autoMatchedSummary_many: "{{count}} de columnas emparejadas automáticamente: revise y ajuste abajo.",
|
|
534
|
+
autoMatchedSummary_other: "{{count}} columnas emparejadas automáticamente: revise y ajuste abajo.",
|
|
392
535
|
confidence: {
|
|
393
536
|
high: "Confianza alta",
|
|
394
537
|
medium: "Confianza media",
|
|
@@ -401,8 +544,17 @@ const es = {
|
|
|
401
544
|
cancelImport: "Cancelar la importación",
|
|
402
545
|
importCancelled: "Importación cancelada",
|
|
403
546
|
resultsTruncated: "Mostrando los primeros {{count}} resultados de filas (de {{total}}).",
|
|
547
|
+
resultsTruncated_one: "Mostrando el primer resultado de fila ({{count}} de {{total}}).",
|
|
548
|
+
resultsTruncated_many: "Mostrando los primeros {{count}} resultados de filas (de {{total}}).",
|
|
549
|
+
resultsTruncated_other: "Mostrando los primeros {{count}} resultados de filas (de {{total}}).",
|
|
404
550
|
createdCount: "{{count}} creados",
|
|
551
|
+
createdCount_one: "{{count}} creado",
|
|
552
|
+
createdCount_many: "{{count}} creados",
|
|
553
|
+
createdCount_other: "{{count}} creados",
|
|
405
554
|
updatedCount: "{{count}} actualizados",
|
|
555
|
+
updatedCount_one: "{{count}} actualizado",
|
|
556
|
+
updatedCount_many: "{{count}} actualizados",
|
|
557
|
+
updatedCount_other: "{{count}} actualizados",
|
|
406
558
|
downloadFailed: "Descargar las filas con error",
|
|
407
559
|
options: "Opciones de importación",
|
|
408
560
|
writeMode: "Cuando una fila coincide con un registro existente",
|
|
@@ -417,9 +569,6 @@ const es = {
|
|
|
417
569
|
needMatchFields: "Seleccione al menos un campo por el que coincidir.",
|
|
418
570
|
matchOnlyField: "(solo coincidencia)",
|
|
419
571
|
optCreateOptions: "Conservar los valores de opción desconocidos",
|
|
420
|
-
optRunAutomations: "Ejecutar automatizaciones y disparadores",
|
|
421
|
-
optTreatHistorical: "Importar como datos históricos",
|
|
422
|
-
optTreatHistoricalHint: "(importa los registros completados tal cual: omite las comprobaciones de la máquina de estados y conserva sus marcas de tiempo y autor originales en lugar de sellarlos ahora)",
|
|
423
572
|
optSkipBlankKey: "Omitir las filas con valor de coincidencia vacío",
|
|
424
573
|
optBackground: "Importar en segundo plano",
|
|
425
574
|
optBackgroundHint: "(se ejecuta como un trabajo reversible)",
|
|
@@ -434,6 +583,7 @@ const es = {
|
|
|
434
583
|
invalidBoolean: "«{{value}}» no es un valor verdadero/falso válido",
|
|
435
584
|
invalidNumber: "«{{value}}» no es un número válido",
|
|
436
585
|
invalidDate: "«{{value}}» no es una fecha válida",
|
|
586
|
+
invalidTime: "«{{value}}» no es una hora válida",
|
|
437
587
|
invalidOption: "«{{value}}» no es una de las opciones permitidas",
|
|
438
588
|
requiredValue: "Este campo es obligatorio",
|
|
439
589
|
matchAmbiguous: "Coincide con más de un registro existente: use un valor único o el id del registro",
|
|
@@ -450,10 +600,17 @@ const es = {
|
|
|
450
600
|
historyColResult: "Resultado",
|
|
451
601
|
historyColTime: "Cuándo",
|
|
452
602
|
errorCount: "{{count}} errores",
|
|
603
|
+
errorCount_one: "{{count}} error",
|
|
604
|
+
errorCount_many: "{{count}} de errores",
|
|
605
|
+
errorCount_other: "{{count}} errores",
|
|
453
606
|
undoImport: "Deshacer la importación",
|
|
454
607
|
undoing: "Deshaciendo…",
|
|
455
608
|
undoConfirm: "¿Deshacer esta importación? Los registros que creó se eliminarán y los que actualizó se restaurarán a sus valores anteriores.",
|
|
456
609
|
reverted: "Deshecha",
|
|
610
|
+
undoPartial: "{{count}} filas no se deshicieron. Al deshacer de nuevo, solo se reintentan esas filas.",
|
|
611
|
+
undoPartial_one: "{{count}} fila no se deshizo. Al deshacer de nuevo, solo se reintenta esa fila.",
|
|
612
|
+
undoPartial_many: "{{count}} de filas no se deshicieron. Al deshacer de nuevo, solo se reintentan esas filas.",
|
|
613
|
+
undoPartial_other: "{{count}} filas no se deshicieron. Al deshacer de nuevo, solo se reintentan esas filas.",
|
|
457
614
|
jobStatus: {
|
|
458
615
|
pending: "Pendiente",
|
|
459
616
|
running: "En ejecución",
|
|
@@ -510,19 +667,33 @@ const es = {
|
|
|
510
667
|
mapped: "Asignado",
|
|
511
668
|
skipped: "Omitido",
|
|
512
669
|
rowsWithErrors: "{{count}} fila(s) con errores",
|
|
670
|
+
rowsWithErrors_one: "{{count}} fila con errores",
|
|
671
|
+
rowsWithErrors_many: "{{count}} de filas con errores",
|
|
672
|
+
rowsWithErrors_other: "{{count}} filas con errores",
|
|
513
673
|
rowsCorrected: "{{count}} fila(s) corregida(s)",
|
|
674
|
+
rowsCorrected_one: "{{count}} fila corregida",
|
|
675
|
+
rowsCorrected_many: "{{count}} de filas corregidas",
|
|
676
|
+
rowsCorrected_other: "{{count}} filas corregidas",
|
|
514
677
|
clickToFix: "— haga clic en una celda resaltada para editar en línea.",
|
|
515
678
|
showingRows: "Mostrando {{shown}} de {{total}} filas",
|
|
516
679
|
importing: "Importando… {{progress}}%",
|
|
517
680
|
importComplete: "Importación completada",
|
|
681
|
+
importPartial: "Importación finalizada con errores",
|
|
682
|
+
importFailed: "La importación ha fallado",
|
|
518
683
|
imported: "{{count}} importado(s)",
|
|
519
684
|
skippedCount: "{{count}} omitido(s)",
|
|
520
685
|
moreErrors: "…y {{count}} error(es) más",
|
|
686
|
+
moreErrors_one: "…y {{count}} error más",
|
|
687
|
+
moreErrors_many: "…y {{count}} de errores más",
|
|
688
|
+
moreErrors_other: "…y {{count}} errores más",
|
|
521
689
|
cancel: "Cancelar",
|
|
522
690
|
back: "Atrás",
|
|
523
691
|
next: "Siguiente",
|
|
524
692
|
close: "Cerrar",
|
|
525
693
|
importNRows: "Importar {{count}} filas",
|
|
694
|
+
importNRows_one: "Importar {{count}} fila",
|
|
695
|
+
importNRows_many: "Importar {{count}} de filas",
|
|
696
|
+
importNRows_other: "Importar {{count}} filas",
|
|
526
697
|
importingProgress: "Importando…",
|
|
527
698
|
requiredMark: "*",
|
|
528
699
|
required: "Obligatorio",
|
|
@@ -534,17 +705,45 @@ const es = {
|
|
|
534
705
|
month: "Mes",
|
|
535
706
|
week: "Semana",
|
|
536
707
|
day: "Día",
|
|
537
|
-
agenda: "Agenda",
|
|
538
708
|
allDay: "Todo el día",
|
|
539
|
-
noEvents: "Sin eventos",
|
|
540
709
|
newEvent: "Nuevo evento",
|
|
541
710
|
moreEvents: "+{{count}} más",
|
|
711
|
+
unscheduled: "Sin programar ({{count}})",
|
|
712
|
+
loading: "Cargando calendario…",
|
|
713
|
+
loadError: "Error: {{message}}",
|
|
714
|
+
configRequired: "Se requiere la configuración del calendario. Indica startDateField, la única clave obligatoria del calendario; el título del evento se resuelve sin titleField.",
|
|
715
|
+
configRequiredHint: "Pertenece al bloque calendar de la vista. Una página de interfaz no tiene su propio espacio de calendario: apunta su sourceView a una vista que declare uno.",
|
|
716
|
+
eventDetails: "Detalles del evento",
|
|
717
|
+
pullToRefresh: "Desliza para actualizar",
|
|
718
|
+
refreshing: "Actualizando…",
|
|
719
|
+
onDate: "El {{date}}",
|
|
720
|
+
eventTitle: "Título",
|
|
721
|
+
eventTitlePlaceholder: "¿De qué trata este evento?",
|
|
722
|
+
creating: "Creando…",
|
|
723
|
+
titleRequired: "El título es obligatorio",
|
|
724
|
+
a11y: {
|
|
725
|
+
region: "Calendario",
|
|
726
|
+
grid: "Cuadrícula del calendario",
|
|
727
|
+
goToToday: "Ir a hoy",
|
|
728
|
+
previousPeriod: "Período anterior",
|
|
729
|
+
nextPeriod: "Período siguiente",
|
|
730
|
+
currentDate: "Fecha actual: {{date}}",
|
|
731
|
+
dayCell: "{{date}}, {{count}} eventos",
|
|
732
|
+
dayCell_one: "{{date}}, {{count}} evento",
|
|
733
|
+
dayCell_many: "{{date}}, {{count}} de eventos",
|
|
734
|
+
dayCell_other: "{{date}}, {{count}} eventos",
|
|
735
|
+
resizeEventEnd: "Cambiar el fin del evento",
|
|
736
|
+
resizeEventEndHint: "Arrastra para cambiar la fecha de fin",
|
|
737
|
+
resizeStart: "Cambiar el inicio",
|
|
738
|
+
resizeEnd: "Cambiar el fin",
|
|
739
|
+
},
|
|
542
740
|
},
|
|
543
741
|
list: {
|
|
544
742
|
firstRunTitle: "Aquí todavía no hay nada",
|
|
545
743
|
firstRunMessage: "Cree su primer registro para empezar.",
|
|
546
744
|
noMatches: "No hay registros coincidentes",
|
|
547
745
|
noMatchesMessage: "Ningún registro coincide con sus filtros o su búsqueda actuales. Pruebe a ajustarlos o borrarlos.",
|
|
746
|
+
viewFilterNoMatchesMessage: "Ningún registro coincide con el filtro de esta vista.",
|
|
548
747
|
loadErrorTitle: "No se pudieron cargar los registros",
|
|
549
748
|
loadErrorMessage: "Algo salió mal al cargar estos datos. Compruebe su conexión y vuelva a intentarlo.",
|
|
550
749
|
loadErrorForbiddenTitle: "No tiene acceso",
|
|
@@ -581,17 +780,26 @@ const es = {
|
|
|
581
780
|
refresh: "Actualizar",
|
|
582
781
|
loading: "Cargando registros…",
|
|
583
782
|
recordCount: "{{count}} registros",
|
|
584
|
-
|
|
783
|
+
recordCount_one: "{{count}} registro",
|
|
784
|
+
recordCount_many: "{{count}} de registros",
|
|
785
|
+
recordCount_other: "{{count}} registros",
|
|
585
786
|
addRecord: "Agregar registro",
|
|
787
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
788
|
+
viewAll: "Ver todo",
|
|
586
789
|
tabs: "Pestañas",
|
|
587
790
|
allRecords: "Todos los registros",
|
|
588
791
|
search: "Buscar",
|
|
589
792
|
filter: "Filtrar",
|
|
590
793
|
filterRecords: "Filtrar registros",
|
|
794
|
+
filterActive: "Filtrar, {{count}} activos",
|
|
795
|
+
filterActive_one: "Filtrar, {{count}} activo",
|
|
796
|
+
filterActive_many: "Filtrar, {{count}} activos",
|
|
797
|
+
filterActive_other: "Filtrar, {{count}} activos",
|
|
591
798
|
sort: "Ordenar",
|
|
592
799
|
sortRecords: "Ordenar registros",
|
|
593
800
|
sortByIdSuffix: "(por ID)",
|
|
594
801
|
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.",
|
|
802
|
+
sortRelationalPicked: "Una columna vinculada se ordena por el ID almacenado, no por el nombre mostrado.",
|
|
595
803
|
resetSortToDefault: "Restablecer al valor predeterminado de la vista",
|
|
596
804
|
group: "Agrupar",
|
|
597
805
|
groupBy: "Agrupar por",
|
|
@@ -612,14 +820,15 @@ const es = {
|
|
|
612
820
|
print: "Imprimir",
|
|
613
821
|
hideFieldsTitle: "Ocultar campos",
|
|
614
822
|
dataLimitReached: "Se muestran los primeros {{limit}} registros. Puede haber más datos disponibles.",
|
|
615
|
-
|
|
616
|
-
|
|
823
|
+
display: "Visualización",
|
|
824
|
+
layout: "Diseño",
|
|
825
|
+
rowNumbers: "Números de fila",
|
|
826
|
+
resetToViewDefault: "Restablecer los valores predeterminados de la vista",
|
|
617
827
|
addGroup: "Agregar campo de grupo",
|
|
618
828
|
collapsedByDefault: "Contraído por defecto",
|
|
619
829
|
removeGroup: "Eliminar",
|
|
620
830
|
inlineEditShort: "Edición en línea",
|
|
621
831
|
inlineEditLabel: "Editar registros en línea (haga clic en una celda para editar)",
|
|
622
|
-
recordEditingTitle: "Edición de registros",
|
|
623
832
|
},
|
|
624
833
|
managedByBadge: {
|
|
625
834
|
systemWritable: {
|
|
@@ -650,6 +859,7 @@ const es = {
|
|
|
650
859
|
},
|
|
651
860
|
kanban: {
|
|
652
861
|
uncategorized: "Sin categoría",
|
|
862
|
+
loadMore: "Cargar más",
|
|
653
863
|
columns: "columnas",
|
|
654
864
|
addCard: "Añadir tarjeta",
|
|
655
865
|
addColumn: "Añadir columna",
|
|
@@ -657,13 +867,28 @@ const es = {
|
|
|
657
867
|
deleteCard: "Eliminar tarjeta",
|
|
658
868
|
deleteColumn: "Eliminar columna",
|
|
659
869
|
noCards: "Sin tarjetas",
|
|
870
|
+
columnCards: "Tarjetas de la columna {{column}}",
|
|
871
|
+
laneCards: "Tarjetas de {{column}} - {{lane}}",
|
|
660
872
|
cardTitlePlaceholder: "Escriba el título de la tarjeta…",
|
|
661
873
|
requiredFieldsTitle: "Complete los campos obligatorios",
|
|
662
874
|
requiredFieldsDescription: "Este movimiento hace que los campos siguientes sean obligatorios. Complételos para continuar.",
|
|
875
|
+
dnd: {
|
|
876
|
+
start: "Tarjeta {{card}} tomada en la columna {{column}}.",
|
|
877
|
+
overCard: "Tarjeta {{card}} sobre la tarjeta {{target}} en la columna {{column}}.",
|
|
878
|
+
overColumn: "Tarjeta {{card}} sobre la columna {{column}}.",
|
|
879
|
+
overNone: "La tarjeta {{card}} no está sobre ninguna columna.",
|
|
880
|
+
moved: "Tarjeta {{card}} movida a la columna {{column}}.",
|
|
881
|
+
dropped: "Tarjeta {{card}} soltada. Sigue en la columna {{column}}.",
|
|
882
|
+
cancelled: "Arrastre cancelado. La tarjeta {{card}} sigue en la columna {{column}}.",
|
|
883
|
+
untitledCard: "sin título",
|
|
884
|
+
unnamedColumn: "sin nombre",
|
|
885
|
+
instructions: "Para mover esta tarjeta a otra columna, arrástrela con el ratón o de forma táctil.",
|
|
886
|
+
dragging: "Arrastrando la tarjeta {{card}}",
|
|
887
|
+
},
|
|
663
888
|
},
|
|
664
889
|
timeline: {
|
|
665
890
|
bucket: {
|
|
666
|
-
|
|
891
|
+
earlier: "Antes",
|
|
667
892
|
today: "Hoy",
|
|
668
893
|
tomorrow: "Mañana",
|
|
669
894
|
thisWeek: "Esta semana",
|
|
@@ -678,6 +903,17 @@ const es = {
|
|
|
678
903
|
},
|
|
679
904
|
gantt: {
|
|
680
905
|
rowLabel: "Elementos",
|
|
906
|
+
unusableRange: {
|
|
907
|
+
malformedDate: "Rango de fechas del gantt inutilizable: {{path}} es {{value}}, que no es una fecha válida. Todas las fechas del gantt deben poder analizarse: startDate y endDate de cada elemento de fila, además de cualquier minDate / maxDate fijado en el esquema.",
|
|
908
|
+
malformedRow: "Filas del gantt inutilizables: {{path}} es {{value}}, que no tiene la forma de una fila. Un gantt lee items como una lista de filas, cada fila como un objeto con label y sus propios items, y los items de cada fila como una lista de barras; un null, un número, una cadena o un objeto simple en cualquiera de esas posiciones no se puede dibujar.",
|
|
909
|
+
inverted: "Rango de fechas del gantt inutilizable: minDate {{minDate}} es posterior a maxDate {{maxDate}}. Un minDate / maxDate fijado prevalece sobre el rango calculado a partir de las filas, por lo que este eje no tiene columnas y no se puede colocar ninguna barra; intercambie los dos valores.",
|
|
910
|
+
},
|
|
911
|
+
},
|
|
912
|
+
unsupported: {
|
|
913
|
+
objectBoundGantt: "Variante \"gantt\" no admitida: una línea de tiempo vinculada a un objeto representa las variantes de feed ({{variants}}). Gantt necesita filas literales, cada una con sus propios items anidados, por lo que el eje gantt (scale) no tiene efecto aquí.",
|
|
914
|
+
},
|
|
915
|
+
unconfigured: {
|
|
916
|
+
noDateAxis: "Se requiere el eje de fechas de la línea de tiempo: esta vista no declara ningún campo de fecha y una línea de tiempo vinculada a un objeto no inventa ninguno. Declare uno de: {{fields}}. El primero es la grafía de la especificación; los demás son alias heredados.",
|
|
681
917
|
},
|
|
682
918
|
},
|
|
683
919
|
gantt: {
|
|
@@ -695,6 +931,7 @@ const es = {
|
|
|
695
931
|
},
|
|
696
932
|
aria: {
|
|
697
933
|
taskList: "Lista de tareas",
|
|
934
|
+
refreshing: "Actualizando…",
|
|
698
935
|
},
|
|
699
936
|
tooltip: {
|
|
700
937
|
days: "d",
|
|
@@ -740,13 +977,22 @@ const es = {
|
|
|
740
977
|
conflict: {
|
|
741
978
|
title: "Conflicto de programación",
|
|
742
979
|
body: "Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tarea(s) afectada(s)?",
|
|
980
|
+
body_one: "Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tarea afectada?",
|
|
981
|
+
body_many: "Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} de tareas afectadas?",
|
|
982
|
+
body_other: "Este movimiento entra en conflicto con las restricciones de dependencia. ¿Reprogramar automáticamente {{count}} tareas afectadas?",
|
|
743
983
|
confirm: "Reprogramar automáticamente",
|
|
744
984
|
cancel: "Dejarlo como está",
|
|
745
985
|
},
|
|
746
986
|
autoScheduleDlg: {
|
|
747
987
|
title: "Programación automática",
|
|
748
988
|
body: "¿Retrasar {{count}} tarea(s) para respetar los vínculos de dependencia?",
|
|
989
|
+
body_one: "¿Retrasar {{count}} tarea para respetar los vínculos de dependencia?",
|
|
990
|
+
body_many: "¿Retrasar {{count}} de tareas para respetar los vínculos de dependencia?",
|
|
991
|
+
body_other: "¿Retrasar {{count}} tareas para respetar los vínculos de dependencia?",
|
|
749
992
|
skipped: "{{count}} tarea(s) bloqueada(s) también incumplen los vínculos y se han omitido.",
|
|
993
|
+
skipped_one: "{{count}} tarea bloqueada también incumple los vínculos y se ha omitido.",
|
|
994
|
+
skipped_many: "{{count}} de tareas bloqueadas también incumplen los vínculos y se han omitido.",
|
|
995
|
+
skipped_other: "{{count}} tareas bloqueadas también incumplen los vínculos y se han omitido.",
|
|
750
996
|
confirm: "Aplicar",
|
|
751
997
|
cancel: "Cancelar",
|
|
752
998
|
none: "Todas las dependencias se cumplen: no hay nada que reprogramar.",
|
|
@@ -825,10 +1071,14 @@ const es = {
|
|
|
825
1071
|
tabActionsFor: "Acciones de vista para {{name}}",
|
|
826
1072
|
readonlyAriaLabel: "Vista de solo lectura",
|
|
827
1073
|
readonlyTooltip: "Vista del sistema — definida en el código, solo lectura.",
|
|
1074
|
+
malformedFilter: "El filtro de esta vista no es válido, por lo que no se muestra ningún registro: la condición {{subject}} no se puede aplicar.",
|
|
1075
|
+
noObject: "No se ha indicado ningún objeto: define {{property}} o dataSource.object.",
|
|
828
1076
|
},
|
|
829
1077
|
designer: {
|
|
830
1078
|
undo: "Deshacer",
|
|
831
1079
|
redo: "Rehacer",
|
|
1080
|
+
canvasMinimap: "Minimapa del lienzo",
|
|
1081
|
+
versionHistory: "Historial de versiones",
|
|
832
1082
|
},
|
|
833
1083
|
detail: {
|
|
834
1084
|
editInlineHint: "Haga doble clic para editar",
|
|
@@ -850,7 +1100,9 @@ const es = {
|
|
|
850
1100
|
pageHeaderActions: "Acciones del encabezado de página",
|
|
851
1101
|
emojiPicker: "Selector de emojis",
|
|
852
1102
|
reactionCount: "{{emoji}} {{count}} reacciones",
|
|
853
|
-
|
|
1103
|
+
reactionCount_one: "{{emoji}} {{count}} reacción",
|
|
1104
|
+
reactionCount_many: "{{emoji}} {{count}} de reacciones",
|
|
1105
|
+
reactionCount_other: "{{emoji}} {{count}} reacciones",
|
|
854
1106
|
recordDetail: "Detalle del registro",
|
|
855
1107
|
recordDetailWithLabel: "Detalle de {{label}}",
|
|
856
1108
|
openAsFullPage: "Abrir como página completa",
|
|
@@ -877,7 +1129,6 @@ const es = {
|
|
|
877
1129
|
viewAll: "Ver todo",
|
|
878
1130
|
new: "Nuevo",
|
|
879
1131
|
add: "Agregar",
|
|
880
|
-
emptyValue: "—",
|
|
881
1132
|
comments: "Comentarios",
|
|
882
1133
|
searchComments: "Buscar comentarios…",
|
|
883
1134
|
addCommentPlaceholder: "Añadir comentario… (Ctrl+Enter para enviar)",
|
|
@@ -888,11 +1139,22 @@ const es = {
|
|
|
888
1139
|
unpin: "Desfijar",
|
|
889
1140
|
justNow: "justo ahora",
|
|
890
1141
|
minutesAgo: "hace {{count}} min",
|
|
1142
|
+
minutesAgo_one: "hace {{count}} min",
|
|
1143
|
+
minutesAgo_many: "hace {{count}} min",
|
|
1144
|
+
minutesAgo_other: "hace {{count}} min",
|
|
891
1145
|
hoursAgo: "hace {{count}} h",
|
|
1146
|
+
hoursAgo_one: "hace {{count}} h",
|
|
1147
|
+
hoursAgo_many: "hace {{count}} h",
|
|
1148
|
+
hoursAgo_other: "hace {{count}} h",
|
|
892
1149
|
daysAgo: "hace {{count}} d",
|
|
1150
|
+
daysAgo_one: "hace {{count}} d",
|
|
1151
|
+
daysAgo_many: "hace {{count}} d",
|
|
1152
|
+
daysAgo_other: "hace {{count}} d",
|
|
893
1153
|
dropFilesToUpload: "Arrastra archivos aquí o haz clic para subir",
|
|
894
1154
|
attachmentCount: "{{count}} archivo adjunto",
|
|
895
|
-
|
|
1155
|
+
attachmentCount_one: "{{count}} archivo adjunto",
|
|
1156
|
+
attachmentCount_many: "{{count}} de archivos adjuntos",
|
|
1157
|
+
attachmentCount_other: "{{count}} archivos adjuntos",
|
|
896
1158
|
removeAttachment: "Eliminar adjunto",
|
|
897
1159
|
// Record Attachments panel (enable.files, objectstack#4358)
|
|
898
1160
|
attachments: "Adjuntos",
|
|
@@ -901,6 +1163,7 @@ const es = {
|
|
|
901
1163
|
noAttachments: "Aún no hay adjuntos. Suba un archivo para empezar.",
|
|
902
1164
|
downloadAttachment: "Descargar",
|
|
903
1165
|
deleteAttachment: "Eliminar adjunto",
|
|
1166
|
+
deleteAttachmentConfirm: "¿Está seguro de que desea eliminar el adjunto \"{{name}}\"?",
|
|
904
1167
|
attachmentDeleteDenied: "Solo quien lo subió o alguien que pueda editar este registro puede eliminar este adjunto.",
|
|
905
1168
|
attachmentParentAccessDenied: "No tiene acceso para adjuntar archivos a este registro.",
|
|
906
1169
|
attachmentDownloadDenied: "No tiene acceso para descargar este adjunto.",
|
|
@@ -910,11 +1173,6 @@ const es = {
|
|
|
910
1173
|
attachmentsLoadFailed: "No se pudieron cargar los adjuntos de este registro.",
|
|
911
1174
|
attachmentsApiUnavailable: "La lista de adjuntos no está disponible en este objeto.",
|
|
912
1175
|
retryLoadAttachments: "Reintentar",
|
|
913
|
-
unifiedDiff: "Vista unificada",
|
|
914
|
-
sideBySideDiff: "Vista lado a lado",
|
|
915
|
-
noChanges: "Sin cambios",
|
|
916
|
-
previousVersion: "Anterior",
|
|
917
|
-
currentVersion: "Actual",
|
|
918
1176
|
discussion: "Discusión",
|
|
919
1177
|
showDiscussion: "Mostrar discusión ({{count}})",
|
|
920
1178
|
hideDiscussion: "Ocultar discusión",
|
|
@@ -929,25 +1187,36 @@ const es = {
|
|
|
929
1187
|
writeComment: "Escribe un comentario…",
|
|
930
1188
|
subscribedTooltip: "Suscrito — clic para cancelar suscripción",
|
|
931
1189
|
unsubscribedTooltip: "Suscribirse a notificaciones",
|
|
932
|
-
firstRecord: "Primer registro (Inicio)",
|
|
933
|
-
previousRecordKey: "Registro anterior (←)",
|
|
934
|
-
nextRecordKey: "Siguiente registro (→)",
|
|
935
|
-
lastRecord: "Último registro (Fin)",
|
|
936
1190
|
noRecords: "Sin registros",
|
|
937
|
-
searchWhileNavigating: "Buscar mientras navegas",
|
|
938
|
-
searchRecords: "Buscar registros…",
|
|
939
1191
|
allActivity: "Toda la actividad",
|
|
940
1192
|
commentsOnly: "Solo comentarios",
|
|
941
1193
|
fieldChangesFilter: "Cambios de campo",
|
|
942
1194
|
tasksOnly: "Solo tareas",
|
|
943
1195
|
leaveCommentPlaceholder: "Deja un comentario… (Ctrl+Enter para enviar)",
|
|
944
1196
|
noActivity: "Sin actividad registrada",
|
|
1197
|
+
activityAccessDenied: "No tiene permiso para ver la actividad de este registro.",
|
|
1198
|
+
commentsAccessDenied: "No tiene permiso para ver los comentarios de este registro.",
|
|
1199
|
+
// objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
|
|
1200
|
+
// `detail.*` pack did not already name, and the `formatFieldChange`
|
|
1201
|
+
// sentences, which are assembled in code and so need interpolation holes.
|
|
1202
|
+
allFilter: 'Todo',
|
|
1203
|
+
createsFilter: 'Creaciones',
|
|
1204
|
+
deletesFilter: 'Eliminaciones',
|
|
1205
|
+
statusChangesFilter: 'Cambios de estado',
|
|
1206
|
+
activityEmptyValue: '(vacío)',
|
|
1207
|
+
activityFieldChanged: 'Cambió {{field}} de "{{old}}" a "{{new}}"',
|
|
1208
|
+
activityCreated: 'Creó este registro',
|
|
1209
|
+
activityDeleted: 'Eliminó este registro',
|
|
1210
|
+
activityStatusChanged: 'Cambió el estado a "{{value}}"',
|
|
1211
|
+
activityUpdated: 'Actualizó el registro',
|
|
945
1212
|
loadMore: "Cargar más",
|
|
946
1213
|
edited: "(editado)",
|
|
947
1214
|
via: "vía {{source}}",
|
|
948
1215
|
viewSource: "Ver origen",
|
|
949
1216
|
replyCount: "{{count}} respuesta",
|
|
950
|
-
|
|
1217
|
+
replyCount_one: "{{count}} respuesta",
|
|
1218
|
+
replyCount_many: "{{count}} de respuestas",
|
|
1219
|
+
replyCount_other: "{{count}} respuestas",
|
|
951
1220
|
replyPlaceholder: "Responder…",
|
|
952
1221
|
filterActivity: "Filtrar actividad",
|
|
953
1222
|
openDiscussion: "Abrir panel de discusión",
|
|
@@ -959,9 +1228,12 @@ const es = {
|
|
|
959
1228
|
lockedByApproval: "Bloqueado para aprobación",
|
|
960
1229
|
lockedTooltip: "Este registro tiene una solicitud de aprobación pendiente; la edición está bloqueada",
|
|
961
1230
|
writeStrippedTitle: "Guardado, pero algunos campos no se aplicaron",
|
|
1231
|
+
writeWarningsTitle: "Guardado, con advertencias",
|
|
962
1232
|
writeStrippedReadonly: "De solo lectura, por lo que no se aplicó: {{fields}}",
|
|
963
1233
|
writeStrippedByState: "No editable en el estado actual de este registro, por lo que no se aplicó: {{fields}}",
|
|
964
1234
|
writeStrippedPrimaryKey: "El identificador del registro no se puede cambiar al guardar, por lo que no se aplicó: {{fields}}",
|
|
1235
|
+
writeStrippedComputed: "Lo calcula el servidor mediante una fórmula, por lo que el valor enviado no se aplicó: {{fields}}",
|
|
1236
|
+
writeStrippedStoredExpression: "Se calcula a partir del registro, por lo que se guardó el valor calculado en lugar del enviado: {{fields}}",
|
|
965
1237
|
writeStrippedUnknownReason: "No aplicado por el servidor: {{fields}}",
|
|
966
1238
|
approvalPendingEditable: "En aprobación · editable",
|
|
967
1239
|
approvalPendingTooltip: "Este registro tiene una solicitud de aprobación pendiente; este paso todavía permite la edición",
|
|
@@ -983,6 +1255,13 @@ const es = {
|
|
|
983
1255
|
pathStageLostUpcoming: '{{stage}}, perdida, no alcanzada',
|
|
984
1256
|
pathStageWonUpcoming: '{{stage}}, etapa objetivo, no alcanzada',
|
|
985
1257
|
linkCopied: "Enlace copiado al portapapeles",
|
|
1258
|
+
commentFailed: "Tu comentario no se ha publicado. No se ha guardado nada; inténtalo de nuevo.",
|
|
1259
|
+
reactionFailed: "Tu reacción no se ha guardado. Inténtalo de nuevo.",
|
|
1260
|
+
editComment: "Editar comentario",
|
|
1261
|
+
deleteComment: "Eliminar comentario",
|
|
1262
|
+
deleteCommentConfirm: "¿Está seguro de que desea eliminar este comentario?",
|
|
1263
|
+
commentEditFailed: "Tu edición no se ha guardado. El comentario conserva su texto anterior.",
|
|
1264
|
+
commentDeleteFailed: "El comentario no se ha eliminado. Inténtalo de nuevo.",
|
|
986
1265
|
linkCopyFailed: "No se pudo copiar el enlace",
|
|
987
1266
|
cancel: "Cancelar",
|
|
988
1267
|
cancelEdit: "Descartar cambios",
|
|
@@ -1012,39 +1291,69 @@ const es = {
|
|
|
1012
1291
|
sortBy: "Ordenar por",
|
|
1013
1292
|
filterPlaceholder: "Filtrar…",
|
|
1014
1293
|
highlightFields: "Campos clave",
|
|
1294
|
+
highlightsLabel: "Campos clave del registro",
|
|
1015
1295
|
createdBy: "Creado por",
|
|
1016
1296
|
updatedBy: "Actualizado por",
|
|
1017
1297
|
created: "Creado",
|
|
1018
1298
|
updated: "Actualizado",
|
|
1019
|
-
// objectui#3863 — base key
|
|
1020
|
-
//
|
|
1299
|
+
// objectui#3863 — base key, answering only a call made without a count. es's
|
|
1300
|
+
// `many` (exact millions) has its own slot since objectui#11432; it repeats
|
|
1301
|
+
// `_other` here because the count governs no noun complement.
|
|
1021
1302
|
showEmptyRelated: "+ {{count}} vacíos",
|
|
1022
1303
|
showEmptyRelated_one: "+ {{count}} vacío",
|
|
1304
|
+
showEmptyRelated_many: "+ {{count}} vacíos",
|
|
1023
1305
|
showEmptyRelated_other: "+ {{count}} vacíos",
|
|
1024
1306
|
copyEmail: "Copiar correo",
|
|
1025
1307
|
copyPhone: "Copiar teléfono",
|
|
1026
1308
|
copyRecordId: "Copiar ID de registro",
|
|
1027
1309
|
showEmptyFields: "Mostrar {{count}} campos vacíos",
|
|
1310
|
+
showEmptyFields_one: "Mostrar {{count}} campo vacío",
|
|
1311
|
+
showEmptyFields_many: "Mostrar {{count}} de campos vacíos",
|
|
1312
|
+
showEmptyFields_other: "Mostrar {{count}} campos vacíos",
|
|
1028
1313
|
hideEmptyFields: "Ocultar campos vacíos",
|
|
1029
1314
|
noValue: "Sin valor",
|
|
1315
|
+
unresolvedReference: "Referencia sin resolver: {{value}} no se resolvió como un usuario",
|
|
1316
|
+
unresolvedLookupReference: "Referencia sin resolver: {{value}} no se resolvió como un registro en esta pantalla",
|
|
1317
|
+
repeaterItemCount: "{{count}} elementos",
|
|
1318
|
+
repeaterItemCount_one: "{{count}} elemento",
|
|
1319
|
+
repeaterItemCount_many: "{{count}} de elementos",
|
|
1320
|
+
repeaterItemCount_other: "{{count}} elementos",
|
|
1321
|
+
fileCount: "{{count}} archivos",
|
|
1322
|
+
fileCount_one: "{{count}} archivo",
|
|
1323
|
+
fileCount_many: "{{count}} de archivos",
|
|
1324
|
+
fileCount_other: "{{count}} archivos",
|
|
1030
1325
|
},
|
|
1031
1326
|
chart: {
|
|
1032
|
-
noData: "No hay datos de gráfico disponibles",
|
|
1033
1327
|
loading: "Cargando gráfico…",
|
|
1328
|
+
refreshing: "Actualizando…",
|
|
1034
1329
|
nullCategory: "(Sin especificar)",
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
markersCount: "{{count}} marcadores",
|
|
1040
|
-
invalidCoordinates: "{{count}} registro con coordenadas faltantes o inválidas excluido del mapa.",
|
|
1041
|
-
invalidCoordinatesPlural: "{{count}} registros con coordenadas faltantes o inválidas excluidos del mapa.",
|
|
1330
|
+
scatterOneMeasure: "Un gráfico de dispersión traza una sola medida. Conserve una sola serie:",
|
|
1331
|
+
unconfigured: {
|
|
1332
|
+
noCategoryAxis: "Se requiere el eje de categorías del gráfico — un gráfico vinculado a un objeto no lo inventa. Declare uno de:",
|
|
1333
|
+
},
|
|
1042
1334
|
},
|
|
1043
1335
|
dashboard: {
|
|
1044
|
-
|
|
1336
|
+
// objectui#7063 — the DEFAULT empty state every dashboard widget renders
|
|
1337
|
+
// when its query SUCCEEDED and returned nothing. It replaced the terse
|
|
1338
|
+
// per-widget `noRows` / `noDataAvailable` fragments at the render site;
|
|
1339
|
+
// objectui#7125 deleted those two keys from all ten packs once nothing
|
|
1340
|
+
// read them. The copy here has to read as a state rather than a failure,
|
|
1341
|
+
// which is why it says the widget loaded. `sourceLabel` carries its own
|
|
1342
|
+
// punctuation so the call site concatenates no separator (see
|
|
1343
|
+
// `WidgetEmptyState`).
|
|
1344
|
+
empty: {
|
|
1345
|
+
title: "Aún no hay datos",
|
|
1346
|
+
message: "Este widget se cargó correctamente, pero la consulta todavía no ha devuelto ningún registro.",
|
|
1347
|
+
sourceLabel: "Origen de datos:",
|
|
1348
|
+
},
|
|
1045
1349
|
loading: "Cargando…",
|
|
1350
|
+
refreshing: "Actualizando…",
|
|
1351
|
+
refreshAll: "Actualizar todo",
|
|
1352
|
+
refreshDashboard: "Actualizar panel de control",
|
|
1046
1353
|
pickMeasures: "Elija medidas (valores) para este widget de dataset.",
|
|
1047
1354
|
datasetUnsupported: "Esta fuente de datos no admite consultas de dataset.",
|
|
1355
|
+
widgetForbiddenTitle: "Sin acceso",
|
|
1356
|
+
widgetForbiddenMessage: "No tienes permiso para ver los datos de este widget.",
|
|
1048
1357
|
details: "Detalles",
|
|
1049
1358
|
exportCsv: "Exportar CSV",
|
|
1050
1359
|
openInList: "Abrir en la lista",
|
|
@@ -1072,12 +1381,10 @@ const es = {
|
|
|
1072
1381
|
},
|
|
1073
1382
|
},
|
|
1074
1383
|
addWidget: "Añadir widget",
|
|
1075
|
-
removeWidget: "Eliminar widget",
|
|
1076
1384
|
editLayout: "Editar diseño",
|
|
1077
1385
|
saveLayout: "Guardar diseño",
|
|
1078
1386
|
resetLayout: "Restablecer diseño",
|
|
1079
1387
|
total: "Total",
|
|
1080
|
-
noDataAvailable: "Sin datos disponibles",
|
|
1081
1388
|
noDataSourceFor: "Sin fuente de datos para",
|
|
1082
1389
|
config: {
|
|
1083
1390
|
breadcrumb: {
|
|
@@ -1199,10 +1506,6 @@ const es = {
|
|
|
1199
1506
|
appDescription: "Descripción",
|
|
1200
1507
|
appIcon: "Icono",
|
|
1201
1508
|
template: "Plantilla",
|
|
1202
|
-
layout: "Diseño",
|
|
1203
|
-
layoutSidebar: "Barra lateral",
|
|
1204
|
-
layoutHeader: "Encabezado",
|
|
1205
|
-
layoutEmpty: "Vacío",
|
|
1206
1509
|
selectObjects: "Seleccionar objetos",
|
|
1207
1510
|
searchObjects: "Buscar objetos…",
|
|
1208
1511
|
selectAll: "Seleccionar todo",
|
|
@@ -1211,7 +1514,6 @@ const es = {
|
|
|
1211
1514
|
addGroup: "Agregar grupo",
|
|
1212
1515
|
addUrl: "Agregar URL",
|
|
1213
1516
|
addSeparator: "Agregar separador",
|
|
1214
|
-
noNavItems: "Aún no hay elementos de navegación.",
|
|
1215
1517
|
logoUrl: "URL del logo",
|
|
1216
1518
|
primaryColor: "Color primario",
|
|
1217
1519
|
faviconUrl: "URL del favicon",
|
|
@@ -1238,13 +1540,12 @@ const es = {
|
|
|
1238
1540
|
appearance: "Apariencia",
|
|
1239
1541
|
rowHeight: "Altura de fila",
|
|
1240
1542
|
livePreview: "Vista previa en vivo",
|
|
1241
|
-
stepBasicDesc: "Nombre, título
|
|
1543
|
+
stepBasicDesc: "Nombre, título e icono",
|
|
1242
1544
|
stepObjectsDesc: "Seleccionar objetos de negocio",
|
|
1243
1545
|
stepNavigationDesc: "Construir árbol de navegación",
|
|
1244
1546
|
stepBrandingDesc: "Logo, colores y favicon",
|
|
1245
1547
|
noObjectsFound: "No se encontraron objetos.",
|
|
1246
1548
|
noNavItemsHint: "Aún no hay elementos de navegación. Seleccione objetos en el paso anterior o agregue elementos manualmente.",
|
|
1247
|
-
separator: "Separador",
|
|
1248
1549
|
separatorLabel: "— Separador —",
|
|
1249
1550
|
newGroup: "Nuevo grupo",
|
|
1250
1551
|
newLink: "Nuevo enlace",
|
|
@@ -1278,6 +1579,7 @@ const es = {
|
|
|
1278
1579
|
navTypeSeparator: "Separador",
|
|
1279
1580
|
navTypeAction: "Acción",
|
|
1280
1581
|
navTypeComponent: "Componente",
|
|
1582
|
+
navTypeDoc: "Documento",
|
|
1281
1583
|
navEditIcon: "Editar icono",
|
|
1282
1584
|
navToggleVisible: "Alternar visibilidad",
|
|
1283
1585
|
navHidden: "Oculto",
|
|
@@ -1355,11 +1657,8 @@ const es = {
|
|
|
1355
1657
|
defaultValue: "Valor predeterminado",
|
|
1356
1658
|
placeholder: "Marcador de posición",
|
|
1357
1659
|
referenceTo: "Referencia a",
|
|
1358
|
-
formula: "Fórmula",
|
|
1359
1660
|
options: "Opciones",
|
|
1360
1661
|
addOption: "Agregar opción",
|
|
1361
|
-
validationRules: "Reglas de validación",
|
|
1362
|
-
addRule: "Agregar regla",
|
|
1363
1662
|
systemBadge: "Sistema",
|
|
1364
1663
|
ungrouped: "General",
|
|
1365
1664
|
deleteConfirmTitle: "¿Eliminar campo?",
|
|
@@ -1378,16 +1677,33 @@ const es = {
|
|
|
1378
1677
|
},
|
|
1379
1678
|
},
|
|
1380
1679
|
console: {
|
|
1680
|
+
studio: {
|
|
1681
|
+
title: "Studio",
|
|
1682
|
+
accessRequired: "Necesita acceso a Studio para abrir Studio.",
|
|
1683
|
+
},
|
|
1381
1684
|
saveAdvisoryTitle: "Guardado: la comprobación de creación generó {{count}} recomendación(es)",
|
|
1685
|
+
saveAdvisoryTitle_one: "Guardado: la comprobación de creación generó {{count}} recomendación",
|
|
1686
|
+
saveAdvisoryTitle_many: "Guardado: la comprobación de creación generó {{count}} de recomendaciones",
|
|
1687
|
+
saveAdvisoryTitle_other: "Guardado: la comprobación de creación generó {{count}} recomendaciones",
|
|
1688
|
+
publishAdvisoryTitle: "Publicado: la comprobación de creación generó {{count}} recomendación(es)",
|
|
1689
|
+
publishAdvisoryTitle_one: "Publicado: la comprobación de creación generó {{count}} recomendación",
|
|
1690
|
+
publishAdvisoryTitle_many: "Publicado: la comprobación de creación generó {{count}} de recomendaciones",
|
|
1691
|
+
publishAdvisoryTitle_other: "Publicado: la comprobación de creación generó {{count}} recomendaciones",
|
|
1692
|
+
importMappingsUnavailable: "No se pudieron cargar las asignaciones de importación guardadas de {{object}}",
|
|
1693
|
+
importMappingsRefused: "El servidor rechazó esta solicitud, por lo que la lista está vacía porque no se pudo leer, no porque no haya nada registrado. Vuelve a iniciar sesión o pide acceso a un administrador.",
|
|
1694
|
+
importMappingsUnreadable: "Esta lista está vacía porque no se pudo leer, no porque no haya nada registrado. Inténtalo de nuevo e informa del problema si continúa.",
|
|
1695
|
+
savedViewsUnavailable: "No se pudieron cargar las vistas guardadas de {{object}}",
|
|
1696
|
+
savedViewsRefused: "El servidor rechazó esta solicitud, por lo que la lista está vacía porque no se pudo leer, no porque este objeto no tenga vistas guardadas. Vuelve a iniciar sesión o pide acceso a un administrador.",
|
|
1697
|
+
savedViewsUnreadable: "Esta lista está vacía porque no se pudo leer, no porque este objeto no tenga vistas guardadas. Inténtalo de nuevo e informa del problema si continúa.",
|
|
1382
1698
|
settingsHub: {
|
|
1383
1699
|
title: "Configuración",
|
|
1384
|
-
subtitle: "Configure su
|
|
1700
|
+
subtitle: "Configure su sistema, las integraciones y los indicadores de funciones.",
|
|
1385
1701
|
loadError: "No se pudo cargar la configuración",
|
|
1386
1702
|
empty: "No hay configuraciones registradas. Los plugins pueden registrar manifiestos de configuración mediante el SettingsService.",
|
|
1387
1703
|
settingsCount: "{{n}} configuraciones",
|
|
1388
1704
|
beta: "Beta",
|
|
1389
1705
|
categories: {
|
|
1390
|
-
Workspace: "
|
|
1706
|
+
Workspace: "General",
|
|
1391
1707
|
Communication: "Comunicación",
|
|
1392
1708
|
Security: "Seguridad",
|
|
1393
1709
|
Infrastructure: "Infraestructura",
|
|
@@ -1432,13 +1748,20 @@ const es = {
|
|
|
1432
1748
|
},
|
|
1433
1749
|
usage: {
|
|
1434
1750
|
title: "Uso de IA",
|
|
1435
|
-
|
|
1436
|
-
meterAsk: "Preguntar",
|
|
1751
|
+
poolUsed: "{{percent}} usado",
|
|
1437
1752
|
statusOk: "Queda bastante",
|
|
1438
1753
|
statusLow: "Se está agotando",
|
|
1439
1754
|
statusFull: "Límite alcanzado",
|
|
1440
1755
|
resetsDaily: "Se restablece esta noche",
|
|
1441
1756
|
resetsMonthly: "Se restablece en el próximo ciclo",
|
|
1757
|
+
resetsWeeklyDays: "Se restablece en {{count}} días",
|
|
1758
|
+
resetsWeeklyDays_one: "Se restablece en {{count}} día",
|
|
1759
|
+
resetsWeeklyDays_many: "Se restablece en {{count}} de días",
|
|
1760
|
+
resetsWeeklyDays_other: "Se restablece en {{count}} días",
|
|
1761
|
+
resetsWeeklyHours: "Se restablece en {{count}} horas",
|
|
1762
|
+
resetsWeeklyHours_one: "Se restablece en {{count}} hora",
|
|
1763
|
+
resetsWeeklyHours_many: "Se restablece en {{count}} de horas",
|
|
1764
|
+
resetsWeeklyHours_other: "Se restablece en {{count}} horas",
|
|
1442
1765
|
ctaUpgrade: "Mejore el plan para continuar",
|
|
1443
1766
|
ctaTopUp: "Añada créditos para continuar",
|
|
1444
1767
|
ariaLabel: "Uso de IA: {{status}}",
|
|
@@ -1451,6 +1774,31 @@ const es = {
|
|
|
1451
1774
|
share: "Compartir",
|
|
1452
1775
|
shareTitle: "Compartir esta conversación",
|
|
1453
1776
|
shareDisabledTitle: "Empiece a chatear para habilitar el uso compartido",
|
|
1777
|
+
buildDoctor: "Diagnóstico de compilación",
|
|
1778
|
+
buildDoctorTitle: "Diagnóstico de compilación — ¿qué se aplicó realmente?",
|
|
1779
|
+
buildDoctorDisabledTitle: "Envíe primero un mensaje",
|
|
1780
|
+
buildDoctorDrawer: {
|
|
1781
|
+
description: 'Lo que el agente afirmó frente a lo que está realmente activo. Diagnóstico de solo lectura.',
|
|
1782
|
+
reconciling: 'Conciliando…',
|
|
1783
|
+
notAvailable: 'No disponible — no se encontró la conversación o no tiene autorización.',
|
|
1784
|
+
untitled: '(sin título)',
|
|
1785
|
+
summary: '{{turns}} turno(s) · {{messages}} msj · {{tokens}} tok · {{seconds}} s LLM',
|
|
1786
|
+
allLive: 'Los {{count}} cambio(s) intentado(s) están activos — no se perdió nada.',
|
|
1787
|
+
discrepancies: '{{count}} discrepancia(s) — lo que dijo el chat no coincide con lo que está activo.',
|
|
1788
|
+
orphanedTitle: 'Propuesto pero nunca aplicado',
|
|
1789
|
+
orphanedHint: 'Una tarjeta de confirmación que el agente propuso pero que ningún turno posterior aplicó — el cambio se perdió sin aviso.',
|
|
1790
|
+
missingTitle: 'Afirmado pero ausente',
|
|
1791
|
+
missingHint: 'Un resultado de herramienta indicó que se aplicó, pero el artefacto no está activo en sys_metadata.',
|
|
1792
|
+
toolErrorsTitle: 'Errores de herramientas',
|
|
1793
|
+
toolErrorsHint: 'Llamadas a herramientas que devolvieron un error durante la compilación.',
|
|
1794
|
+
verifyTitle: 'Comprobación de compilación (verify_build)',
|
|
1795
|
+
yourApp: 'Su aplicación:',
|
|
1796
|
+
noIssues: '0 problemas',
|
|
1797
|
+
issueCount: '{{count}} problema(s)',
|
|
1798
|
+
platformNoise: '{{count}} hallazgo(s) sys_* de la plataforma oculto(s)',
|
|
1799
|
+
pendingActions: 'Acciones pendientes',
|
|
1800
|
+
timeline: 'Cronología ({{count}})',
|
|
1801
|
+
},
|
|
1454
1802
|
newChat: "Nuevo",
|
|
1455
1803
|
searchChats: "Buscar chats…",
|
|
1456
1804
|
noChatsYet: "Todavía no hay chats",
|
|
@@ -1473,6 +1821,8 @@ const es = {
|
|
|
1473
1821
|
liveCanvasUnlisted: "Aplicación en vivo — {{app}} (no listada hasta su publicación)",
|
|
1474
1822
|
loadingAgents: "Cargando agentes…",
|
|
1475
1823
|
askAnything: "Pregunte lo que quiera…",
|
|
1824
|
+
askOrChangeApp: "Pregunte por sus datos o pídame que cambie esta app…",
|
|
1825
|
+
describeAppToBuild: "Describa la app que quiere crear o lo que hay que cambiar…",
|
|
1476
1826
|
emptyTitle: "Iniciar una conversación",
|
|
1477
1827
|
emptyDescription: "Pregunte lo que quiera — el asistente tiene acceso al contexto de su aplicación actual.",
|
|
1478
1828
|
switchAssistant: "Cambiar de asistente",
|
|
@@ -1480,7 +1830,7 @@ const es = {
|
|
|
1480
1830
|
empty: {
|
|
1481
1831
|
build: {
|
|
1482
1832
|
title: "Crear con IA",
|
|
1483
|
-
description: "Describa una aplicación
|
|
1833
|
+
description: "Describa una aplicación en lenguaje natural — yo redacto los objetos, las pantallas y los datos de ejemplo, y luego usted revisa y publica.",
|
|
1484
1834
|
},
|
|
1485
1835
|
ask: {
|
|
1486
1836
|
title: "Pregunte a sus datos",
|
|
@@ -1489,17 +1839,22 @@ const es = {
|
|
|
1489
1839
|
editApp: {
|
|
1490
1840
|
title: "Editando «{{app}}»",
|
|
1491
1841
|
titleGeneric: "Editar esta aplicación",
|
|
1492
|
-
description: "¿Qué desea cambiar? Modifico esta aplicación sobre la marcha — añadir un campo, un objeto, una vista o
|
|
1842
|
+
description: "¿Qué desea cambiar? Modifico esta aplicación sobre la marcha — añadir un campo, un objeto, una vista o un panel, o ajustar lo que ya existe.",
|
|
1493
1843
|
},
|
|
1494
1844
|
},
|
|
1495
1845
|
clearConversation: "Borrar",
|
|
1496
1846
|
sendHint: "para enviar",
|
|
1847
|
+
newlineHint: "para una nueva línea",
|
|
1497
1848
|
agentActivity: "Actividad del agente",
|
|
1498
1849
|
toolCompleted: "Completado",
|
|
1499
1850
|
toolRunning: "En ejecución",
|
|
1500
1851
|
toolAwaitingApproval: "Esperando aprobación",
|
|
1501
1852
|
toolFailed: "Error",
|
|
1502
1853
|
toolDetailsHidden: "Las entradas de las herramientas y los resultados sin procesar están ocultos en esta vista.",
|
|
1854
|
+
toolDenyReason: "Rechazado por el operador desde el chat",
|
|
1855
|
+
builderHandoffTitle: "Crear en el constructor",
|
|
1856
|
+
builderHandoffOpen: "Abrir en el constructor →",
|
|
1857
|
+
builderHandoffSuperseded: "Hay una solicitud más reciente",
|
|
1503
1858
|
copy: "Copiar",
|
|
1504
1859
|
copied: "Copiado",
|
|
1505
1860
|
regenerate: "Regenerar",
|
|
@@ -1514,7 +1869,7 @@ const es = {
|
|
|
1514
1869
|
publishOk: "Publicado — los objetos ya están activos.",
|
|
1515
1870
|
seedWarn: "Publicado, pero no se pudieron cargar algunos datos de ejemplo.",
|
|
1516
1871
|
openBuiltApp: "Abrir la aplicación",
|
|
1517
|
-
|
|
1872
|
+
viewBuiltAppInStudio: "Ver en Studio",
|
|
1518
1873
|
previewDraft: "Vista previa",
|
|
1519
1874
|
previewApp: "Vista previa de la aplicación",
|
|
1520
1875
|
resizeSplit: "Redimensionar el chat y la vista previa",
|
|
@@ -1542,23 +1897,41 @@ const es = {
|
|
|
1542
1897
|
recentRecords: "Enumera los 5 registros creados más recientemente.",
|
|
1543
1898
|
recordCounts: "Cuenta los registros de cada objeto.",
|
|
1544
1899
|
},
|
|
1900
|
+
// cloud#1984 — these five chips are the maker's own recommendations, so
|
|
1901
|
+
// they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
|
|
1902
|
+
// (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
|
|
1903
|
+
// wording that promises autonomous behaviour (alert / remind / notify /
|
|
1904
|
+
// automate / status workflow) — v1 has no flows, actions or schedules, and
|
|
1905
|
+
// the model silently degrades such a request into a board or a filtered
|
|
1906
|
+
// view, so the chip would promise an alert and deliver a page. REVERT to
|
|
1907
|
+
// the automation wording when ADR-0112 v2 re-adds flows and actions.
|
|
1545
1908
|
metadataAssistant: {
|
|
1546
|
-
buildCrm: "Crea un CRM de ventas — clientes, contactos y un
|
|
1547
|
-
buildApp: "Crea un seguimiento de proyectos — proyectos, tareas con responsables y fechas de vencimiento,
|
|
1548
|
-
buildFlow: "Diseña una mesa de ayuda — tickets con prioridad, un
|
|
1549
|
-
buildInventory: "Crea una aplicación de inventario — productos, niveles de stock, proveedores y
|
|
1550
|
-
buildRecruiting: "Crea un seguimiento de candidaturas — candidatos, vacantes,
|
|
1909
|
+
buildCrm: "Crea un CRM de ventas — clientes, contactos y oportunidades con un campo de etapa, y un panel que sume el importe por etapa.",
|
|
1910
|
+
buildApp: "Crea un seguimiento de proyectos — proyectos, tareas con responsables y fechas de vencimiento, un tablero por estado y un calendario de vencimientos.",
|
|
1911
|
+
buildFlow: "Diseña una mesa de ayuda — tickets con campos de prioridad y estado, un tablero por estado y vínculos con los clientes.",
|
|
1912
|
+
buildInventory: "Crea una aplicación de inventario — productos, niveles de stock, proveedores y una vista que filtre los artículos por debajo de su punto de pedido.",
|
|
1913
|
+
buildRecruiting: "Crea un seguimiento de candidaturas — candidatos, vacantes, un campo de etapa de entrevista y un tablero por etapa.",
|
|
1551
1914
|
},
|
|
1552
1915
|
generic: {
|
|
1553
1916
|
help: "¿En qué puedes ayudarme?",
|
|
1554
1917
|
availableObjects: "Enumera los objetos de datos disponibles.",
|
|
1555
1918
|
recentActivity: "Resume mi actividad reciente.",
|
|
1556
1919
|
},
|
|
1920
|
+
// objectui#7709 — the edit-mode starters, shown when the maker is bound
|
|
1921
|
+
// to an EXISTING app (`?package=`). Same rule as the five above: they
|
|
1922
|
+
// may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
|
|
1923
|
+
// `addAutomation` ("an approval, a status flow, or a notification") and
|
|
1924
|
+
// every capability it named is refused by v1 (cloud#1956 / PR #1970), so
|
|
1925
|
+
// it now asks for sample data — `seed` IS on v1's whitelist, and having
|
|
1926
|
+
// no data is what an existing app most often lacks. REVERT: when
|
|
1927
|
+
// ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
|
|
1928
|
+
// comes back as `addAutomation`; the retired string is pinned for every
|
|
1929
|
+
// pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
|
|
1557
1930
|
editApp: {
|
|
1558
1931
|
addField: "Añade un campo a uno de los objetos.",
|
|
1559
1932
|
addObject: "Añade un objeto nuevo y relaciónalo con uno existente.",
|
|
1560
1933
|
addDashboard: "Añade un panel para las métricas clave.",
|
|
1561
|
-
|
|
1934
|
+
addSampleData: "Rellena los objetos existentes con registros de ejemplo realistas para poder mostrar la aplicación.",
|
|
1562
1935
|
},
|
|
1563
1936
|
},
|
|
1564
1937
|
changesTitle: "Confirmar cambios",
|
|
@@ -1623,6 +1996,7 @@ const es = {
|
|
|
1623
1996
|
collapse: "Contraer el chat",
|
|
1624
1997
|
maximize: "Abrir como página completa",
|
|
1625
1998
|
open: "Abrir el asistente",
|
|
1999
|
+
planAwaitingApproval: "Un plan propuesto espera su aprobación",
|
|
1626
2000
|
},
|
|
1627
2001
|
group: {
|
|
1628
2002
|
today: "Hoy",
|
|
@@ -1633,13 +2007,17 @@ const es = {
|
|
|
1633
2007
|
},
|
|
1634
2008
|
},
|
|
1635
2009
|
title: "Consola ObjectStack",
|
|
1636
|
-
initializing: "
|
|
1637
|
-
|
|
2010
|
+
initializing: "Abriendo su consola…",
|
|
2011
|
+
skipToContent: "Saltar al contenido",
|
|
1638
2012
|
breadcrumb: {
|
|
1639
|
-
dashboards: "Paneles",
|
|
1640
|
-
pages: "Páginas",
|
|
1641
|
-
reports: "Informes",
|
|
1642
2013
|
system: "Sistema",
|
|
2014
|
+
marketplace: "Marketplace",
|
|
2015
|
+
settings: 'Configuración',
|
|
2016
|
+
apps: 'Aplicaciones',
|
|
2017
|
+
profile: 'Perfil',
|
|
2018
|
+
approvals: 'Aprobaciones',
|
|
2019
|
+
aiApprovals: 'Aprobaciones de IA',
|
|
2020
|
+
auditLog: 'Registro de auditoría',
|
|
1643
2021
|
},
|
|
1644
2022
|
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1645
2023
|
// `settingsHub` above already resolved through this pack; the view was the
|
|
@@ -1659,17 +2037,33 @@ const es = {
|
|
|
1659
2037
|
saveChanges: "Guardar cambios",
|
|
1660
2038
|
unsavedCount: "{{count}} cambios sin guardar",
|
|
1661
2039
|
unsavedCount_one: "{{count}} cambio sin guardar",
|
|
2040
|
+
unsavedCount_many: "{{count}} de cambios sin guardar",
|
|
1662
2041
|
unsavedCount_other: "{{count}} cambios sin guardar",
|
|
2042
|
+
fieldErrorsToast: "{{count}} ajustes requieren atención: {{settings}}",
|
|
2043
|
+
fieldErrorsToast_one: "{{count}} ajuste requiere atención: {{settings}}",
|
|
2044
|
+
fieldErrorsToast_many: "{{count}} de ajustes requieren atención: {{settings}}",
|
|
2045
|
+
fieldErrorsToast_other: "{{count}} ajustes requieren atención: {{settings}}",
|
|
1663
2046
|
cryptoRefusalTitle: "Esta instalación no puede cifrar secretos",
|
|
1664
2047
|
cryptoRefusalSubjectSuffix: "está declarado como cifrado, por lo que no se escribió nada.",
|
|
1665
2048
|
cryptoRefusalNoSubject: "El valor declarado como cifrado fue rechazado, por lo que no se escribió nada.",
|
|
1666
2049
|
cryptoRefusalToast: "No se pueden cifrar los secretos: {{subject}}",
|
|
1667
2050
|
cryptoRefusalToastNoSubject: "No se pueden cifrar los secretos",
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
2051
|
+
sourceBadgeInherited: "Heredado de {{source}}",
|
|
2052
|
+
sourceBadgeOverrides: "Sobrescribe {{source}}",
|
|
2053
|
+
resetToDefault: "Restablecer valor predeterminado",
|
|
2054
|
+
envLockBadge: "Bloqueado por el entorno",
|
|
2055
|
+
envLockBadgeTitle: "Fijado por una variable de entorno: no se puede editar desde la interfaz.",
|
|
2056
|
+
deprecatedBadge: "Obsoleto",
|
|
2057
|
+
deprecatedBadgeReplacedBy: "Obsoleto → {{replacedBy}}",
|
|
2058
|
+
unsupportedSpecifierType: "Tipo de ajuste no admitido: {{type}}",
|
|
2059
|
+
},
|
|
2060
|
+
workspaceTimezonePrompt: {
|
|
2061
|
+
title: "Configure la zona horaria del sistema",
|
|
2062
|
+
description: "Este sistema aún usa la zona horaria predeterminada de la plataforma, {{current}}. La zona horaria del sistema determina qué significa «hoy» en las fórmulas, cómo agrupan los informes por fecha y cómo se muestran las fechas y horas, para todos en el sistema. Abajo se indica la zona horaria de su navegador.",
|
|
2063
|
+
laterHint: "Puede cambiarla en cualquier momento en la página de Configuración.",
|
|
2064
|
+
decline: "Mantener la predeterminada",
|
|
2065
|
+
confirm: "Configurar zona horaria",
|
|
2066
|
+
saved: "Zona horaria del sistema configurada en {{zone}}",
|
|
1673
2067
|
},
|
|
1674
2068
|
error: {
|
|
1675
2069
|
connectionFailed: "No se puede conectar al servidor",
|
|
@@ -1694,27 +2088,28 @@ const es = {
|
|
|
1694
2088
|
groups: {
|
|
1695
2089
|
general: "General",
|
|
1696
2090
|
navigation: "Navegación",
|
|
1697
|
-
dataViews: "Vistas de datos",
|
|
1698
2091
|
aiChat: "Asistente de IA",
|
|
1699
|
-
preferences: "Preferencias",
|
|
1700
2092
|
},
|
|
1701
2093
|
openCommandPalette: "Abrir paleta de comandos",
|
|
1702
2094
|
showShortcuts: "Mostrar atajos de teclado",
|
|
1703
2095
|
closeDialog: "Cerrar diálogo / panel",
|
|
1704
2096
|
toggleSidebar: "Alternar barra lateral",
|
|
1705
|
-
focusSearch: "Enfocar búsqueda",
|
|
1706
|
-
createRecord: "Crear nuevo registro",
|
|
1707
|
-
refreshData: "Actualizar datos",
|
|
1708
|
-
editRecord: "Editar registro seleccionado",
|
|
1709
2097
|
newChat: "Nuevo chat",
|
|
1710
2098
|
toggleChatsList: "Alternar lista de chats",
|
|
1711
|
-
|
|
2099
|
+
goHome: "Volver al inicio",
|
|
2100
|
+
},
|
|
2101
|
+
reportIndex: {
|
|
2102
|
+
title: "Informes",
|
|
2103
|
+
emptyTitle: "No hay informes",
|
|
2104
|
+
emptyDescription: "Esta aplicación no tiene informes que puedas abrir.",
|
|
1712
2105
|
},
|
|
1713
2106
|
commandPalette: {
|
|
1714
2107
|
title: "Paleta de comandos",
|
|
1715
2108
|
placeholder: "Escriba un comando o busque…",
|
|
1716
2109
|
noResults: "No se encontraron resultados.",
|
|
1717
2110
|
objects: "Objetos",
|
|
2111
|
+
packages: "Paquetes",
|
|
2112
|
+
flows: "Flujos",
|
|
1718
2113
|
dashboards: "Paneles",
|
|
1719
2114
|
pages: "Páginas",
|
|
1720
2115
|
reports: "Informes",
|
|
@@ -1731,6 +2126,21 @@ const es = {
|
|
|
1731
2126
|
records: "Registros",
|
|
1732
2127
|
recentRecords: "Visto recientemente",
|
|
1733
2128
|
},
|
|
2129
|
+
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2130
|
+
readRate: {
|
|
2131
|
+
ratioTitle: 'Volumen de lectura inusual en este sistema',
|
|
2132
|
+
ratio: 'Se leen {{ratio}} filas por cada fila escrita. La plataforma señala todo lo que supere {{threshold}}. No se limita ni se bloquea nada; es un informe para que se pueda revisar el patrón de lectura.',
|
|
2133
|
+
noWritesTitle: 'Lecturas sin ninguna escritura en este sistema',
|
|
2134
|
+
noWrites: 'Se están leyendo filas sin escribir ninguna, por lo que la tasa de lectura no tiene límite superior. Es la lectura más grave. La plataforma señala todo lo que supere {{threshold}}. No se limita ni se bloquea nada; es un informe para que se pueda revisar el patrón de lectura.',
|
|
2135
|
+
},
|
|
2136
|
+
// objectui#10439 — see the `en` pack for what raises each case.
|
|
2137
|
+
storageUsage: {
|
|
2138
|
+
warningTitle: 'El almacenamiento se está llenando',
|
|
2139
|
+
warning: '{{used}} MB de {{limit}} MB usados. Las cargas y las importaciones se pausan cuando el almacenamiento está lleno.',
|
|
2140
|
+
blockedTitle: 'Almacenamiento lleno: las cargas y las importaciones están en pausa',
|
|
2141
|
+
blocked: '{{used}} MB de {{limit}} MB usados. Los datos existentes no se modifican, y la lectura, la exportación y la edición de registros individuales siguen funcionando.',
|
|
2142
|
+
upgrade: 'Mejore el plan para continuar',
|
|
2143
|
+
},
|
|
1734
2144
|
errors: {
|
|
1735
2145
|
somethingWentWrong: "Algo salió mal",
|
|
1736
2146
|
unexpectedError: "Ocurrió un error inesperado al renderizar esta vista.",
|
|
@@ -1761,22 +2171,27 @@ const es = {
|
|
|
1761
2171
|
viewNameInvalid: "Use minúsculas, números y guiones bajos; empiece por una letra o un guion bajo.",
|
|
1762
2172
|
systemViewReadonly: "Vista del sistema definida en el código: solo lectura.",
|
|
1763
2173
|
cannotEditMetaView: "Esta vista está integrada y definida en el código: no se puede modificar.",
|
|
2174
|
+
resetView: "Restablecer vista",
|
|
2175
|
+
resetViewTitle: "Devolver esta vista a su propia ordenación, filtros y anchos de columna. Solo cambia su configuración.",
|
|
1764
2176
|
cannotDeleteMetaView: "Esta vista está integrada y definida en el código: no se puede eliminar.",
|
|
1765
2177
|
expandToPage: "Abrir como página completa",
|
|
1766
2178
|
objectNotFound: "Objeto no encontrado",
|
|
1767
2179
|
objectNotFoundDescription: "El objeto \"{{objectName}}\" no existe en la configuración actual.",
|
|
1768
2180
|
objectNotFoundHint: "Verifique la configuración de navegación de su aplicación o seleccione un objeto diferente en la barra lateral.",
|
|
2181
|
+
objectPackageDisabled: "El objeto \"{{objectName}}\" pertenece a un paquete deshabilitado, por lo que no se está sirviendo.",
|
|
1769
2182
|
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.",
|
|
1770
2183
|
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.",
|
|
1771
2184
|
allRecords: "Todos los registros",
|
|
1772
2185
|
new: "Nuevo",
|
|
1773
2186
|
configureView: "Configurar vista",
|
|
1774
|
-
toolbar: "Barra de herramientas",
|
|
1775
2187
|
toolbarEnabledCount: "{{count}} de {{total}} habilitados",
|
|
1776
2188
|
searchFields: "Buscar campos…",
|
|
1777
2189
|
title: "Título",
|
|
1778
2190
|
viewType: "Tipo de vista",
|
|
1779
2191
|
recordCount: "{{count}} registros",
|
|
2192
|
+
recordCount_one: "{{count}} registro",
|
|
2193
|
+
recordCount_many: "{{count}} de registros",
|
|
2194
|
+
recordCount_other: "{{count}} registros",
|
|
1780
2195
|
save: "Guardar",
|
|
1781
2196
|
discard: "Descartar",
|
|
1782
2197
|
createView: "Crear vista",
|
|
@@ -1788,11 +2203,13 @@ const es = {
|
|
|
1788
2203
|
longitudeField: "Campo de longitud",
|
|
1789
2204
|
imageField: "Campo de imagen",
|
|
1790
2205
|
selectField: "Seleccionar campo…",
|
|
1791
|
-
groupBy: "Agrupar por",
|
|
1792
2206
|
endDateField: "Campo de fecha de fin",
|
|
1793
2207
|
import: "Importar",
|
|
1794
2208
|
importTitle: "Importar desde CSV",
|
|
1795
2209
|
importedToast: "{{count}} fila(s) importada(s).",
|
|
2210
|
+
importedToast_one: "{{count}} fila importada.",
|
|
2211
|
+
importedToast_many: "{{count}} de filas importadas.",
|
|
2212
|
+
importedToast_other: "{{count}} filas importadas.",
|
|
1796
2213
|
importedWithSkipped: "{{ok}} fila(s) importada(s); {{skipped}} omitida(s).",
|
|
1797
2214
|
createViewDesc: "Elija un tipo de vista y asígnele un nombre. Todas las configuraciones se pueden cambiar después.",
|
|
1798
2215
|
cancel: "Cancelar",
|
|
@@ -1801,6 +2218,9 @@ const es = {
|
|
|
1801
2218
|
deleteViewTitle: "Eliminar vista",
|
|
1802
2219
|
deleteViewConfirm: "¿Eliminar la vista \"{{name}}\"? Esto no se puede deshacer.",
|
|
1803
2220
|
bulkDeleteConfirm: "¿Eliminar {{count}} registros seleccionados? Esto no se puede deshacer.",
|
|
2221
|
+
bulkDeleteConfirm_one: "¿Eliminar {{count}} registro seleccionado? Esto no se puede deshacer.",
|
|
2222
|
+
bulkDeleteConfirm_many: "¿Eliminar {{count}} de registros seleccionados? Esto no se puede deshacer.",
|
|
2223
|
+
bulkDeleteConfirm_other: "¿Eliminar {{count}} registros seleccionados? Esto no se puede deshacer.",
|
|
1804
2224
|
duplicateViewName: "Ya existe una vista con ese nombre.",
|
|
1805
2225
|
viewTypeGrid: "Cuadrícula",
|
|
1806
2226
|
viewTypeGridDesc: "Tabla tipo hoja de cálculo de registros.",
|
|
@@ -1837,14 +2257,22 @@ const es = {
|
|
|
1837
2257
|
chartTypePie: "Gráfico circular",
|
|
1838
2258
|
chartTypeArea: "Gráfico de área",
|
|
1839
2259
|
chartTypeScatter: "Gráfico de dispersión",
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
2260
|
+
dataset: "Conjunto de datos",
|
|
2261
|
+
datasetHelp: "El gráfico lee sus valores de este conjunto de datos del objeto.",
|
|
2262
|
+
chartMeasure: "Medida",
|
|
2263
|
+
chartMeasureHelp: "La medida del conjunto de datos representada en el eje de valores.",
|
|
2264
|
+
chartDimension: "Dimensión",
|
|
2265
|
+
chartDimensionHelp: "La dimensión del conjunto de datos por la que se agrupan los valores (opcional).",
|
|
2266
|
+
viewTypeUnavailableDataset: "Este objeto no expone ningún conjunto de datos para graficar.",
|
|
2267
|
+
noDatasetMeasure: "Este conjunto de datos no declara ninguna medida para graficar.",
|
|
1844
2268
|
ufTabs: "Pestañas",
|
|
1845
2269
|
ufAddField: "+ Agregar campo de filtro…",
|
|
1846
2270
|
ufShowAllRecords: "Mostrar pestaña \"Todos los registros\"",
|
|
1847
2271
|
},
|
|
2272
|
+
runtimeDraft: {
|
|
2273
|
+
publishFailed: "Error al publicar",
|
|
2274
|
+
discardFailed: "Error al descartar el borrador",
|
|
2275
|
+
},
|
|
1848
2276
|
localeSwitcher: {
|
|
1849
2277
|
label: "Idioma",
|
|
1850
2278
|
},
|
|
@@ -1852,14 +2280,22 @@ const es = {
|
|
|
1852
2280
|
nav: {
|
|
1853
2281
|
pinItem: "Fijar {{name}}",
|
|
1854
2282
|
unpinItem: "Desfijar {{name}}",
|
|
1855
|
-
dragToReorder: "Arrastrar para reordenar",
|
|
1856
2283
|
favorites: "Favoritos",
|
|
2284
|
+
launcherLabel: "Lanzador de aplicaciones",
|
|
2285
|
+
menuLabel: "Navegación de la aplicación",
|
|
2286
|
+
menuEmpty: "Esta aplicación no tiene entradas de navegación que puedas abrir.",
|
|
2287
|
+
itemMenu: "Más acciones para {{name}}",
|
|
2288
|
+
openInNewTab: "Abrir en nueva pestaña",
|
|
2289
|
+
copyLink: "Copiar enlace",
|
|
2290
|
+
linkCopied: "Enlace copiado al portapapeles",
|
|
2291
|
+
linkCopyFailed: "No se pudo copiar el enlace",
|
|
2292
|
+
design: "Diseñar",
|
|
1857
2293
|
},
|
|
1858
2294
|
},
|
|
1859
2295
|
auth: {
|
|
1860
2296
|
setPassword: {
|
|
1861
2297
|
title: "Establecer una contraseña de recuperación",
|
|
1862
|
-
description: "Ha iniciado sesión mediante inicio de sesión único. Establezca una contraseña local para poder seguir accediendo directamente
|
|
2298
|
+
description: "Ha iniciado sesión mediante inicio de sesión único. Establezca una contraseña local para poder seguir accediendo directamente si el SSO deja de estar disponible.",
|
|
1863
2299
|
email: "Correo electrónico",
|
|
1864
2300
|
newPassword: "Nueva contraseña",
|
|
1865
2301
|
confirmPassword: "Confirmar la contraseña",
|
|
@@ -1875,9 +2311,8 @@ const es = {
|
|
|
1875
2311
|
signingIn: "Iniciando sesión…",
|
|
1876
2312
|
ssoHandoff: "Continuar a {{target}}",
|
|
1877
2313
|
devAdminHint: {
|
|
1878
|
-
title: "Instancia de desarrollo",
|
|
1879
|
-
|
|
1880
|
-
dismiss: "Descartar",
|
|
2314
|
+
title: "Instancia de desarrollo local",
|
|
2315
|
+
signIn: "Iniciar sesión como administrador de desarrollo",
|
|
1881
2316
|
},
|
|
1882
2317
|
title: "Inicia sesión en tu cuenta",
|
|
1883
2318
|
description: "Ingresa tu correo electrónico y contraseña para continuar",
|
|
@@ -1907,6 +2342,22 @@ const es = {
|
|
|
1907
2342
|
resendOtpCountdownText: "Reenviar en {seconds} s",
|
|
1908
2343
|
usePhoneOtpText: "Iniciar sesión con código de verificación",
|
|
1909
2344
|
usePasswordSignInText: "Iniciar sesión con contraseña en su lugar",
|
|
2345
|
+
socialButton: "Continuar con {provider}",
|
|
2346
|
+
orText: "o continúe con correo electrónico",
|
|
2347
|
+
ssoButton: "Iniciar sesión con SSO",
|
|
2348
|
+
ssoOnlyDescription: "Accede con el inicio de sesión único de tu organización",
|
|
2349
|
+
usePasswordText: "Usar una contraseña en su lugar",
|
|
2350
|
+
backToSsoText: "Volver al inicio de sesión único",
|
|
2351
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2352
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2353
|
+
welcomeTitle: "Bienvenido de nuevo",
|
|
2354
|
+
welcomeDescription: "Inicia sesión para continuar con tu trabajo",
|
|
2355
|
+
showPasswordText: "Mostrar contraseña",
|
|
2356
|
+
hidePasswordText: "Ocultar contraseña",
|
|
2357
|
+
footer: {
|
|
2358
|
+
privacy: "Privacidad",
|
|
2359
|
+
terms: "Términos",
|
|
2360
|
+
},
|
|
1910
2361
|
},
|
|
1911
2362
|
register: {
|
|
1912
2363
|
title: "Crear una cuenta",
|
|
@@ -1925,8 +2376,12 @@ const es = {
|
|
|
1925
2376
|
submittingButton: "Creando cuenta…",
|
|
1926
2377
|
hasAccountText: "¿Ya tienes una cuenta?",
|
|
1927
2378
|
signInText: "Iniciar sesión",
|
|
2379
|
+
socialButton: "Registrarse con {provider}",
|
|
2380
|
+
orText: "o continúe con correo electrónico",
|
|
1928
2381
|
errors: {
|
|
1929
2382
|
userExists: "Ya existe una cuenta con ese correo. Intente iniciar sesión.",
|
|
2383
|
+
selfRegistrationClosed: "El registro por cuenta propia no está abierto en este sistema. Solicite una invitación a un administrador.",
|
|
2384
|
+
emailDomainNotAllowed: "El dominio de este correo no está autorizado para registrarse aquí. Use el correo de su organización o solicite una invitación a un administrador.",
|
|
1930
2385
|
},
|
|
1931
2386
|
verifyInbox: {
|
|
1932
2387
|
title: "Revise su bandeja de entrada",
|
|
@@ -2002,7 +2457,7 @@ const es = {
|
|
|
2002
2457
|
checkSpam: "¿No recibió el correo? Revise su carpeta de spam o contacte soporte.",
|
|
2003
2458
|
or: "O",
|
|
2004
2459
|
// objectui#3546 slice three.
|
|
2005
|
-
resendUnavailable: "Puede que el envío de correos no esté configurado en este
|
|
2460
|
+
resendUnavailable: "Puede que el envío de correos no esté configurado en este sistema. Contacte soporte si el problema persiste.",
|
|
2006
2461
|
},
|
|
2007
2462
|
setup: {
|
|
2008
2463
|
welcomeTitle: "Bienvenido a ObjectStack",
|
|
@@ -2046,7 +2501,7 @@ const es = {
|
|
|
2046
2501
|
disabledDescription: "Esta implementación no tiene habilitada la autorización de dispositivos, por lo que este dispositivo no puede aprobarse aquí.",
|
|
2047
2502
|
},
|
|
2048
2503
|
shell: {
|
|
2049
|
-
tenantHostHint: "Está iniciando sesión en este
|
|
2504
|
+
tenantHostHint: "Está iniciando sesión en este sistema",
|
|
2050
2505
|
},
|
|
2051
2506
|
layout: {
|
|
2052
2507
|
headline: "Cree aplicaciones empresariales potentes, más rápido.",
|
|
@@ -2056,6 +2511,7 @@ const es = {
|
|
|
2056
2511
|
signOut: "Cerrar sesión en su lugar",
|
|
2057
2512
|
password: {
|
|
2058
2513
|
title: "Su contraseña ha caducado",
|
|
2514
|
+
resetTitle: "Debe cambiar su contraseña",
|
|
2059
2515
|
fallbackMessage: "Establezca una nueva contraseña para continuar.",
|
|
2060
2516
|
current: "Contraseña actual",
|
|
2061
2517
|
next: "Nueva contraseña",
|
|
@@ -2081,6 +2537,11 @@ const es = {
|
|
|
2081
2537
|
verifying: "Verificando…",
|
|
2082
2538
|
invalidCode: "Código no válido. Inténtelo de nuevo.",
|
|
2083
2539
|
},
|
|
2540
|
+
impersonation: {
|
|
2541
|
+
passwordTitle: "{{user}} debe cambiar su contraseña",
|
|
2542
|
+
mfaTitle: "{{user}} debe configurar la autenticación en dos pasos",
|
|
2543
|
+
body: "Está suplantando a {{user}} y solo esa persona puede hacerlo por sí misma. Deje de suplantar para volver a su propia cuenta.",
|
|
2544
|
+
},
|
|
2084
2545
|
},
|
|
2085
2546
|
},
|
|
2086
2547
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2089,12 +2550,17 @@ const es = {
|
|
|
2089
2550
|
title: "{{appName}} quiere acceder a su cuenta",
|
|
2090
2551
|
request: "{{appName}} solicita permiso{{suffix}}.",
|
|
2091
2552
|
unknownApp: "una aplicación",
|
|
2553
|
+
unidentified: "No se pudo identificar esta aplicación.",
|
|
2554
|
+
clientId: "ID de cliente",
|
|
2092
2555
|
willAllow: "Esta aplicación podrá:",
|
|
2093
2556
|
scope: {
|
|
2094
2557
|
openid: "Confirmar su identidad",
|
|
2095
2558
|
profile: "Leer su perfil básico (nombre, foto)",
|
|
2096
2559
|
email: "Leer su dirección de correo electrónico",
|
|
2097
2560
|
offlineAccess: "Mantener la sesión abierta (renovar el acceso)",
|
|
2561
|
+
dataRead: "Leer registros (dentro de sus propios permisos)",
|
|
2562
|
+
dataWrite: "Crear, modificar y eliminar registros (dentro de sus propios permisos)",
|
|
2563
|
+
actionsExecute: "Ejecutar acciones en su nombre (dentro de sus propios permisos)",
|
|
2098
2564
|
},
|
|
2099
2565
|
deny: "Denegar",
|
|
2100
2566
|
authorize: "Autorizar",
|
|
@@ -2125,11 +2591,20 @@ const es = {
|
|
|
2125
2591
|
role: "Rol",
|
|
2126
2592
|
save: "Guardar cambios",
|
|
2127
2593
|
},
|
|
2594
|
+
language: {
|
|
2595
|
+
title: "Idioma",
|
|
2596
|
+
description: "El idioma que se usa para las notificaciones y los mensajes que se le envían. El idioma de la interfaz se elige aparte, en el menú del globo terráqueo.",
|
|
2597
|
+
label: "Idioma preferido",
|
|
2598
|
+
systemDefault: "Usar el valor predeterminado del despliegue",
|
|
2599
|
+
save: "Guardar",
|
|
2600
|
+
saved: "Preferencia de idioma actualizada.",
|
|
2601
|
+
readOnly: "El idioma de su cuenta lo gestiona su administrador.",
|
|
2602
|
+
},
|
|
2128
2603
|
password: {
|
|
2129
2604
|
changeTitle: "Cambiar contraseña",
|
|
2130
2605
|
setTitle: "Establecer contraseña local",
|
|
2131
|
-
changeDescription: "Actualice la contraseña que usa para iniciar sesión
|
|
2132
|
-
setDescription: "Inició sesión mediante inicio de sesión único. Establezca una contraseña local para poder iniciar sesión también con correo y contraseña
|
|
2606
|
+
changeDescription: "Actualice la contraseña que usa para iniciar sesión.",
|
|
2607
|
+
setDescription: "Inició sesión mediante inicio de sesión único. Establezca una contraseña local para poder iniciar sesión también con correo y contraseña.",
|
|
2133
2608
|
current: "Contraseña actual",
|
|
2134
2609
|
new: "Nueva contraseña",
|
|
2135
2610
|
password: "Contraseña",
|
|
@@ -2138,7 +2613,7 @@ const es = {
|
|
|
2138
2613
|
mismatch: "Las contraseñas no coinciden",
|
|
2139
2614
|
enterCurrent: "Introduzca su contraseña actual",
|
|
2140
2615
|
changed: "Contraseña cambiada.",
|
|
2141
|
-
localSet: "Contraseña local establecida. Ahora puede iniciar sesión con correo y contraseña
|
|
2616
|
+
localSet: "Contraseña local establecida. Ahora puede iniciar sesión con correo y contraseña.",
|
|
2142
2617
|
changeAction: "Cambiar contraseña",
|
|
2143
2618
|
setAction: "Establecer contraseña",
|
|
2144
2619
|
},
|
|
@@ -2153,22 +2628,21 @@ const es = {
|
|
|
2153
2628
|
unknown: "Ha ocurrido un error inesperado.",
|
|
2154
2629
|
},
|
|
2155
2630
|
workspace: {
|
|
2156
|
-
label: "
|
|
2157
|
-
default: "Mi
|
|
2158
|
-
switch: "Cambiar
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
nameLabel: "Nombre del espacio de trabajo",
|
|
2631
|
+
label: "Organizaciones",
|
|
2632
|
+
default: "Mi organización",
|
|
2633
|
+
switch: "Cambiar organización",
|
|
2634
|
+
createTitle: "Crear una organización",
|
|
2635
|
+
createDescription: "Una organización es un lugar compartido para que tu equipo colabore.",
|
|
2636
|
+
createButton: "Crear organización",
|
|
2637
|
+
nameLabel: "Nombre de la organización",
|
|
2164
2638
|
namePlaceholder: "p.ej., Acme Inc",
|
|
2165
2639
|
slugLabel: "Slug de URL",
|
|
2166
2640
|
slugHint: "Se utiliza en URLs. Solo minúsculas, números y guiones.",
|
|
2167
2641
|
invite: "Invitar miembro",
|
|
2168
2642
|
members: "Miembros",
|
|
2169
|
-
settings: "Configuración
|
|
2643
|
+
settings: "Configuración de la organización",
|
|
2170
2644
|
multiOrgDisabled: "La creación de nuevas organizaciones está deshabilitada en esta instancia.",
|
|
2171
|
-
createFailed: 'No se pudo crear
|
|
2645
|
+
createFailed: 'No se pudo crear la organización',
|
|
2172
2646
|
},
|
|
2173
2647
|
help: {
|
|
2174
2648
|
onThisPage: "En esta página",
|
|
@@ -2176,12 +2650,17 @@ const es = {
|
|
|
2176
2650
|
appDocs: 'Documentación de esta app',
|
|
2177
2651
|
allDocs: 'Toda la documentación',
|
|
2178
2652
|
onlineDocs: 'Documentación en línea',
|
|
2653
|
+
loadingDocumentation: 'Cargando documentación',
|
|
2654
|
+
about: 'Acerca de',
|
|
2655
|
+
aboutTitle: 'Acerca de esta consola',
|
|
2656
|
+
aboutDescription: 'La compilación a partir de la cual se generó esta consola.',
|
|
2657
|
+
aboutBuild: 'Compilación de la consola',
|
|
2658
|
+
aboutBuildUnknown: 'Compilación desconocida (no se definió ninguna versión al compilar esta consola)',
|
|
2179
2659
|
},
|
|
2180
2660
|
sidebar: {
|
|
2181
2661
|
packageManagement: "Gestión de paquetes",
|
|
2182
2662
|
searchNavigation: "Buscar en la navegación…",
|
|
2183
2663
|
settings: "Configuración",
|
|
2184
|
-
help: "Ayuda",
|
|
2185
2664
|
helpTooltip: "Ayuda y documentación",
|
|
2186
2665
|
activityFeed: "Feed de actividad",
|
|
2187
2666
|
notifications: "Notificaciones",
|
|
@@ -2191,18 +2670,16 @@ const es = {
|
|
|
2191
2670
|
area: "Área",
|
|
2192
2671
|
scope: "Ámbito",
|
|
2193
2672
|
recent: "Reciente",
|
|
2194
|
-
favorites: "Favoritos",
|
|
2195
2673
|
starred: "Destacados",
|
|
2196
2674
|
removeFromFavorites: "Quitar {{name}} de favoritos",
|
|
2675
|
+
allReports: "Todos los informes",
|
|
2197
2676
|
},
|
|
2198
2677
|
topbar: {
|
|
2199
2678
|
openAssistant: "Abrir el asistente {{name}}",
|
|
2200
2679
|
offline: "Sin conexión",
|
|
2201
2680
|
usersOnline: "Usuarios conectados ahora mismo",
|
|
2202
2681
|
switchView: "Cambiar de vista",
|
|
2203
|
-
switchObject: "Cambiar de objeto",
|
|
2204
2682
|
connection: {
|
|
2205
|
-
connected: "Conectado",
|
|
2206
2683
|
connecting: "Conectando…",
|
|
2207
2684
|
reconnecting: "Reconectando…",
|
|
2208
2685
|
disconnected: "Desconectado",
|
|
@@ -2215,23 +2692,22 @@ const es = {
|
|
|
2215
2692
|
},
|
|
2216
2693
|
aiAssistant: "Asistente de IA",
|
|
2217
2694
|
designInStudio: "Diseñar en Studio",
|
|
2695
|
+
editApp: "Editar aplicación",
|
|
2218
2696
|
},
|
|
2219
2697
|
home: {
|
|
2220
2698
|
build: {
|
|
2221
2699
|
title: "Crear una aplicación",
|
|
2222
|
-
|
|
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.",
|
|
2700
|
+
noCapability: "La creación de aplicaciones no está disponible en este sistema: requiere el permiso «Gestionar metadatos», que su cuenta no tiene.",
|
|
2224
2701
|
},
|
|
2225
2702
|
template: {
|
|
2226
2703
|
title: "Empezar con una plantilla",
|
|
2227
|
-
subtitle: "Instale una aplicación de plantilla desde el mercado y personalícela.",
|
|
2228
2704
|
marketplaceDisabled: "Este runtime no tiene un marketplace de aplicaciones configurado, por lo que no hay plantillas que instalar aquí.",
|
|
2229
2705
|
},
|
|
2230
2706
|
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.",
|
|
2231
2707
|
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.",
|
|
2232
2708
|
welcomeAdminDescriptionNoAi: "Configure su primera aplicación desde el menú de Administración de la izquierda.",
|
|
2233
2709
|
noAppsTitle: "Todavía no hay aplicaciones",
|
|
2234
|
-
noAppsDescription: "
|
|
2710
|
+
noAppsDescription: "El sistema se está preparando — las aplicaciones que su administrador comparta aparecerán aquí.",
|
|
2235
2711
|
buildWithAI: "Crear con IA",
|
|
2236
2712
|
askAI: "Preguntar a la IA",
|
|
2237
2713
|
recoveryReminder: {
|
|
@@ -2240,7 +2716,16 @@ const es = {
|
|
|
2240
2716
|
dismiss: "Descartar",
|
|
2241
2717
|
},
|
|
2242
2718
|
pendingDrafts: {
|
|
2243
|
-
|
|
2719
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2720
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2721
|
+
// their package when they share one.
|
|
2722
|
+
title: "{{count}} cambio(s) sin publicar",
|
|
2723
|
+
title_one: "{{count}} cambio sin publicar",
|
|
2724
|
+
title_many: "{{count}} cambios sin publicar",
|
|
2725
|
+
title_other: "{{count}} cambios sin publicar",
|
|
2726
|
+
inPackage: "{{names}} pendientes de publicar en {{package}}",
|
|
2727
|
+
waiting: "{{names}} pendientes de publicar",
|
|
2728
|
+
nameSeparator: ", ",
|
|
2244
2729
|
cta: "Publicar",
|
|
2245
2730
|
publishing: "Publicando…",
|
|
2246
2731
|
published: "¡Publicado! Sus cambios están activos.",
|
|
@@ -2255,20 +2740,24 @@ const es = {
|
|
|
2255
2740
|
capabilityWarn: "Comprobación de autoría: {{count}} referencia(s) de capacidad no apuntan a nada.",
|
|
2256
2741
|
},
|
|
2257
2742
|
title: "Inicio",
|
|
2258
|
-
subtitle: "Panel de tu espacio de trabajo",
|
|
2259
2743
|
nav: "Inicio",
|
|
2260
2744
|
allApps: "Todas las aplicaciones",
|
|
2261
2745
|
yourApps: "Tus aplicaciones",
|
|
2262
2746
|
showMoreApps: "Más",
|
|
2263
2747
|
showLess: "Mostrar menos",
|
|
2264
2748
|
continueEmpty: "Los elementos que abras aparecerán aquí.",
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2749
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2750
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2751
|
+
myWork: {
|
|
2752
|
+
title: "Mi trabajo",
|
|
2753
|
+
openInbox: "Abrir bandeja de entrada",
|
|
2754
|
+
viewAll: "Ver todo",
|
|
2755
|
+
approvals: "Pendiente de aprobación",
|
|
2756
|
+
approvalsEmpty: "Nada pendiente de su aprobación",
|
|
2757
|
+
notifications: "Notificaciones",
|
|
2758
|
+
notificationsEmpty: "No hay notificaciones sin leer",
|
|
2268
2759
|
},
|
|
2269
|
-
loading: "Cargando
|
|
2270
|
-
recent: "Recientes",
|
|
2271
|
-
starred: "Destacados",
|
|
2760
|
+
loading: "Cargando…",
|
|
2272
2761
|
welcome: "Bienvenido a ObjectUI",
|
|
2273
2762
|
welcomeDescription: "Comienza creando tu primera aplicación o configura los ajustes del sistema.",
|
|
2274
2763
|
createFirstApp: "Crea tu primera aplicación",
|
|
@@ -2276,12 +2765,10 @@ const es = {
|
|
|
2276
2765
|
browseMarketplace: "Explorar marketplace de apps",
|
|
2277
2766
|
quickActions: {
|
|
2278
2767
|
title: "Acciones rápidas",
|
|
2279
|
-
createApp: "Crear app",
|
|
2280
|
-
createAppDesc: "Comienza con una nueva aplicación",
|
|
2281
2768
|
manageObjects: "Gestionar objetos",
|
|
2282
2769
|
manageObjectsDesc: "Configura modelos de datos",
|
|
2283
2770
|
systemSettings: "Configuración del sistema",
|
|
2284
|
-
systemSettingsDesc: "Configura tu
|
|
2771
|
+
systemSettingsDesc: "Configura tu sistema",
|
|
2285
2772
|
},
|
|
2286
2773
|
appCard: {
|
|
2287
2774
|
noDescription: "Sin descripción",
|
|
@@ -2291,20 +2778,30 @@ const es = {
|
|
|
2291
2778
|
greetingAfternoon: "Buenas tardes",
|
|
2292
2779
|
greetingEvening: "Buenas noches",
|
|
2293
2780
|
greetingNight: "Turno de noche",
|
|
2294
|
-
|
|
2781
|
+
greetingSeparator: ", ",
|
|
2782
|
+
greetingEnd: ".",
|
|
2783
|
+
search: "Buscar aplicaciones, registros, páginas…",
|
|
2784
|
+
summary: {
|
|
2785
|
+
approvals: "Hoy tiene {{count}} aprobaciones pendientes",
|
|
2786
|
+
approvals_one: "Hoy tiene {{count}} aprobación pendiente",
|
|
2787
|
+
approvals_many: "Hoy tiene {{count}} aprobaciones pendientes",
|
|
2788
|
+
approvals_other: "Hoy tiene {{count}} aprobaciones pendientes",
|
|
2789
|
+
none: "Hoy no tiene nada pendiente",
|
|
2790
|
+
},
|
|
2791
|
+
addApp: "Agregar aplicación",
|
|
2792
|
+
appOpened: "{{time}}",
|
|
2295
2793
|
open: "Abrir",
|
|
2296
|
-
stats: {
|
|
2297
|
-
apps: "Aplicaciones",
|
|
2298
|
-
starred: "Destacados",
|
|
2299
|
-
recent: "Recientes",
|
|
2300
|
-
},
|
|
2301
2794
|
recentApps: {
|
|
2302
2795
|
title: "Abiertos recientemente",
|
|
2303
2796
|
itemType: {
|
|
2304
2797
|
object: "Objeto",
|
|
2305
2798
|
dashboard: "Panel",
|
|
2306
2799
|
page: "Página",
|
|
2800
|
+
report: "Informe",
|
|
2801
|
+
package: "Paquete",
|
|
2802
|
+
view: "Vista de lista",
|
|
2307
2803
|
record: "Registro",
|
|
2804
|
+
metadata: "Metadatos",
|
|
2308
2805
|
},
|
|
2309
2806
|
},
|
|
2310
2807
|
starredApps: {
|
|
@@ -2326,7 +2823,6 @@ const es = {
|
|
|
2326
2823
|
organizations: "Organizaciones",
|
|
2327
2824
|
roles: "Roles",
|
|
2328
2825
|
configuration: "Configuración",
|
|
2329
|
-
createApp: "Crear aplicación",
|
|
2330
2826
|
administration: "Administración",
|
|
2331
2827
|
datasources: "Fuentes de datos",
|
|
2332
2828
|
documentation: "Documentación",
|
|
@@ -2341,16 +2837,23 @@ const es = {
|
|
|
2341
2837
|
manageAllApps: "Administrar todas las aplicaciones",
|
|
2342
2838
|
systemConsole: "Consola del sistema",
|
|
2343
2839
|
noAppsConfigured: "Sin aplicaciones configuradas",
|
|
2840
|
+
allApps: "Todas las aplicaciones",
|
|
2841
|
+
editAppInStudio: "Editar {{app}} en Studio",
|
|
2842
|
+
backToHome: "Volver al inicio",
|
|
2843
|
+
settings: "Configuración",
|
|
2844
|
+
productHome: "Inicio de {{product}}",
|
|
2344
2845
|
},
|
|
2345
2846
|
activityFeed: {
|
|
2346
2847
|
title: "Actividad reciente",
|
|
2347
2848
|
filter: "Filtrar",
|
|
2348
2849
|
empty: "Sin actividad reciente",
|
|
2850
|
+
accessDenied: "No tiene permiso para ver la actividad.",
|
|
2349
2851
|
ariaLabel: "Feed de actividad",
|
|
2350
2852
|
typeCreate: "Crear",
|
|
2351
2853
|
typeUpdate: "Actualizar",
|
|
2352
2854
|
typeDelete: "Eliminar",
|
|
2353
2855
|
typeComment: "Comentario",
|
|
2856
|
+
typeSystem: "Sistema",
|
|
2354
2857
|
relativeJustNow: "ahora mismo",
|
|
2355
2858
|
relativeSecondsAgo: "hace {{count}}s",
|
|
2356
2859
|
relativeMinutesAgo: "hace {{count}}m",
|
|
@@ -2372,8 +2875,13 @@ const es = {
|
|
|
2372
2875
|
placeholder: "Buscar objetos, paneles, páginas, informes…",
|
|
2373
2876
|
inputAriaLabel: "Buscar objetos, paneles, páginas, informes",
|
|
2374
2877
|
resultsCount: "{{count}} resultado para \"{{query}}\"",
|
|
2375
|
-
|
|
2878
|
+
resultsCount_one: "{{count}} resultado para \"{{query}}\"",
|
|
2879
|
+
resultsCount_many: "{{count}} de resultados para \"{{query}}\"",
|
|
2880
|
+
resultsCount_other: "{{count}} resultados para \"{{query}}\"",
|
|
2376
2881
|
itemsAvailable: "{{count}} elementos disponibles",
|
|
2882
|
+
itemsAvailable_one: "{{count}} elemento disponible",
|
|
2883
|
+
itemsAvailable_many: "{{count}} de elementos disponibles",
|
|
2884
|
+
itemsAvailable_other: "{{count}} elementos disponibles",
|
|
2377
2885
|
noResults: "Sin resultados encontrados",
|
|
2378
2886
|
noResultsHint: "Intente ajustar sus términos de búsqueda",
|
|
2379
2887
|
typeObjects: "Objetos",
|
|
@@ -2398,26 +2906,38 @@ const es = {
|
|
|
2398
2906
|
noAppsConfigured: "Sin aplicaciones configuradas",
|
|
2399
2907
|
noAppsConfiguredDescription: "No hay aplicaciones registradas. Cree su primera aplicación o visite la configuración del sistema.",
|
|
2400
2908
|
appNotAvailable: "Aplicación no disponible",
|
|
2401
|
-
appNotAvailableDescription: "Esta aplicación
|
|
2909
|
+
appNotAvailableDescription: "Esta aplicación no está disponible — vuelva a intentarlo en un momento.",
|
|
2910
|
+
appNotFound: "No se puede abrir esta aplicación",
|
|
2911
|
+
appNotFoundDescription: "El servidor no devolvió esta aplicación para su cuenta.",
|
|
2912
|
+
appUnreachable: "No se pudo conectar con el servidor",
|
|
2913
|
+
appUnreachableDescription: "No se pudo comprobar esta aplicación. Vuelva a intentarlo en un momento.",
|
|
2402
2914
|
appAccessDenied: "No tiene acceso a esta aplicación",
|
|
2403
2915
|
appAccessDeniedDescription: "Esta aplicación existe, pero su cuenta no está autorizada para abrirla. Solicite acceso a un administrador.",
|
|
2404
2916
|
appAccessDeniedHome: "Volver al inicio",
|
|
2917
|
+
appNothingAvailable: "Aún no hay nada disponible para usted en {{app}}",
|
|
2918
|
+
appNothingAvailableDescription: "Esta aplicación no tiene páginas que su cuenta pueda abrir. Solicite acceso a un administrador.",
|
|
2919
|
+
appNothingAvailableGrantDescription: "Esta aplicación no tiene páginas que su cuenta pueda abrir. Puede conceder el acceso en la configuración.",
|
|
2920
|
+
openSetup: "Abrir la configuración",
|
|
2405
2921
|
createFirstApp: "Crear primera aplicación",
|
|
2406
2922
|
systemSettings: "Configuración del sistema",
|
|
2407
2923
|
back: "Atrás",
|
|
2408
2924
|
recordNotFound: "Registro no encontrado",
|
|
2409
2925
|
recordNotFoundDescription: "El registro que busca no existe o puede haber sido eliminado.",
|
|
2926
|
+
recordAccessDenied: "No tiene acceso a los registros de {{object}}",
|
|
2927
|
+
recordAccessDeniedDescription: "No tiene permiso para ver registros de este tipo. Contacte a su administrador si cree que debería tener acceso.",
|
|
2928
|
+
recordLoadFailed: "No se pudo cargar este registro",
|
|
2929
|
+
recordLoadFailedDescription: "Algo salió mal al cargarlo. Compruebe su conexión y vuelva a intentarlo.",
|
|
2410
2930
|
},
|
|
2411
2931
|
actionDialog: {
|
|
2412
2932
|
title: "Parámetros de acción",
|
|
2413
2933
|
description: "Ingrese la información requerida para continuar.",
|
|
2414
2934
|
selectPlaceholder: "Seleccionar {{label}}",
|
|
2415
2935
|
requiredError: "{{label}} es obligatorio",
|
|
2936
|
+
unresolvedParam: 'No se puede mostrar este parámetro: el campo en el que se basa no está en los metadatos del objeto, por lo que no se puede construir el control necesario. Pide a un administrador que corrija la definición de la acción.',
|
|
2937
|
+
carryOverHint: 'Se conserva sin cambios (solo lectura)',
|
|
2416
2938
|
cancel: "Cancelar",
|
|
2417
2939
|
confirm: "Confirmar",
|
|
2418
2940
|
uploading: "Subiendo…",
|
|
2419
|
-
defaultActionTitle: "Acción",
|
|
2420
|
-
ok: "Aceptar",
|
|
2421
2941
|
lookupPlaceholder: "ID de registro para {{label}}",
|
|
2422
2942
|
lookupHelpText: "Este parámetro no tiene un objeto de referencia configurado, por lo que el selector de registros no está disponible. Ingrese un ID de registro o pida a un administrador que corrija el parámetro de la acción.",
|
|
2423
2943
|
},
|
|
@@ -2426,11 +2946,6 @@ const es = {
|
|
|
2426
2946
|
confirm: "Continuar",
|
|
2427
2947
|
cancel: "Cancelar",
|
|
2428
2948
|
},
|
|
2429
|
-
rowAction: {
|
|
2430
|
-
openMenu: "Abrir menú",
|
|
2431
|
-
edit: "Editar",
|
|
2432
|
-
delete: "Eliminar",
|
|
2433
|
-
},
|
|
2434
2949
|
navigationSync: {
|
|
2435
2950
|
addedPage: "Navegación actualizada: página \"{{name}}\" agregada",
|
|
2436
2951
|
addedDashboard: "Navegación actualizada: panel \"{{name}}\" agregado",
|
|
@@ -2444,13 +2959,20 @@ const es = {
|
|
|
2444
2959
|
updateFailed: "No se pudo actualizar la navegación",
|
|
2445
2960
|
},
|
|
2446
2961
|
objectActions: {
|
|
2447
|
-
resetPackageSetConfirm: "Este conjunto de permisos viene con un paquete instalado y no se puede eliminar. Al eliminarlo se restablece a la versión original del paquete y se descartan sus personalizaciones en este entorno. ¿Continuar?",
|
|
2448
|
-
resetPackageSetSuccess: "Conjunto de permisos restablecido a la versión original del paquete",
|
|
2449
2962
|
deleteSuccess: "{{label}} eliminado correctamente",
|
|
2450
2963
|
deleteFailed: "No se pudo eliminar {{label}}",
|
|
2451
2964
|
noRecordId: "No se proporcionó ID de registro",
|
|
2452
2965
|
deleteConfirm: "¿Eliminar este registro?",
|
|
2966
|
+
deleteConfirmTitle: "¿Eliminar {{label}} \"{{name}}\"?",
|
|
2967
|
+
bulkDeleteConfirmTitle: "¿Eliminar {{count}} registros de {{label}}?",
|
|
2968
|
+
bulkDeleteConfirmTitle_one: "¿Eliminar {{count}} registro de {{label}}?",
|
|
2969
|
+
bulkDeleteConfirmTitle_many: "¿Eliminar {{count}} de registros de {{label}}?",
|
|
2970
|
+
bulkDeleteConfirmTitle_other: "¿Eliminar {{count}} registros de {{label}}?",
|
|
2971
|
+
deleteConfirmButton: "Eliminar",
|
|
2453
2972
|
bulkDeleteSuccess: "{{count}} registros de {{label}} eliminados",
|
|
2973
|
+
bulkDeleteSuccess_one: "{{count}} registro de {{label}} eliminado",
|
|
2974
|
+
bulkDeleteSuccess_many: "{{count}} de registros de {{label}} eliminados",
|
|
2975
|
+
bulkDeleteSuccess_other: "{{count}} registros de {{label}} eliminados",
|
|
2454
2976
|
bulkDeletePartial: "{{succeeded}} eliminados, {{failed}} fallidos",
|
|
2455
2977
|
},
|
|
2456
2978
|
objectViewActions: {
|
|
@@ -2462,15 +2984,6 @@ const es = {
|
|
|
2462
2984
|
exportFailed: "Error al exportar: {{message}}",
|
|
2463
2985
|
forecastSoon: "La vista de pronóstico llegará pronto",
|
|
2464
2986
|
},
|
|
2465
|
-
recordDetail: {
|
|
2466
|
-
viewersTooltip: "Usuarios viendo este registro ahora",
|
|
2467
|
-
},
|
|
2468
|
-
cellRender: {
|
|
2469
|
-
empty: "Vacío",
|
|
2470
|
-
yes: "Sí",
|
|
2471
|
-
no: "No",
|
|
2472
|
-
systemFields: "Sistema",
|
|
2473
|
-
},
|
|
2474
2987
|
user: {
|
|
2475
2988
|
profile: "Perfil",
|
|
2476
2989
|
settings: "Configuración",
|
|
@@ -2492,6 +3005,7 @@ const es = {
|
|
|
2492
3005
|
loading: "Cargando…",
|
|
2493
3006
|
failedToLoad: "Error al cargar la matriz: {{message}}",
|
|
2494
3007
|
needsAcross: "El informe de matriz requiere al menos un campo `groupingsAcross`.",
|
|
3008
|
+
forbiddenMessage: "No tienes permiso para ver los datos de este informe.",
|
|
2495
3009
|
aggregate: {
|
|
2496
3010
|
count: "Contar",
|
|
2497
3011
|
countDistinct: "Contar únicos",
|
|
@@ -2506,18 +3020,18 @@ const es = {
|
|
|
2506
3020
|
},
|
|
2507
3021
|
},
|
|
2508
3022
|
organizations: {
|
|
2509
|
-
create: "Crear
|
|
2510
|
-
mine: "Mis
|
|
2511
|
-
title: "
|
|
2512
|
-
heading: "Tus
|
|
2513
|
-
subtitle: "Selecciona
|
|
2514
|
-
searchPlaceholder: "Buscar
|
|
2515
|
-
new: "
|
|
2516
|
-
current: "
|
|
3023
|
+
create: "Crear organización",
|
|
3024
|
+
mine: "Mis organizaciones",
|
|
3025
|
+
title: "Organizaciones",
|
|
3026
|
+
heading: "Tus organizaciones",
|
|
3027
|
+
subtitle: "Selecciona una organización para continuar o crea una nueva.",
|
|
3028
|
+
searchPlaceholder: "Buscar una organización",
|
|
3029
|
+
new: "Nueva organización",
|
|
3030
|
+
current: "Organización actual",
|
|
2517
3031
|
manage: "Administrar",
|
|
2518
|
-
emptyTitle: "Aún no hay
|
|
2519
|
-
emptyDescription: "Crea tu
|
|
2520
|
-
noMatches: "
|
|
3032
|
+
emptyTitle: "Aún no hay organizaciones",
|
|
3033
|
+
emptyDescription: "Crea tu primera organización para empezar.",
|
|
3034
|
+
noMatches: "Ninguna organización coincide con tu búsqueda.",
|
|
2521
3035
|
},
|
|
2522
3036
|
organization: {
|
|
2523
3037
|
roles: {
|
|
@@ -2602,6 +3116,7 @@ const es = {
|
|
|
2602
3116
|
readOnlyNote: "Solo los propietarios pueden cambiar la configuración.",
|
|
2603
3117
|
nameLabel: "Nombre de la organización",
|
|
2604
3118
|
slugLabel: "Slug",
|
|
3119
|
+
slugLockedNote: "Esta organización tiene entornos activos, por lo que su slug no se puede cambiar aquí: renombrarla también mueve sus subdominios.",
|
|
2605
3120
|
logoLabel: "Logo",
|
|
2606
3121
|
logoUpload: "Subir",
|
|
2607
3122
|
logoReplace: "Reemplazar",
|
|
@@ -2660,18 +3175,43 @@ const es = {
|
|
|
2660
3175
|
regionLabel: "Notificaciones",
|
|
2661
3176
|
groupCount: "{{count}} notificaciones",
|
|
2662
3177
|
groupUnread: "{{count}} sin leer",
|
|
3178
|
+
groupUnread_one: "{{count}} sin leer",
|
|
3179
|
+
groupUnread_many: "{{count}} sin leer",
|
|
3180
|
+
groupUnread_other: "{{count}} sin leer",
|
|
2663
3181
|
groupMarkRead: "Marcar como leídas",
|
|
2664
3182
|
groupMarkReadTitle: "Marcar como leídas todas las de este tipo",
|
|
2665
3183
|
empty: "Sin notificaciones",
|
|
2666
3184
|
markAllRead: "Marcar todo como leído",
|
|
2667
3185
|
viewAll: "Ver todas las notificaciones",
|
|
2668
3186
|
approvalsPending: "{{count}} aprobaciones pendientes",
|
|
3187
|
+
approvalsPending_one: "{{count}} aprobación pendiente",
|
|
3188
|
+
approvalsPending_many: "{{count}} de aprobaciones pendientes",
|
|
3189
|
+
approvalsPending_other: "{{count}} aprobaciones pendientes",
|
|
2669
3190
|
viewApprovals: "Ver aprobaciones",
|
|
2670
3191
|
noPendingApprovals: "Sin aprobaciones pendientes",
|
|
2671
3192
|
openApprovalsInbox: "Abrir bandeja de aprobaciones",
|
|
2672
3193
|
badgeTotal: "{{total}} en total",
|
|
2673
|
-
badgeNotifications: "{{
|
|
2674
|
-
|
|
3194
|
+
badgeNotifications: "{{count}} notificaciones",
|
|
3195
|
+
badgeNotifications_one: "{{count}} notificación",
|
|
3196
|
+
badgeNotifications_many: "{{count}} de notificaciones",
|
|
3197
|
+
badgeNotifications_other: "{{count}} notificaciones",
|
|
3198
|
+
badgeApprovals: "{{count}} aprobaciones pendientes",
|
|
3199
|
+
badgeApprovals_one: "{{count}} aprobación pendiente",
|
|
3200
|
+
badgeApprovals_many: "{{count}} de aprobaciones pendientes",
|
|
3201
|
+
badgeApprovals_other: "{{count}} aprobaciones pendientes",
|
|
3202
|
+
arrivalMany: "{{count}} mensajes nuevos",
|
|
3203
|
+
arrivalMany_one: "{{count}} mensaje nuevo",
|
|
3204
|
+
arrivalMany_many: "{{count}} de mensajes nuevos",
|
|
3205
|
+
arrivalMany_other: "{{count}} mensajes nuevos",
|
|
3206
|
+
arrivalRepeats: "{{count}} mensajes nuevos sobre este tema",
|
|
3207
|
+
arrivalRepeats_one: "{{count}} mensaje nuevo sobre este tema",
|
|
3208
|
+
arrivalRepeats_many: "{{count}} de mensajes nuevos sobre este tema",
|
|
3209
|
+
arrivalRepeats_other: "{{count}} mensajes nuevos sobre este tema",
|
|
3210
|
+
arrivalOpen: "Ver",
|
|
3211
|
+
toastEnabled: "Avisos en la aplicación",
|
|
3212
|
+
desktopEnabled: "Notificaciones de escritorio",
|
|
3213
|
+
desktopBlocked: "Bloqueado. Permite las notificaciones de este sitio en la configuración del navegador.",
|
|
3214
|
+
desktopUnsupported: "Este navegador no admite notificaciones de escritorio.",
|
|
2675
3215
|
emptyUnread: "Todo al día",
|
|
2676
3216
|
filterUnread: "No leídos",
|
|
2677
3217
|
filterAll: "Todos",
|
|
@@ -2685,12 +3225,14 @@ const es = {
|
|
|
2685
3225
|
thankYouTitle: "¡Gracias!",
|
|
2686
3226
|
thankYouMessage: "Su envío fue recibido correctamente.",
|
|
2687
3227
|
redirecting: "Redirigiendo en {{seconds}} segundos…",
|
|
3228
|
+
redirectPending: "Redirigiendo…",
|
|
2688
3229
|
unavailableTitle: "Formulario no disponible",
|
|
2689
3230
|
unavailableDescription: "No hay formulario público disponible en esta URL. Asegúrese de que la vista subyacente tenga habilitado el uso compartido anónimo.",
|
|
2690
3231
|
tryDemo: "Probar demo",
|
|
2691
3232
|
retry: "Reintentar",
|
|
2692
3233
|
loading: "Cargando formulario…",
|
|
2693
3234
|
requiredHint: "* Campo obligatorio",
|
|
3235
|
+
requiredFields: "Campos obligatorios: {{fields}}",
|
|
2694
3236
|
consentLabelDefault: "Acepto la política de privacidad y doy mi consentimiento para procesar mis datos para esta solicitud.",
|
|
2695
3237
|
consentLink: "Política de privacidad",
|
|
2696
3238
|
consentRequired: "Acepte la política de privacidad para continuar.",
|
|
@@ -2703,10 +3245,10 @@ const es = {
|
|
|
2703
3245
|
body: 'La superficie MCP está apagada (OS_MCP_SERVER_ENABLED=false). Pida a su operador que la vuelva a habilitar.',
|
|
2704
3246
|
},
|
|
2705
3247
|
url: {
|
|
2706
|
-
title: 'Endpoint MCP de este
|
|
3248
|
+
title: 'Endpoint MCP de este sistema',
|
|
2707
3249
|
body: 'Cualquier cliente de IA compatible con MCP se conecta con esta URL. La identidad es autoservicio: la implementación es su propio servidor de autorización OAuth 2.1 — inicia sesión como usted mismo y cada llamada corre bajo sus permisos y seguridad a nivel de fila.',
|
|
2708
3250
|
downloadSkill: 'Descargar SKILL.md',
|
|
2709
|
-
skillHint: 'La skill portátil del agente: enseña a cualquier agente compatible cómo trabajar con este
|
|
3251
|
+
skillHint: 'La skill portátil del agente: enseña a cualquier agente compatible cómo trabajar con este sistema.',
|
|
2710
3252
|
},
|
|
2711
3253
|
claude: {
|
|
2712
3254
|
body: 'Configuración → Conectores → Añadir conector personalizado, pegue esta URL e inicie sesión en el navegador.',
|
|
@@ -2741,18 +3283,86 @@ const es = {
|
|
|
2741
3283
|
noImportableFields: "Ese objeto no tiene campos importables.",
|
|
2742
3284
|
schemaReadFailed: "No se pudo leer el esquema del objeto.",
|
|
2743
3285
|
imported: "Se importaron {{count}} fila(s) en {{object}}.",
|
|
3286
|
+
imported_one: "Se importó {{count}} fila en {{object}}.",
|
|
3287
|
+
imported_many: "Se importaron {{count}} de filas en {{object}}.",
|
|
3288
|
+
imported_other: "Se importaron {{count}} filas en {{object}}.",
|
|
2744
3289
|
importFrom: "Importar las filas reales desde",
|
|
2745
3290
|
into: "a",
|
|
2746
3291
|
opening: "Abriendo…",
|
|
2747
3292
|
importAction: "Importar",
|
|
2748
3293
|
dismiss: "Descartar",
|
|
2749
3294
|
},
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
3295
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3296
|
+
seeded: "La zona horaria del entorno se configuró en {{zone}} a partir de su navegador al crearlo. Puede cambiarla en Configuración → Localización.",
|
|
3297
|
+
},
|
|
3298
|
+
ai: {
|
|
3299
|
+
nlQuery: {
|
|
3300
|
+
placeholder: "Haga una pregunta sobre sus datos…",
|
|
3301
|
+
ask: "Preguntar",
|
|
3302
|
+
results: "Resultados",
|
|
3303
|
+
match: "Coincidencia: {{percent}}",
|
|
3304
|
+
simulatedSummary: "Resultados de: {{query}}",
|
|
3305
|
+
noResults: "No se encontraron registros coincidentes",
|
|
3306
|
+
recentQueries: "Consultas recientes",
|
|
3307
|
+
},
|
|
3308
|
+
formAssist: {
|
|
3309
|
+
title: "Sugerencias de IA",
|
|
3310
|
+
suggestionCount: "{{count}} sugerencias",
|
|
3311
|
+
suggestionCount_one: "{{count}} sugerencia",
|
|
3312
|
+
suggestionCount_many: "{{count}} de sugerencias",
|
|
3313
|
+
suggestionCount_other: "{{count}} sugerencias",
|
|
3314
|
+
applyAll: "Aplicar todo",
|
|
3315
|
+
confidence: "Confianza: {{percent}}",
|
|
3316
|
+
appliedCount: "{{count}} sugerencias aplicadas",
|
|
3317
|
+
appliedCount_one: "{{count}} sugerencia aplicada",
|
|
3318
|
+
appliedCount_many: "{{count}} de sugerencias aplicadas",
|
|
3319
|
+
appliedCount_other: "{{count}} sugerencias aplicadas",
|
|
3320
|
+
},
|
|
3321
|
+
recommendations: {
|
|
3322
|
+
title: "Recomendaciones",
|
|
3323
|
+
generating: "Generando recomendaciones…",
|
|
3324
|
+
empty: "No hay recomendaciones disponibles",
|
|
3325
|
+
},
|
|
3326
|
+
},
|
|
3327
|
+
aiApprovals: {
|
|
3328
|
+
title: "Aprobaciones de IA",
|
|
3329
|
+
description: "Acciones propuestas por un agente de IA que necesitan revisión humana antes de ejecutarse.",
|
|
3330
|
+
tabPending: "Pendientes",
|
|
3331
|
+
tabDecided: "Decididas",
|
|
3332
|
+
tabAll: "Todas",
|
|
3333
|
+
statusPending: "Pendiente",
|
|
3334
|
+
statusApproved: "Aprobada",
|
|
3335
|
+
statusExecuted: "Ejecutada",
|
|
3336
|
+
statusFailed: "Fallida",
|
|
3337
|
+
statusRejected: "Rechazada",
|
|
3338
|
+
colTool: "Herramienta",
|
|
3339
|
+
colAction: "Acción",
|
|
3340
|
+
colObject: "Objeto",
|
|
3341
|
+
colStatus: "Estado",
|
|
3342
|
+
colProposed: "Propuesta",
|
|
3343
|
+
colDecision: "Decisión",
|
|
3344
|
+
emptyTitle: "No hay acciones en espera",
|
|
3345
|
+
emptyDescription: "Cuando la IA proponga una acción sensible, aparecerá aquí para su revisión.",
|
|
3346
|
+
view: "Ver",
|
|
3347
|
+
approve: "Aprobar",
|
|
3348
|
+
reject: "Rechazar",
|
|
3349
|
+
working: "Procesando…",
|
|
3350
|
+
approveAndExecute: "Aprobar y ejecutar",
|
|
3351
|
+
outcomeApprove: "Aprobación de {{id}}: {{message}}",
|
|
3352
|
+
outcomeReject: "Rechazo de {{id}}: {{message}}",
|
|
3353
|
+
outcomeExecuteFailed: "La acción falló durante su ejecución",
|
|
3354
|
+
drawerFallbackTitle: "Acción pendiente",
|
|
3355
|
+
drawerSubtitle: "Herramienta {{tool}} sobre {{object}}",
|
|
3356
|
+
fieldProposedBy: "Propuesta por",
|
|
3357
|
+
fieldDecidedBy: "Decidida por",
|
|
3358
|
+
fieldConversation: "Conversación",
|
|
3359
|
+
fieldToolInput: "Entrada de la herramienta",
|
|
3360
|
+
fieldResult: "Resultado",
|
|
3361
|
+
fieldError: "Error",
|
|
3362
|
+
fieldRejectionReason: "Motivo del rechazo",
|
|
3363
|
+
rejectTitle: "¿Rechazar esta acción?",
|
|
3364
|
+
rejectBody: "El motivo se devuelve a la IA para que ajuste su siguiente respuesta.",
|
|
3365
|
+
rejectPlaceholder: "Motivo opcional (p. ej.: «ID de registro incorrecto — confírmalo antes con la persona usuaria.»)",
|
|
2756
3366
|
},
|
|
2757
3367
|
aiModelStatus: {
|
|
2758
3368
|
summary: "Crear / Preguntar usa {{conversational}} ({{conversationalSource}}); estructurado usa {{structured}} ({{structuredSource}}).",
|
|
@@ -2762,8 +3372,8 @@ const es = {
|
|
|
2762
3372
|
rowConversational: "Modelo Build / Ask",
|
|
2763
3373
|
rowStructured: "Estructurado (blueprint / seed)",
|
|
2764
3374
|
rowReasoning: "Esfuerzo de razonamiento",
|
|
2765
|
-
readFailed: "No se pudo leer el modelo de IA efectivo. Puede que este
|
|
2766
|
-
readFailedWithStatus: "No se pudo leer el modelo de IA efectivo (HTTP {{status}}). Puede que este
|
|
3375
|
+
readFailed: "No se pudo leer el modelo de IA efectivo. Puede que este sistema no ejecute un servicio de IA o que no tenga el permiso ai:read.",
|
|
3376
|
+
readFailedWithStatus: "No se pudo leer el modelo de IA efectivo (HTTP {{status}}). Puede que este sistema no ejecute un servicio de IA o que no tenga el permiso ai:read.",
|
|
2767
3377
|
overridesInEffect: "Anulaciones vigentes: ",
|
|
2768
3378
|
noOverrides: "ninguna: se usan los valores predeterminados del código desplegado.",
|
|
2769
3379
|
adapter: "Adaptador: ",
|
|
@@ -2771,6 +3381,181 @@ const es = {
|
|
|
2771
3381
|
sourceInherits: "igual que build/ask",
|
|
2772
3382
|
sourcePinned: "fijado por {{source}}",
|
|
2773
3383
|
},
|
|
3384
|
+
// objectui#7254 — the AI copilot's tool cards. Three families, all of them
|
|
3385
|
+
// English-only until this landed while every other string on the same screen
|
|
3386
|
+
// was translated:
|
|
3387
|
+
//
|
|
3388
|
+
// `tool.*` — one entry per PLATFORM-PROVIDED tool name
|
|
3389
|
+
// (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
|
|
3390
|
+
// closed registry those runtimes are conformance-tested
|
|
3391
|
+
// against). `humanizeToolName` looks each up as
|
|
3392
|
+
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3393
|
+
// title-caser for a custom / third-party tool, so a name
|
|
3394
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3395
|
+
// included, is a short sentence in the pack's language
|
|
3396
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3397
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3398
|
+
// the title-caser's output for it, which is how the step
|
|
3399
|
+
// reads for a tool the pack has no entry for.
|
|
3400
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3401
|
+
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3402
|
+
// set for both surfaces (they used to carry separate
|
|
3403
|
+
// tables and disagreed on casing).
|
|
3404
|
+
// `plan.*` — the "N objects · N views · N dashboards" strip. Plural
|
|
3405
|
+
// FAMILIES: one slot per CLDR category the pack's language
|
|
3406
|
+
// selects (objectui#11432), plus the base key for a call
|
|
3407
|
+
// made without a count. `all-locales-key-parity.test.ts`
|
|
3408
|
+
// derives the required slots from `Intl.PluralRules`.
|
|
3409
|
+
//
|
|
3410
|
+
// objectui#7481 — five `tool.*` entries are NEWER than the registry above:
|
|
3411
|
+
// `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
|
|
3412
|
+
// and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
|
|
3413
|
+
// `@objectstack/spec` snapshot does not list them yet. They are kept here on
|
|
3414
|
+
// purpose: a step label the user reads must not wait on a pin bump. When the
|
|
3415
|
+
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3416
|
+
// against the registry instead of against its own hand-held list.
|
|
3417
|
+
chatbot: {
|
|
3418
|
+
answer: {
|
|
3419
|
+
showFull: 'Mostrar respuesta completa',
|
|
3420
|
+
collapse: 'Contraer',
|
|
3421
|
+
expandTable: 'Ampliar',
|
|
3422
|
+
exitExpandedTable: 'Cerrar',
|
|
3423
|
+
},
|
|
3424
|
+
tool: {
|
|
3425
|
+
aggregate_data: "Resumir los datos",
|
|
3426
|
+
get_record: "Leer el registro",
|
|
3427
|
+
query_data: "Consultar los datos necesarios",
|
|
3428
|
+
query_records: "Buscar los registros",
|
|
3429
|
+
search_knowledge: "Consultar la base de conocimiento",
|
|
3430
|
+
visualize_data: "Representar los datos en un gráfico",
|
|
3431
|
+
add_field: "Añadir un campo",
|
|
3432
|
+
apply_blueprint: "Construir la aplicación según el plan",
|
|
3433
|
+
apply_edit: "Aplicar el cambio",
|
|
3434
|
+
create_metadata: "Crear un elemento de metadatos",
|
|
3435
|
+
create_object: "Crear un objeto",
|
|
3436
|
+
create_package: "Crear un paquete",
|
|
3437
|
+
create_seed: "Generar datos de ejemplo para los objetos",
|
|
3438
|
+
delete_field: "Eliminar un campo",
|
|
3439
|
+
describe_metadata: "Revisar los metadatos",
|
|
3440
|
+
describe_object: "Revisar la estructura del objeto",
|
|
3441
|
+
get_active_package: "Comprobar el paquete activo",
|
|
3442
|
+
get_authoring_rules: "Consultar las reglas de autoría",
|
|
3443
|
+
get_metadata_schema: "Consultar el formato de los metadatos",
|
|
3444
|
+
get_package: "Revisar el paquete",
|
|
3445
|
+
list_metadata: "Listar los metadatos existentes",
|
|
3446
|
+
list_objects: "Listar los objetos existentes",
|
|
3447
|
+
list_packages: "Listar los paquetes existentes",
|
|
3448
|
+
load_tools: "Cargar más herramientas",
|
|
3449
|
+
modify_field: "Modificar un campo",
|
|
3450
|
+
open_record: "Abrir el registro",
|
|
3451
|
+
propose_blueprint: "Redactar el plan de la aplicación",
|
|
3452
|
+
set_active_package: "Cambiar al paquete de destino",
|
|
3453
|
+
suggest_builder: "Sugerir construirlo con IA",
|
|
3454
|
+
test_flow: "Hacer una prueba del flujo",
|
|
3455
|
+
todo_write: "Anotar comprobaciones pendientes",
|
|
3456
|
+
toggle_flow: "Encender o apagar el flujo",
|
|
3457
|
+
update_metadata: "Actualizar un elemento de metadatos",
|
|
3458
|
+
validate_expression: "Comprobar la expresión",
|
|
3459
|
+
verify_build: "Comprobar el resultado de la construcción",
|
|
3460
|
+
},
|
|
3461
|
+
toolState: {
|
|
3462
|
+
agentActivity: "Actividad del agente",
|
|
3463
|
+
pending: "Pendiente",
|
|
3464
|
+
running: "En curso",
|
|
3465
|
+
awaitingApproval: "Esperando aprobación",
|
|
3466
|
+
responded: "Respondido",
|
|
3467
|
+
completed: "Completado",
|
|
3468
|
+
error: "Error",
|
|
3469
|
+
denied: "Denegado",
|
|
3470
|
+
failed: "Fallido",
|
|
3471
|
+
},
|
|
3472
|
+
phase: {
|
|
3473
|
+
build: "Creación",
|
|
3474
|
+
design: "Diseño del plan",
|
|
3475
|
+
stepCount: "{{count}} pasos",
|
|
3476
|
+
stepCount_one: "{{count}} paso",
|
|
3477
|
+
stepCount_many: "{{count}} de pasos",
|
|
3478
|
+
stepCount_other: "{{count}} pasos",
|
|
3479
|
+
expand: "Mostrar pasos",
|
|
3480
|
+
collapse: "Ocultar pasos",
|
|
3481
|
+
},
|
|
3482
|
+
plan: {
|
|
3483
|
+
countObjects: "{{count}} objetos",
|
|
3484
|
+
countObjects_one: "{{count}} objeto",
|
|
3485
|
+
countObjects_many: "{{count}} de objetos",
|
|
3486
|
+
countObjects_other: "{{count}} objetos",
|
|
3487
|
+
countViews: "{{count}} vistas",
|
|
3488
|
+
countViews_one: "{{count}} vista",
|
|
3489
|
+
countViews_many: "{{count}} de vistas",
|
|
3490
|
+
countViews_other: "{{count}} vistas",
|
|
3491
|
+
countDashboards: "{{count}} paneles",
|
|
3492
|
+
countDashboards_one: "{{count}} panel",
|
|
3493
|
+
countDashboards_many: "{{count}} de paneles",
|
|
3494
|
+
countDashboards_other: "{{count}} paneles",
|
|
3495
|
+
countSeedData: "datos de ejemplo",
|
|
3496
|
+
extendTarget: "Se añade a la app existente: {{app}}",
|
|
3497
|
+
awaitingConfirm: "Pendiente de confirmación",
|
|
3498
|
+
objectsAndFields: "Objetos y campos",
|
|
3499
|
+
views: "Vistas",
|
|
3500
|
+
suggestedField: "sugerido",
|
|
3501
|
+
nameField: "Nombre: {{field}}",
|
|
3502
|
+
},
|
|
3503
|
+
build: {
|
|
3504
|
+
building: "Creando {{app}}…",
|
|
3505
|
+
built: "Creación de {{app}} completada",
|
|
3506
|
+
builtAndLive: "Creada y publicada · {{app}}",
|
|
3507
|
+
appFallback: "su aplicación",
|
|
3508
|
+
addingSampleData: "añadiendo datos de ejemplo",
|
|
3509
|
+
group: {
|
|
3510
|
+
object: "Objetos",
|
|
3511
|
+
view: "Vistas",
|
|
3512
|
+
dashboard: "Paneles",
|
|
3513
|
+
app: "Aplicación",
|
|
3514
|
+
seed: "Datos de ejemplo",
|
|
3515
|
+
},
|
|
3516
|
+
moreArtifacts: "+{{n}} más",
|
|
3517
|
+
verifying: "Comprobando el cambio…",
|
|
3518
|
+
verifyStep: "paso {{n}}",
|
|
3519
|
+
verified: "Cambio comprobado",
|
|
3520
|
+
unknownPhase: "Fase de creación desconocida",
|
|
3521
|
+
nextStepsLead: "A continuación puede decir: {{steps}}",
|
|
3522
|
+
nextStepQuote: "«{{step}}»",
|
|
3523
|
+
draftPosture: "Los cambios posteriores se guardan como borrador y usted los publica en Studio.",
|
|
3524
|
+
checksPassed: "Comprobaciones superadas {{passed}}/{{total}}",
|
|
3525
|
+
},
|
|
3526
|
+
changes: {
|
|
3527
|
+
planTitle: "Plan de cambios · {{count}} cambios",
|
|
3528
|
+
planTitle_one: "Plan de cambios · {{count}} cambio",
|
|
3529
|
+
planTitle_many: "Plan de cambios · {{count}} de cambios",
|
|
3530
|
+
planTitle_other: "Plan de cambios · {{count}} cambios",
|
|
3531
|
+
saveDraft: "Guardar como borrador",
|
|
3532
|
+
reviewAndPublish: "Revisar cambios y publicar",
|
|
3533
|
+
undo: "Deshacer",
|
|
3534
|
+
undoWithOthers: "Deshacer (y {{count}} borradores más)",
|
|
3535
|
+
undoWithOthers_one: "Deshacer (y {{count}} borrador más)",
|
|
3536
|
+
undoWithOthers_many: "Deshacer (y {{count}} de borradores más)",
|
|
3537
|
+
undoWithOthers_other: "Deshacer (y {{count}} borradores más)",
|
|
3538
|
+
undoConfirm: "Deshacer descarta los {{total}} borradores sin publicar de este paquete, incluidos {{count}} que no forman parte de este cambio.",
|
|
3539
|
+
undoConfirm_one: "Deshacer descarta los {{total}} borradores sin publicar de este paquete, incluido {{count}} que no forma parte de este cambio.",
|
|
3540
|
+
undoConfirm_many: "Deshacer descarta los {{total}} borradores sin publicar de este paquete, incluidos {{count}} de borradores que no forman parte de este cambio.",
|
|
3541
|
+
undoConfirm_other: "Deshacer descarta los {{total}} borradores sin publicar de este paquete, incluidos {{count}} que no forman parte de este cambio.",
|
|
3542
|
+
undoConfirmUnknown: "Deshacer descarta todos los borradores sin publicar de este paquete, no solo este cambio.",
|
|
3543
|
+
undoConfirmAction: "Deshacer todo",
|
|
3544
|
+
undoCancel: "Cancelar",
|
|
3545
|
+
undoing: "Deshaciendo…",
|
|
3546
|
+
undone: "Deshecho",
|
|
3547
|
+
undoFailed: "No se pudo deshacer",
|
|
3548
|
+
kind: {
|
|
3549
|
+
field: "Campo",
|
|
3550
|
+
object: "Objeto",
|
|
3551
|
+
view: "Vista",
|
|
3552
|
+
dashboard: "Panel",
|
|
3553
|
+
app: "Aplicación",
|
|
3554
|
+
seed: "Datos de ejemplo",
|
|
3555
|
+
package: "Paquete de aplicación",
|
|
3556
|
+
},
|
|
3557
|
+
},
|
|
3558
|
+
},
|
|
2774
3559
|
chatbotError: {
|
|
2775
3560
|
title: "Error en la respuesta",
|
|
2776
3561
|
fallbackDetail: "Algo salió mal. Vuelva a intentarlo.",
|
|
@@ -2784,10 +3569,13 @@ const es = {
|
|
|
2784
3569
|
buyCredits: "Comprar un paquete de créditos",
|
|
2785
3570
|
upgradePlan: "Mejorar el plan",
|
|
2786
3571
|
},
|
|
3572
|
+
planTier: {
|
|
3573
|
+
teamAndUp: "Desde el plan Team",
|
|
3574
|
+
},
|
|
2787
3575
|
environment: {
|
|
2788
|
-
addEnvironment: "Añadir entorno",
|
|
2789
3576
|
setUpProduction: "Configure su entorno de producción",
|
|
2790
3577
|
addDevelopment: "Añadir entorno de desarrollo",
|
|
3578
|
+
developmentLocked: "Entornos de desarrollo · {{tier}}",
|
|
2791
3579
|
// Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
|
|
2792
3580
|
entitlement: {
|
|
2793
3581
|
productionLimitTitle: "Ya tiene su entorno de producción",
|
|
@@ -2835,7 +3623,7 @@ const es = {
|
|
|
2835
3623
|
},
|
|
2836
3624
|
unbound: {
|
|
2837
3625
|
title: "No conectado",
|
|
2838
|
-
body: "
|
|
3626
|
+
body: "Este runtime no está conectado a ningún plano de control. «Conectar» abre su cuenta de la nube en una ventana nueva, donde un solo clic aprueba la conexión: no se escriben identificadores ni credenciales en esta página.",
|
|
2839
3627
|
connect: "Conectar",
|
|
2840
3628
|
},
|
|
2841
3629
|
},
|
|
@@ -2848,10 +3636,17 @@ const es = {
|
|
|
2848
3636
|
dismiss: "Descartar",
|
|
2849
3637
|
confirmedToast: "«{{set}}» ya está concedido a {{anchor}}.",
|
|
2850
3638
|
dismissedToast: "Sugerencia para «{{set}}» descartada.",
|
|
3639
|
+
guestUnsupported: "No se puede conceder aquí: los conjuntos de la posición Guest no se derivan de sugerencias aceptadas.",
|
|
3640
|
+
acceptedState: "«{{set}}» se aceptó para todos los usuarios con sesión iniciada (la posición Everyone).",
|
|
3641
|
+
notInForceState: "«{{set}}» se aceptó, pero aún no está en vigor: la posición Everyone no cambió con esta solicitud. El registro del servidor indica el motivo.",
|
|
3642
|
+
dismissedState: "«{{set}}» no está concedido: la sugerencia se descartó o se revocó.",
|
|
3643
|
+
revoke: "Revocar",
|
|
3644
|
+
revoking: "Revocando…",
|
|
3645
|
+
revokedToast: "Aceptación de «{{set}}» revocada.",
|
|
2851
3646
|
},
|
|
2852
3647
|
title: "Marketplace de aplicaciones",
|
|
2853
3648
|
subtitle: "Explore aplicaciones aprobadas publicadas en el catálogo de ObjectStack. Haga clic en una aplicación para ver detalles e instalarla en uno de sus entornos.",
|
|
2854
|
-
searchPlaceholder:
|
|
3649
|
+
searchPlaceholder: 'Buscar aplicaciones por nombre o ID de aplicación…',
|
|
2855
3650
|
searchAria: "Buscar aplicaciones del marketplace",
|
|
2856
3651
|
installed: "Instalado",
|
|
2857
3652
|
installedCount: "Instaladas ({{count}})",
|
|
@@ -2861,21 +3656,26 @@ const es = {
|
|
|
2861
3656
|
noMatchFilters: "Ninguna aplicación coincide con sus filtros.",
|
|
2862
3657
|
noDescription: "Sin descripción disponible.",
|
|
2863
3658
|
back: "Volver al marketplace",
|
|
2864
|
-
installedTitle: "Aplicaciones instaladas",
|
|
2865
|
-
installedSubtitle: "Paquetes del marketplace instalados en el kernel de este runtime.",
|
|
2866
|
-
installedEmpty: "Aún no hay aplicaciones del marketplace instaladas en este runtime.",
|
|
2867
3659
|
browseLink: "Explorar marketplace →",
|
|
2868
|
-
installedAdditiveNote: "
|
|
2869
|
-
installedAt: "Instalado {{when}}",
|
|
2870
|
-
installedBy: "por {{user}}",
|
|
2871
|
-
installedPackageId: "Paquete",
|
|
2872
|
-
cachedAs: "Almacenado en caché como <code>{{path}}</code>",
|
|
3660
|
+
installedAdditiveNote: "La desinstalación retira la aplicación del kernel en ejecución de inmediato, junto con sus conjuntos de permisos y sus asignaciones, y elimina el manifiesto en caché para que el paquete no se cargue en el próximo inicio. Los registros almacenados en sus objetos permanecen en la base de datos.",
|
|
2873
3661
|
versionBadge: "v{{version}}",
|
|
2874
3662
|
installedBadge: "Instalado v{{version}}",
|
|
3663
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3664
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3665
|
+
notLoaded: {
|
|
3666
|
+
badge: "No cargado",
|
|
3667
|
+
protocolIncompatible: "Este runtime no cargó este paquete: está dirigido al protocolo {{requiredRange}}, que este runtime no admite.",
|
|
3668
|
+
otherReason: "Este runtime no cargó este paquete ({{code}}).",
|
|
3669
|
+
},
|
|
2875
3670
|
load: {
|
|
2876
3671
|
failed: "No se pudo cargar el marketplace",
|
|
2877
3672
|
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: "
|
|
3673
|
+
failedHintSameOrigin: "Al catálogo del marketplace se accede a través de este runtime. Compruebe que el runtime esté en línea y pueda acceder al catálogo.",
|
|
3674
|
+
loading: "Cargando el catálogo del marketplace…",
|
|
3675
|
+
slow: "Sigue cargando — el catálogo del marketplace tarda en responder.",
|
|
3676
|
+
retry: "Reintentar",
|
|
3677
|
+
unreachable: "No se pudo acceder al catálogo del marketplace.",
|
|
3678
|
+
answeredError: "El catálogo del marketplace respondió con un error (HTTP {{status}}).",
|
|
2879
3679
|
packageFailed: "No se pudo cargar el paquete",
|
|
2880
3680
|
notFound: "No encontrado.",
|
|
2881
3681
|
},
|
|
@@ -2899,10 +3699,17 @@ const es = {
|
|
|
2899
3699
|
purgeSampleData: 'Eliminar datos de ejemplo',
|
|
2900
3700
|
purgeConfirm: '¿Eliminar todos los registros de ejemplo creados por este paquete? Los registros añadidos por el usuario NO se verán afectados.',
|
|
2901
3701
|
purgeSuccess: 'Se eliminaron {{count}} registro(s) de ejemplo.',
|
|
3702
|
+
purgeSuccess_one: 'Se eliminó {{count}} registro de ejemplo.',
|
|
3703
|
+
purgeSuccess_many: 'Se eliminaron {{count}} de registros de ejemplo.',
|
|
3704
|
+
purgeSuccess_other: 'Se eliminaron {{count}} registros de ejemplo.',
|
|
2902
3705
|
purgeNoData: 'No se encontraron registros de ejemplo para eliminar.',
|
|
2903
3706
|
reseedQueued: 'Los datos de ejemplo se volverán a cargar en el próximo acceso al entorno.',
|
|
2904
3707
|
reseedLocalSuccess: 'Datos de ejemplo recargados: {{inserted}} insertados, {{updated}} actualizados.',
|
|
2905
3708
|
reseedPartialErrors: '({{count}} registro(s) no se pudieron escribir)',
|
|
3709
|
+
reseedPartialErrors_one: '({{count}} registro no se pudo escribir)',
|
|
3710
|
+
reseedPartialErrors_many: '({{count}} de registros no se pudieron escribir)',
|
|
3711
|
+
reseedPartialErrors_other: '({{count}} registros no se pudieron escribir)',
|
|
3712
|
+
sampleDataKernelUnavailable: 'Este plano de control no tiene un kernel de entorno, por lo que los datos de ejemplo no se pueden volver a cargar ni eliminar desde aquí. Hágalo desde el propio runtime del entorno.',
|
|
2906
3713
|
updateAvailable: 'Actualización disponible',
|
|
2907
3714
|
},
|
|
2908
3715
|
action: {
|
|
@@ -2912,6 +3719,7 @@ const es = {
|
|
|
2912
3719
|
working: "Procesando…",
|
|
2913
3720
|
installToCloud: "Instalar en la nube…",
|
|
2914
3721
|
installing: "Instalando…",
|
|
3722
|
+
updating: "Actualizando…",
|
|
2915
3723
|
uninstall: "Desinstalar",
|
|
2916
3724
|
uninstalling: "Desinstalando…",
|
|
2917
3725
|
details: "Detalles",
|
|
@@ -2929,15 +3737,45 @@ const es = {
|
|
|
2929
3737
|
environmentPlaceholder: "Seleccionar entorno",
|
|
2930
3738
|
includeSampleData: "Incluir datos de muestra",
|
|
2931
3739
|
noEnvs: "No se encontraron entornos en su organización activa.",
|
|
2932
|
-
noPermission: "No tiene permiso para instalar aplicaciones en un entorno. Solo los propietarios y administradores de la organización pueden instalar.",
|
|
3740
|
+
noPermission: "No tiene permiso para instalar aplicaciones en un entorno. Solo los propietarios y administradores de la organización pueden instalar; pida ayuda al administrador de su organización.",
|
|
2933
3741
|
signInFirst: "Primero debe iniciar sesión en ObjectStack Cloud.",
|
|
2934
3742
|
success: "Instalado correctamente. Abra el entorno para ver la nueva aplicación.",
|
|
2935
3743
|
localSuccess: "v{{version}} instalado en este runtime. \"{{name}}\" debería aparecer en el selector de aplicaciones ahora.",
|
|
3744
|
+
localLoadsAtRestart: "v{{version}} instalado en este runtime. \"{{name}}\" se cargará en el próximo reinicio del runtime y no aparecerá en el selector de aplicaciones hasta entonces.",
|
|
2936
3745
|
localManifestConflict: "{{message}}\nNota: Una aplicación local ya tiene este manifest_id. Primero elimínela de objectstack.config.ts.",
|
|
2937
3746
|
localUnauthorized: "Primero inicie sesión en este runtime.",
|
|
2938
3747
|
localMarketplaceUnavailable: "Este runtime no tiene configurado OS_CLOUD_URL.",
|
|
2939
3748
|
updateTo: "Actualizar → v{{version}}",
|
|
2940
3749
|
installedVersion: "Instalado v{{version}}",
|
|
3750
|
+
deploying: "Desplegando la aplicación…",
|
|
3751
|
+
deployed: "La aplicación está desplegada y lista.",
|
|
3752
|
+
openApp: "Abrir {{name}}",
|
|
3753
|
+
deployTimeout: "La instalación se registró, pero este entorno aún no ofrece la aplicación. Puede que siga desplegándose; vuelve a comprobarlo en breve. Si nunca aparece, es posible que el paquete no se haya cargado, que no incluya ninguna aplicación o que su aplicación requiera un permiso que no tienes.",
|
|
3754
|
+
checkAgain: "Comprobar de nuevo",
|
|
3755
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3756
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3757
|
+
mode: {
|
|
3758
|
+
label: "Modo de instalación",
|
|
3759
|
+
managed: "Administrado",
|
|
3760
|
+
managedHint: "El paquete sigue siendo la autoridad: se registra como código, recibe sus actualizaciones y sus elementos no se editan aquí.",
|
|
3761
|
+
unmanaged: "Copia no administrada",
|
|
3762
|
+
unmanagedHint: "Se copia una sola vez en este runtime como sus propios metadatos: cada elemento se puede editar aquí y la copia no recibe actualizaciones.",
|
|
3763
|
+
required: "Elige un modo de instalación para instalar este paquete.",
|
|
3764
|
+
},
|
|
3765
|
+
unmanagedSuccess: "v{{version}} de \"{{name}}\" copiado en este runtime como sus propios metadatos, en la base {{base}}. La copia se puede editar y no recibe actualizaciones.",
|
|
3766
|
+
unmanagedStrippedLocks: "El paquete bloqueaba estos elementos. La copia se puede editar, así que sus bloqueos no se copiaron:",
|
|
3767
|
+
unmanagedIgnored: "Este runtime no admite instalaciones no administradas, así que \"{{name}}\" se instaló como administrado (registrado como código) en lugar de copiarse. Actualiza el runtime, luego desinstala el paquete y vuelve a instalarlo como copia no administrada.",
|
|
3768
|
+
},
|
|
3769
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3770
|
+
// this environment holds (MarketplacePackagePage).
|
|
3771
|
+
update: {
|
|
3772
|
+
dialogTitle: "Actualizar {{name}}",
|
|
3773
|
+
dialogDescCurrent: "Actualizar la copia instalada en este entorno ({{host}}).",
|
|
3774
|
+
dialogDescPicker: "Elija el entorno cuya copia instalada desea actualizar. Debe haber iniciado sesión en ObjectStack Cloud.",
|
|
3775
|
+
majorNotice: "Esta es una actualización de versión principal (v{{fromMajor}} → v{{toMajor}}), que puede incluir cambios incompatibles.",
|
|
3776
|
+
releaseNotes: "Leer las notas de la versión v{{version}}",
|
|
3777
|
+
success: "Actualizado a la v{{version}}.",
|
|
3778
|
+
deployTimeout: "La actualización se registró, pero este entorno aún no ofrece la v{{version}}. Puede que siga desplegándose; vuelva a comprobarlo en breve.",
|
|
2941
3779
|
},
|
|
2942
3780
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
2943
3781
|
org: {
|
|
@@ -2955,7 +3793,8 @@ const es = {
|
|
|
2955
3793
|
reviewed: "Revisado y aprobado",
|
|
2956
3794
|
unreviewed: "Sin revisar todavía",
|
|
2957
3795
|
signed: "Firmado",
|
|
2958
|
-
grantsIntro: "
|
|
3796
|
+
grantsIntro: "Este paquete solicita:",
|
|
3797
|
+
notEnforced: "Esta lista se registra al instalar y se vuelve a confirmar si una versión posterior solicita más, pero el runtime aún no restringe el paquete a ella.",
|
|
2959
3798
|
services: "Servicios de la plataforma",
|
|
2960
3799
|
hooks: "Hooks de ciclo de vida",
|
|
2961
3800
|
network: "Acceso a la red",
|
|
@@ -2969,9 +3808,11 @@ const es = {
|
|
|
2969
3808
|
},
|
|
2970
3809
|
},
|
|
2971
3810
|
uninstall: {
|
|
2972
|
-
confirm: "¿Desinstalar {{manifestId}} v{{version}} de este runtime?\n\
|
|
2973
|
-
successInList: "{{manifestId}} eliminado.
|
|
2974
|
-
successInDetail: "
|
|
3811
|
+
confirm: "¿Desinstalar {{manifestId}} v{{version}} de este runtime?\n\nLa aplicación se retirará de inmediato del kernel en ejecución, junto con sus conjuntos de permisos y sus asignaciones, y el manifiesto en caché será eliminado. Los registros almacenados en sus objetos permanecen en la base de datos.",
|
|
3812
|
+
successInList: "{{manifestId}} eliminado: la aplicación se retiró del kernel en ejecución, junto con sus conjuntos de permisos y sus asignaciones. Los registros almacenados en sus objetos permanecen en la base de datos.",
|
|
3813
|
+
successInDetail: "{{manifestId}} y su manifiesto en caché eliminados: la aplicación se retiró del kernel en ejecución, junto con sus conjuntos de permisos y sus asignaciones. Los registros almacenados en sus objetos permanecen en la base de datos.",
|
|
3814
|
+
confirmNotLoaded: "¿Desinstalar {{manifestId}} v{{version}} de este runtime?\n\nEl manifiesto en caché será eliminado. Este runtime no cargó el paquete, así que ninguna parte de él está en ejecución.",
|
|
3815
|
+
successNotLoaded: "{{manifestId}} eliminado. No estaba cargado, así que no es necesario reiniciar.",
|
|
2975
3816
|
},
|
|
2976
3817
|
accessDenied: {
|
|
2977
3818
|
title: "Marketplace solo para administradores",
|
|
@@ -2994,30 +3835,21 @@ const es = {
|
|
|
2994
3835
|
storage: "Almacenamiento",
|
|
2995
3836
|
other: "Otro",
|
|
2996
3837
|
},
|
|
2997
|
-
pricing: {
|
|
2998
|
-
free: "Gratis",
|
|
2999
|
-
freemium: "Freemium",
|
|
3000
|
-
paid: "De pago",
|
|
3001
|
-
subscription: "Suscripción",
|
|
3002
|
-
"usage-based": "Por uso",
|
|
3003
|
-
"contact-sales": "Contactar ventas",
|
|
3004
|
-
},
|
|
3005
3838
|
relativeTime: {
|
|
3006
3839
|
today: "hoy",
|
|
3007
3840
|
daysAgo: "hace {{count}}d",
|
|
3008
3841
|
monthsAgo: "hace {{count}} meses",
|
|
3842
|
+
monthsAgo_one: "hace {{count}} mes",
|
|
3843
|
+
monthsAgo_many: "hace {{count}} meses",
|
|
3844
|
+
monthsAgo_other: "hace {{count}} meses",
|
|
3009
3845
|
yearsAgo: "hace {{count}} años",
|
|
3846
|
+
yearsAgo_one: "hace {{count}} año",
|
|
3847
|
+
yearsAgo_many: "hace {{count}} años",
|
|
3848
|
+
yearsAgo_other: "hace {{count}} años",
|
|
3010
3849
|
},
|
|
3011
3850
|
},
|
|
3012
|
-
approvals: {
|
|
3013
|
-
approve: 'Aprobar',
|
|
3014
|
-
reject: 'Rechazar',
|
|
3015
|
-
comment: 'Comentario (opcional)',
|
|
3016
|
-
approveSuccess: 'Aprobado',
|
|
3017
|
-
rejectSuccess: 'Rechazado',
|
|
3018
|
-
rejectConfirm: '¿Rechazar esta solicitud de aprobación?',
|
|
3019
|
-
},
|
|
3020
3851
|
approvalsInbox: {
|
|
3852
|
+
recordUnresolvable: 'Este registro no se puede abrir',
|
|
3021
3853
|
loadMore: 'Cargar más',
|
|
3022
3854
|
loadingMore: 'Cargando…',
|
|
3023
3855
|
loadedOf: '{{loaded}} de {{total}} cargadas',
|
|
@@ -3036,6 +3868,9 @@ const es = {
|
|
|
3036
3868
|
requestInfoSent: 'Devuelta al solicitante para más información',
|
|
3037
3869
|
remindBtn: 'Recordatorio',
|
|
3038
3870
|
remindSuccess: 'Recordatorio enviado a {{count}} aprobador(es)',
|
|
3871
|
+
remindSuccess_one: 'Recordatorio enviado a {{count}} aprobador',
|
|
3872
|
+
remindSuccess_many: 'Recordatorio enviado a {{count}} de aprobadores',
|
|
3873
|
+
remindSuccess_other: 'Recordatorio enviado a {{count}} aprobadores',
|
|
3039
3874
|
remindThrottled: 'Ya se envió un recordatorio hace poco; inténtalo más tarde.',
|
|
3040
3875
|
replyPlaceholder: 'Responder en esta solicitud…',
|
|
3041
3876
|
slaRemaining: 'SLA: quedan {{dur}}',
|
|
@@ -3052,8 +3887,12 @@ const es = {
|
|
|
3052
3887
|
progressApprovals: 'Aprobaciones — {{got}} de {{need}}',
|
|
3053
3888
|
progressGroups: 'Progreso de firmas — {{got}} de {{need}} grupos',
|
|
3054
3889
|
progressEligible: '{{count}} aprobador(es) elegible(s)',
|
|
3890
|
+
progressEligible_one: '{{count}} aprobador elegible',
|
|
3891
|
+
progressEligible_many: '{{count}} de aprobadores elegibles',
|
|
3892
|
+
progressEligible_other: '{{count}} aprobadores elegibles',
|
|
3055
3893
|
progressBar: 'Progreso de la decisión',
|
|
3056
3894
|
declaredActions: 'Acciones',
|
|
3895
|
+
decisionPanelOffRequestPage: 'El panel de decisión de aprobación solo funciona en las páginas de solicitudes de aprobación.',
|
|
3057
3896
|
attachmentChip: 'Adjunto',
|
|
3058
3897
|
attachmentOpenFailed: 'No se pudo abrir el archivo adjunto: inténtalo de nuevo',
|
|
3059
3898
|
approveOneTitle: '¿Aprobar «{{title}}»?',
|
|
@@ -3083,6 +3922,9 @@ const es = {
|
|
|
3083
3922
|
filterCount: '{{shown}} de {{total}}',
|
|
3084
3923
|
selected: 'seleccionadas',
|
|
3085
3924
|
actionableCount: '({{count}} accionables)',
|
|
3925
|
+
actionableCount_one: '({{count}} accionable)',
|
|
3926
|
+
actionableCount_many: '({{count}} accionables)',
|
|
3927
|
+
actionableCount_other: '({{count}} accionables)',
|
|
3086
3928
|
selectAll: 'Seleccionar todo',
|
|
3087
3929
|
selectRow: 'Seleccionar solicitud',
|
|
3088
3930
|
colRequest: 'Solicitud',
|
|
@@ -3117,6 +3959,10 @@ const es = {
|
|
|
3117
3959
|
emptyPending: 'Todo al día: nada espera tu aprobación.',
|
|
3118
3960
|
emptyOther: 'Aún no hay nada aquí.',
|
|
3119
3961
|
emptyViewAll: 'Ver todas las solicitudes',
|
|
3962
|
+
waitingOnOthers: "{{count}} solicitudes esperan a otros aprobadores",
|
|
3963
|
+
waitingOnOthers_one: "{{count}} solicitud espera a otros aprobadores",
|
|
3964
|
+
waitingOnOthers_many: "{{count}} de solicitudes esperan a otros aprobadores",
|
|
3965
|
+
waitingOnOthers_other: "{{count}} solicitudes esperan a otros aprobadores",
|
|
3120
3966
|
noMatches: 'Sin coincidencias con los filtros actuales.',
|
|
3121
3967
|
keyboardHint: 'Teclado: j/k mover · Enter abrir · x seleccionar · a aprobar · r rechazar',
|
|
3122
3968
|
drawerTitle: 'Solicitud de aprobación',
|
|
@@ -3134,12 +3980,12 @@ const es = {
|
|
|
3134
3980
|
overrideActionLabel: '{{action}} (anulación)',
|
|
3135
3981
|
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
3982
|
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.',
|
|
3983
|
+
overrideReassignNotice: 'No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso pasa al nuevo aprobador que elija, que sustituye a cualquier aprobador que aún no haya actuado. La solicitud sigue pendiente a la espera del nuevo aprobador. La reasignación se registra como anulación de administrador.',
|
|
3984
|
+
overrideReassignNoticeWho: 'No ocupa ningún puesto de aprobador en este paso. Al continuar se usará su anulación de administrador: el paso pasa al nuevo aprobador que elija, que sustituye a los aprobadores que aún no han actuado — {{who}}. La solicitud sigue pendiente a la espera del nuevo aprobador. La reasignación se registra como anulación de administrador.',
|
|
3985
|
+
overrideRecallNotice: 'No envió esta solicitud. Al continuar se usará su anulación de administrador: la solicitud se retira, ningún aprobador que aún no haya actuado podrá actuar sobre ella y el registro se desbloquea.',
|
|
3986
|
+
overrideRecallNoticeWho: 'No envió esta solicitud. Al continuar se usará su anulación de administrador: la solicitud se retira, el registro se desbloquea y los aprobadores que aún no han actuado ya no podrán actuar sobre ella — {{who}}.',
|
|
3137
3987
|
viaOverrideChip: 'Anulación de administrador',
|
|
3138
3988
|
viaOverrideHint: 'Quien actuó no ocupaba ningún puesto de aprobador en este paso: fue admitido por la vía de anulación de administrador.',
|
|
3139
|
-
rawData: 'Datos sin procesar (JSON)',
|
|
3140
|
-
copy: 'Copiar',
|
|
3141
|
-
copied: 'Copiado',
|
|
3142
|
-
copyFailed: 'Error al copiar',
|
|
3143
3989
|
overrideActor: 'Actuar como otra identidad (admin)',
|
|
3144
3990
|
actor: 'Actor',
|
|
3145
3991
|
auto: 'Auto',
|
|
@@ -3156,11 +4002,23 @@ const es = {
|
|
|
3156
4002
|
approveN: 'Aprobar {{count}}',
|
|
3157
4003
|
rejectN: 'Rechazar {{count}}',
|
|
3158
4004
|
bulkApproveTitle: '¿Aprobar {{count}} solicitudes?',
|
|
4005
|
+
bulkApproveTitle_one: '¿Aprobar {{count}} solicitud?',
|
|
4006
|
+
bulkApproveTitle_many: '¿Aprobar {{count}} de solicitudes?',
|
|
4007
|
+
bulkApproveTitle_other: '¿Aprobar {{count}} solicitudes?',
|
|
3159
4008
|
bulkApproveBody: 'Cada solicitud se aprueba con tu identidad y su flujo continúa por la rama de aprobación.',
|
|
3160
4009
|
bulkRejectTitle: '¿Rechazar {{count}} solicitudes?',
|
|
4010
|
+
bulkRejectTitle_one: '¿Rechazar {{count}} solicitud?',
|
|
4011
|
+
bulkRejectTitle_many: '¿Rechazar {{count}} de solicitudes?',
|
|
4012
|
+
bulkRejectTitle_other: '¿Rechazar {{count}} solicitudes?',
|
|
3161
4013
|
bulkRejectBody: 'Se rechazarán las solicitudes seleccionadas y se notificará a los solicitantes.',
|
|
3162
4014
|
bulkApproved: '{{count}} solicitudes aprobadas',
|
|
4015
|
+
bulkApproved_one: '{{count}} solicitud aprobada',
|
|
4016
|
+
bulkApproved_many: '{{count}} de solicitudes aprobadas',
|
|
4017
|
+
bulkApproved_other: '{{count}} solicitudes aprobadas',
|
|
3163
4018
|
bulkRejected: '{{count}} solicitudes rechazadas',
|
|
4019
|
+
bulkRejected_one: '{{count}} solicitud rechazada',
|
|
4020
|
+
bulkRejected_many: '{{count}} de solicitudes rechazadas',
|
|
4021
|
+
bulkRejected_other: '{{count}} solicitudes rechazadas',
|
|
3164
4022
|
bulkPartial: '{{ok}} con éxito, {{fail}} fallidas: {{which}}',
|
|
3165
4023
|
rejectOneTitle: '¿Rechazar "{{title}}"?',
|
|
3166
4024
|
rejectOneBody: 'Se rechaza la solicitud y se notifica al solicitante.',
|
|
@@ -3185,8 +4043,17 @@ const es = {
|
|
|
3185
4043
|
alreadyDecided: 'Esta solicitud ya fue decidida. Actualiza la lista.',
|
|
3186
4044
|
justNow: 'justo ahora',
|
|
3187
4045
|
minutesAgo: 'hace {{count}} min',
|
|
4046
|
+
minutesAgo_one: 'hace {{count}} min',
|
|
4047
|
+
minutesAgo_many: 'hace {{count}} min',
|
|
4048
|
+
minutesAgo_other: 'hace {{count}} min',
|
|
3188
4049
|
hoursAgo: 'hace {{count}} h',
|
|
4050
|
+
hoursAgo_one: 'hace {{count}} h',
|
|
4051
|
+
hoursAgo_many: 'hace {{count}} h',
|
|
4052
|
+
hoursAgo_other: 'hace {{count}} h',
|
|
3189
4053
|
daysAgo: 'hace {{count}} días',
|
|
4054
|
+
daysAgo_one: 'hace {{count}} día',
|
|
4055
|
+
daysAgo_many: 'hace {{count}} días',
|
|
4056
|
+
daysAgo_other: 'hace {{count}} días',
|
|
3190
4057
|
},
|
|
3191
4058
|
preview: {
|
|
3192
4059
|
empty: {
|
|
@@ -3207,6 +4074,10 @@ const es = {
|
|
|
3207
4074
|
publishing: 'Publicando…',
|
|
3208
4075
|
exit: 'Salir de la vista previa',
|
|
3209
4076
|
changes: 'Cambios',
|
|
4077
|
+
pendingHere: 'Vista previa del borrador · {{count}} cambios sin publicar en esta página',
|
|
4078
|
+
pendingHere_one: 'Vista previa del borrador · {{count}} cambio sin publicar en esta página',
|
|
4079
|
+
pendingHere_many: 'Vista previa del borrador · {{count}} de cambios sin publicar en esta página',
|
|
4080
|
+
pendingHere_other: 'Vista previa del borrador · {{count}} cambios sin publicar en esta página',
|
|
3210
4081
|
},
|
|
3211
4082
|
changes: {
|
|
3212
4083
|
title: 'Cambios pendientes',
|
|
@@ -3221,11 +4092,81 @@ const es = {
|
|
|
3221
4092
|
detailNone: 'No se detectaron diferencias — el borrador coincide con la versión publicada.',
|
|
3222
4093
|
detailChangedKeys: 'También cambió:',
|
|
3223
4094
|
confirmNote: 'Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.',
|
|
4095
|
+
confirmNote_one: 'Publicar libera atómicamente {{count}} borrador pendiente de este paquete.',
|
|
4096
|
+
confirmNote_many: 'Publicar libera atómicamente los {{count}} de borradores pendientes de este paquete.',
|
|
4097
|
+
confirmNote_other: 'Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.',
|
|
4098
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
4099
|
+
// draft publishes by itself and one that fails stays pending.
|
|
4100
|
+
confirmNoteSeparate: 'Publicar libera los {{count}} borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.',
|
|
4101
|
+
confirmNoteSeparate_one: 'Publicar libera {{count}} borrador pendiente por sí solo: si falla, sigue pendiente.',
|
|
4102
|
+
confirmNoteSeparate_many: 'Publicar libera los {{count}} de borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.',
|
|
4103
|
+
confirmNoteSeparate_other: 'Publicar libera los {{count}} borradores pendientes uno por uno: el que falle sigue pendiente y los demás se publican igualmente.',
|
|
3224
4104
|
publishConfirm: 'Publicar todo',
|
|
3225
|
-
|
|
4105
|
+
summaryItems: '{{count}} elementos',
|
|
4106
|
+
summaryItems_one: '{{count}} elemento',
|
|
4107
|
+
summaryItems_many: '{{count}} de elementos',
|
|
4108
|
+
summaryItems_other: '{{count}} elementos',
|
|
4109
|
+
summaryType: '{{n}} {{type}}',
|
|
4110
|
+
typeCount: {
|
|
4111
|
+
object: '{{count}} objetos',
|
|
4112
|
+
object_one: '{{count}} objeto',
|
|
4113
|
+
object_many: '{{count}} de objetos',
|
|
4114
|
+
object_other: '{{count}} objetos',
|
|
4115
|
+
view: '{{count}} vistas',
|
|
4116
|
+
view_one: '{{count}} vista',
|
|
4117
|
+
view_many: '{{count}} de vistas',
|
|
4118
|
+
view_other: '{{count}} vistas',
|
|
4119
|
+
page: '{{count}} páginas',
|
|
4120
|
+
page_one: '{{count}} página',
|
|
4121
|
+
page_many: '{{count}} de páginas',
|
|
4122
|
+
page_other: '{{count}} páginas',
|
|
4123
|
+
dashboard: '{{count}} paneles',
|
|
4124
|
+
dashboard_one: '{{count}} panel',
|
|
4125
|
+
dashboard_many: '{{count}} de paneles',
|
|
4126
|
+
dashboard_other: '{{count}} paneles',
|
|
4127
|
+
app: '{{count}} aplicaciones',
|
|
4128
|
+
app_one: '{{count}} aplicación',
|
|
4129
|
+
app_many: '{{count}} de aplicaciones',
|
|
4130
|
+
app_other: '{{count}} aplicaciones',
|
|
4131
|
+
action: '{{count}} acciones',
|
|
4132
|
+
action_one: '{{count}} acción',
|
|
4133
|
+
action_many: '{{count}} de acciones',
|
|
4134
|
+
action_other: '{{count}} acciones',
|
|
4135
|
+
report: '{{count}} informes',
|
|
4136
|
+
report_one: '{{count}} informe',
|
|
4137
|
+
report_many: '{{count}} de informes',
|
|
4138
|
+
report_other: '{{count}} informes',
|
|
4139
|
+
flow: '{{count}} flujos',
|
|
4140
|
+
flow_one: '{{count}} flujo',
|
|
4141
|
+
flow_many: '{{count}} de flujos',
|
|
4142
|
+
flow_other: '{{count}} flujos',
|
|
4143
|
+
permission: '{{count}} conjuntos de permisos',
|
|
4144
|
+
permission_one: '{{count}} conjunto de permisos',
|
|
4145
|
+
permission_many: '{{count}} de conjuntos de permisos',
|
|
4146
|
+
permission_other: '{{count}} conjuntos de permisos',
|
|
4147
|
+
agent: '{{count}} agentes',
|
|
4148
|
+
agent_one: '{{count}} agente',
|
|
4149
|
+
agent_many: '{{count}} de agentes',
|
|
4150
|
+
agent_other: '{{count}} agentes',
|
|
4151
|
+
email_template: '{{count}} plantillas de correo',
|
|
4152
|
+
email_template_one: '{{count}} plantilla de correo',
|
|
4153
|
+
email_template_many: '{{count}} de plantillas de correo',
|
|
4154
|
+
email_template_other: '{{count}} plantillas de correo',
|
|
4155
|
+
},
|
|
4156
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
4157
|
+
// literal default the batch publish can write into the existing records.
|
|
4158
|
+
backfillOption: 'Rellenar el valor predeterminado ({{count}} registros existentes)',
|
|
4159
|
+
backfillOption_one: 'Rellenar el valor predeterminado ({{count}} registro existente)',
|
|
4160
|
+
backfillOption_many: 'Rellenar el valor predeterminado ({{count}} de registros existentes)',
|
|
4161
|
+
backfillOption_other: 'Rellenar el valor predeterminado ({{count}} registros existentes)',
|
|
4162
|
+
backfillOptionNoCount: 'Rellenar el valor predeterminado',
|
|
4163
|
+
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3226
4164
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3227
4165
|
// the click rather than as a toast after the batch rolled back.
|
|
3228
4166
|
securityBlockTitle: 'La publicación será rechazada: {{count}} elemento(s) necesitan una decisión primero',
|
|
4167
|
+
securityBlockTitle_one: 'La publicación será rechazada: {{count}} elemento necesita una decisión primero',
|
|
4168
|
+
securityBlockTitle_many: 'La publicación será rechazada: {{count}} de elementos necesitan una decisión primero',
|
|
4169
|
+
securityBlockTitle_other: 'La publicación será rechazada: {{count}} elementos necesitan una decisión primero',
|
|
3229
4170
|
securityBlockWhere: 'Corríjalo en el objeto en Configuración → Uso compartido de registros y vuelva a publicar.',
|
|
3230
4171
|
},
|
|
3231
4172
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
@@ -3250,7 +4191,7 @@ const es = {
|
|
|
3250
4191
|
revertLabel: 'Se deshizo un cambio',
|
|
3251
4192
|
applyLabel: 'Cambio de compilación',
|
|
3252
4193
|
revert: 'deshacer',
|
|
3253
|
-
items: '
|
|
4194
|
+
items: 'Elementos: {{count}}',
|
|
3254
4195
|
revertAction: 'Deshacer',
|
|
3255
4196
|
reverted: 'Deshecho — el cambio se ha revertido.',
|
|
3256
4197
|
revertFailed: 'Error al deshacer',
|
|
@@ -3279,28 +4220,32 @@ const es = {
|
|
|
3279
4220
|
rangeEnd: "Hasta",
|
|
3280
4221
|
operators: {
|
|
3281
4222
|
equals: "Igual a",
|
|
3282
|
-
|
|
4223
|
+
not_equals: "Distinto de",
|
|
3283
4224
|
contains: "Contiene",
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
4225
|
+
icontains: "Contiene (ignorar mayúsculas)",
|
|
4226
|
+
not_contains: "No contiene",
|
|
4227
|
+
is_empty: "Está vacío",
|
|
4228
|
+
is_not_empty: "No está vacío",
|
|
4229
|
+
greater_than: "Mayor que",
|
|
4230
|
+
less_than: "Menor que",
|
|
4231
|
+
greater_than_or_equal: "Mayor o igual",
|
|
4232
|
+
less_than_or_equal: "Menor o igual",
|
|
3292
4233
|
before: "Antes de",
|
|
3293
4234
|
after: "Después de",
|
|
3294
4235
|
between: "Entre",
|
|
3295
4236
|
in: "En",
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
4237
|
+
not_in: "No en",
|
|
4238
|
+
starts_with: "Comienza por",
|
|
4239
|
+
ends_with: "Termina en",
|
|
4240
|
+
is_null: "Es null",
|
|
4241
|
+
is_not_null: "No es null",
|
|
3301
4242
|
exists: "Está definido",
|
|
3302
4243
|
notExists: "No está definido",
|
|
3303
4244
|
},
|
|
4245
|
+
emptyCheckHint: {
|
|
4246
|
+
text: '«{{isEmpty}}» también incluye texto en blanco; «{{isNull}}» solo un valor ausente.',
|
|
4247
|
+
list: '«{{isEmpty}}» también incluye una lista vacía; «{{isNull}}» solo un valor ausente.',
|
|
4248
|
+
},
|
|
3304
4249
|
},
|
|
3305
4250
|
sortBuilder: {
|
|
3306
4251
|
sortBy: "Ordenar por",
|
|
@@ -3313,7 +4258,9 @@ const es = {
|
|
|
3313
4258
|
},
|
|
3314
4259
|
collaboration: {
|
|
3315
4260
|
commentCount: "{{count}} comentarios",
|
|
3316
|
-
|
|
4261
|
+
commentCount_one: "{{count}} comentario",
|
|
4262
|
+
commentCount_many: "{{count}} de comentarios",
|
|
4263
|
+
commentCount_other: "{{count}} comentarios",
|
|
3317
4264
|
resolvedSuffix: " · Resuelto",
|
|
3318
4265
|
sortComments: "Ordenar comentarios",
|
|
3319
4266
|
sortOldest: "Más antiguos",
|
|
@@ -3322,11 +4269,22 @@ const es = {
|
|
|
3322
4269
|
reopen: "Reabrir",
|
|
3323
4270
|
justNow: "ahora mismo",
|
|
3324
4271
|
minutesAgo: "hace {{count}} min",
|
|
4272
|
+
minutesAgo_one: "hace {{count}} min",
|
|
4273
|
+
minutesAgo_many: "hace {{count}} min",
|
|
4274
|
+
minutesAgo_other: "hace {{count}} min",
|
|
3325
4275
|
hoursAgo: "hace {{count}} h",
|
|
4276
|
+
hoursAgo_one: "hace {{count}} h",
|
|
4277
|
+
hoursAgo_many: "hace {{count}} h",
|
|
4278
|
+
hoursAgo_other: "hace {{count}} h",
|
|
3326
4279
|
daysAgo: "hace {{count}} d",
|
|
4280
|
+
daysAgo_one: "hace {{count}} d",
|
|
4281
|
+
daysAgo_many: "hace {{count}} d",
|
|
4282
|
+
daysAgo_other: "hace {{count}} d",
|
|
3327
4283
|
edited: "(editado)",
|
|
3328
4284
|
reactionCount: "{{count}} reacciones",
|
|
3329
|
-
|
|
4285
|
+
reactionCount_one: "{{count}} reacción",
|
|
4286
|
+
reactionCount_many: "{{count}} de reacciones",
|
|
4287
|
+
reactionCount_other: "{{count}} reacciones",
|
|
3330
4288
|
addThumbsUp: "Agregar me gusta",
|
|
3331
4289
|
reply: "Responder",
|
|
3332
4290
|
reactThumbsUp: "Reaccionar con me gusta",
|
|
@@ -3337,9 +4295,13 @@ const es = {
|
|
|
3337
4295
|
commentPlaceholder: "Agregar un comentario… (usa @ para mencionar)",
|
|
3338
4296
|
send: "Enviar",
|
|
3339
4297
|
presentUserCount: "{{count}} usuarios presentes",
|
|
3340
|
-
|
|
4298
|
+
presentUserCount_one: "{{count}} usuario presente",
|
|
4299
|
+
presentUserCount_many: "{{count}} de usuarios presentes",
|
|
4300
|
+
presentUserCount_other: "{{count}} usuarios presentes",
|
|
3341
4301
|
moreUserCount: "{{count}} usuarios más",
|
|
3342
|
-
|
|
4302
|
+
moreUserCount_one: "{{count}} usuario más",
|
|
4303
|
+
moreUserCount_many: "{{count}} de usuarios más",
|
|
4304
|
+
moreUserCount_other: "{{count}} usuarios más",
|
|
3343
4305
|
userStatusTitle: "{{name}} ({{status}})",
|
|
3344
4306
|
statusActive: "activo",
|
|
3345
4307
|
statusIdle: "inactivo",
|
|
@@ -3347,6 +4309,11 @@ const es = {
|
|
|
3347
4309
|
},
|
|
3348
4310
|
wizard: {
|
|
3349
4311
|
missingRequired: "Complete los campos obligatorios: {{fields}}",
|
|
4312
|
+
back: "Atrás",
|
|
4313
|
+
submitting: "Enviando…",
|
|
4314
|
+
stepFallback: "Paso {{n}}",
|
|
4315
|
+
progressLabel: "Progreso",
|
|
4316
|
+
emptyStep: "No hay campos configurados para este paso",
|
|
3350
4317
|
},
|
|
3351
4318
|
flowRunner: {
|
|
3352
4319
|
title: 'Entrada',
|
|
@@ -3396,6 +4363,8 @@ const es = {
|
|
|
3396
4363
|
setDefaultFailed: "Error al establecer la aplicación predeterminada: {{reason}}",
|
|
3397
4364
|
appDeleted: "{{name}} eliminada",
|
|
3398
4365
|
deleteFailed: "Error al eliminar la aplicación: {{reason}}",
|
|
4366
|
+
nothingToDelete: "Nada que eliminar para {{name}}: {{reason}}",
|
|
4367
|
+
alreadyAtDefault: "ya está en el valor predeterminado de su paquete",
|
|
3399
4368
|
bulkEnabled: "{{n}} aplicaciones habilitadas",
|
|
3400
4369
|
bulkDisabled: "{{n}} aplicaciones deshabilitadas",
|
|
3401
4370
|
bulkFailed: "Error en {{n}}: {{details}}",
|
|
@@ -3404,5 +4373,131 @@ const es = {
|
|
|
3404
4373
|
bulkOperationFailed: "Error en la operación masiva: {{reason}}",
|
|
3405
4374
|
},
|
|
3406
4375
|
},
|
|
4376
|
+
// objectui#6301 — Configuración › Automatización de paquetes (ADR-0126
|
|
4377
|
+
// §7.4). Terminología del pack: `common.package` = Paquete,
|
|
4378
|
+
// `flowRunner.completed` = Flujo, comillas «…». ⛔ Ninguna formulación de
|
|
4379
|
+
// linaje o desviación en este grupo (§9).
|
|
4380
|
+
packagedAutomation: {
|
|
4381
|
+
title: "Automatización de paquetes",
|
|
4382
|
+
subtitle: "Flujos y acciones incluidos en los paquetes instalados. Desactiva uno en esta implementación o clona un flujo con un nombre nuevo para personalizarlo. La edición se hace en Studio.",
|
|
4383
|
+
refresh: "Actualizar",
|
|
4384
|
+
flowsHeading: "Flujos de paquete",
|
|
4385
|
+
actionsHeading: "Acciones de paquete",
|
|
4386
|
+
colFlow: "Flujo",
|
|
4387
|
+
colActivation: "Activación",
|
|
4388
|
+
colActions: "Acciones",
|
|
4389
|
+
toggleLabel: "Activación de {{label}}",
|
|
4390
|
+
on: "Activado",
|
|
4391
|
+
off: "Desactivado",
|
|
4392
|
+
notRunning: "No se ejecuta aquí",
|
|
4393
|
+
clone: "Clonar",
|
|
4394
|
+
cloneTitle: "Clonar flujo del paquete",
|
|
4395
|
+
cloneBody: "La copia conserva toda la definición y necesita un nombre de máquina y una etiqueta nuevos. Edita la copia en Studio.",
|
|
4396
|
+
cloneName: "Nuevo nombre de máquina",
|
|
4397
|
+
cloneLabel: "Nueva etiqueta",
|
|
4398
|
+
cancel: "Cancelar",
|
|
4399
|
+
cloneConfirm: "Crear clon",
|
|
4400
|
+
cloneCreated: "Flujo «{{name}}» creado.",
|
|
4401
|
+
cloneSwitchSourceOff: "Desactivar «{{label}}»",
|
|
4402
|
+
cloneSourceOff: "El flujo empaquetado «{{label}}» está desactivado.",
|
|
4403
|
+
cloneOpen: "Abrir la copia en Studio",
|
|
4404
|
+
emptyTitle: "Sin flujos de paquete",
|
|
4405
|
+
emptyBody: "Ningún paquete instalado incluye un flujo de automatización en esta implementación. Los flujos que creas tú están en Studio.",
|
|
4406
|
+
loadFailed: "No se pudo cargar la automatización de paquetes.",
|
|
4407
|
+
toggleFailedHttp: "No se pudo cambiar la activación (HTTP {{status}}).",
|
|
4408
|
+
toggleFailed: "No se pudo cambiar la activación.",
|
|
4409
|
+
cloneFailedHttp: "No se pudo clonar este flujo (HTTP {{status}}).",
|
|
4410
|
+
cloneFailed: "No se pudo clonar este flujo.",
|
|
4411
|
+
reasonDetails: "Detalles",
|
|
4412
|
+
actionsSubtitle: "Acciones incluidas en los paquetes instalados. Desactiva una en esta implementación y dejará de ejecutarse en todos los lugares donde se ofrece. Crear tu propia acción junto a ella sigue estando disponible en Studio.",
|
|
4413
|
+
colAction: "Acción",
|
|
4414
|
+
colObject: "Objeto",
|
|
4415
|
+
actionToggleLabel: "Activación de {{label}} en {{object}}",
|
|
4416
|
+
actionsEmptyTitle: "Sin acciones de paquete",
|
|
4417
|
+
actionsEmptyBody: "Ningún paquete instalado declara una acción en esta implementación. Las acciones que creas tú están en Studio.",
|
|
4418
|
+
actionsLoadFailed: "No se pudieron cargar las acciones de paquete.",
|
|
4419
|
+
},
|
|
4420
|
+
element: {
|
|
4421
|
+
number: {
|
|
4422
|
+
noObject: "No se ha indicado ningún objeto: define dataSource.object.",
|
|
4423
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta métrica",
|
|
4424
|
+
},
|
|
4425
|
+
image: {
|
|
4426
|
+
noSource: "Sin origen de imagen",
|
|
4427
|
+
},
|
|
4428
|
+
recordPicker: {
|
|
4429
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este selector de registros",
|
|
4430
|
+
},
|
|
4431
|
+
calendar: {
|
|
4432
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este calendario",
|
|
4433
|
+
},
|
|
4434
|
+
chart: {
|
|
4435
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este gráfico",
|
|
4436
|
+
},
|
|
4437
|
+
pivotTable: {
|
|
4438
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta tabla dinámica",
|
|
4439
|
+
},
|
|
4440
|
+
detailView: {
|
|
4441
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta vista de detalle",
|
|
4442
|
+
},
|
|
4443
|
+
relatedList: {
|
|
4444
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta lista relacionada",
|
|
4445
|
+
parentUnreadable: "No se pudo leer el registro principal de esta lista relacionada",
|
|
4446
|
+
},
|
|
4447
|
+
form: {
|
|
4448
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este formulario",
|
|
4449
|
+
},
|
|
4450
|
+
lineItems: {
|
|
4451
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este panel de líneas",
|
|
4452
|
+
},
|
|
4453
|
+
gantt: {
|
|
4454
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este diagrama de Gantt",
|
|
4455
|
+
},
|
|
4456
|
+
grid: {
|
|
4457
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta cuadrícula",
|
|
4458
|
+
},
|
|
4459
|
+
board: {
|
|
4460
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este tablero",
|
|
4461
|
+
},
|
|
4462
|
+
listView: {
|
|
4463
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta vista de lista",
|
|
4464
|
+
},
|
|
4465
|
+
map: {
|
|
4466
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este mapa",
|
|
4467
|
+
},
|
|
4468
|
+
timeline: {
|
|
4469
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de esta línea de tiempo",
|
|
4470
|
+
},
|
|
4471
|
+
component: {
|
|
4472
|
+
sourceUnresolved: "No se pudo resolver el origen de datos de este componente",
|
|
4473
|
+
noDataSource: "No se resolvió ningún origen de datos",
|
|
4474
|
+
apiRefused: "Se rechazó el origen de datos de API de este componente",
|
|
4475
|
+
apiUnreadable: "No se pudo leer el origen de datos de API de este componente",
|
|
4476
|
+
},
|
|
4477
|
+
metadataViewer: {
|
|
4478
|
+
missingKey: "Falta {{key}} en esta vista.",
|
|
4479
|
+
loading: "Cargando {{name}}…",
|
|
4480
|
+
loadFailed: "No se pudo cargar {{name}}: {{message}}",
|
|
4481
|
+
notFound: "No se encontró {{name}}.",
|
|
4482
|
+
stateMachine: "Máquina de estados",
|
|
4483
|
+
flow: "Flujo",
|
|
4484
|
+
permission: "Permiso",
|
|
4485
|
+
noStateMachine: "No hay ninguna máquina de estados en {{object}}.",
|
|
4486
|
+
noStateMachineNamed: "No hay ninguna máquina de estados llamada «{{name}}» en {{object}}.",
|
|
4487
|
+
lifecycle: "Ciclo de vida de {{object}}",
|
|
4488
|
+
field: "campo {{field}}",
|
|
4489
|
+
initial: "inicio",
|
|
4490
|
+
final: "fin",
|
|
4491
|
+
steps: "Pasos: {{count}}",
|
|
4492
|
+
noSteps: "No hay pasos que mostrar.",
|
|
4493
|
+
untitledStep: "(paso)",
|
|
4494
|
+
hiddenSteps: "Pasos técnicos ocultos: {{count}} · establece {{setting}} para mostrarlos todos",
|
|
4495
|
+
objectAccess: "Acceso a objetos: {{count}}",
|
|
4496
|
+
noPermissions: "No se han declarado permisos de objeto.",
|
|
4497
|
+
object: "Objeto",
|
|
4498
|
+
unknownType: "Tipo de vista de metadatos desconocido. Se esperaba {{a}}, {{b}} o {{c}}.",
|
|
4499
|
+
unknownTypeNamed: "Tipo de vista de metadatos desconocido «{{type}}». Se esperaba {{a}}, {{b}} o {{c}}.",
|
|
4500
|
+
},
|
|
4501
|
+
},
|
|
3407
4502
|
};
|
|
3408
4503
|
export default es;
|