@cat-factory/app 0.70.0 → 0.71.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/app/components/auth/LoginScreen.vue +3 -2
- package/app/components/board/AddTaskModal.vue +7 -1
- package/app/components/board/AgentFailureCard.vue +3 -0
- package/app/components/board/RecurringPipelineModal.vue +6 -1
- package/app/components/board/nodes/BlockNode.vue +10 -2
- package/app/components/board/nodes/TaskCard.vue +12 -1
- package/app/components/bootstrap/BootstrapModal.vue +3 -0
- package/app/components/common/ConfirmDialog.vue +59 -0
- package/app/components/common/EmptyState.vue +35 -0
- package/app/components/common/KeyboardShortcutsHelp.vue +48 -0
- package/app/components/documents/ContextDocumentPicker.vue +8 -4
- package/app/components/documents/DocumentSourceConnectModal.vue +4 -3
- package/app/components/focus/BlockFocusView.vue +12 -7
- package/app/components/fragments/FragmentLibraryManager.vue +10 -0
- package/app/components/github/GitHubPanel.vue +9 -0
- package/app/components/humanTest/HumanTestWindow.vue +15 -1
- package/app/components/layout/AccountDeploymentSettings.vue +4 -0
- package/app/components/layout/AccountTeamSettings.vue +8 -2
- package/app/components/layout/AiProvidersBanner.vue +3 -1
- package/app/components/layout/BoardSwitcher.vue +11 -0
- package/app/components/layout/CommandBar.vue +8 -0
- package/app/components/layout/InfraSetupBanner.vue +192 -0
- package/app/components/layout/NotificationsInbox.vue +11 -0
- package/app/components/layout/ProviderConfigBanner.vue +3 -1
- package/app/components/panels/InspectorPanel.vue +18 -20
- package/app/components/panels/StepContainerStatus.vue +37 -0
- package/app/components/panels/inspector/FrontendConfig.vue +19 -4
- package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +4 -0
- package/app/components/panels/inspector/TaskDependencies.vue +18 -4
- package/app/components/panels/inspector/TaskExecution.vue +24 -0
- package/app/components/panels/inspector/TaskRunSettings.vue +8 -1
- package/app/components/pipeline/PipelineBuilder.vue +13 -1
- package/app/components/providers/ApiKeysSection.vue +4 -0
- package/app/components/providers/PersonalSubscriptionSection.vue +9 -0
- package/app/components/providers/VendorCredentialsModal.vue +12 -3
- package/app/components/settings/CustomManifestTypeEditor.vue +3 -0
- package/app/components/settings/InfraHandlersConfigurator.vue +72 -12
- package/app/components/settings/KubernetesEngineForm.vue +41 -5
- package/app/components/settings/LocalModelEndpointsPanel.vue +11 -0
- package/app/components/settings/MergeThresholdsPanel.vue +9 -0
- package/app/components/settings/ModelConfigurationPanel.vue +9 -0
- package/app/components/settings/ObservabilityConnectionPanel.vue +7 -0
- package/app/components/settings/ProviderConnectionTab.vue +2 -0
- package/app/components/settings/UserSecretsSection.vue +11 -0
- package/app/components/slack/SlackPanel.vue +9 -0
- package/app/components/tasks/ContextIssuePicker.vue +8 -4
- package/app/components/tasks/TaskSourceConnectModal.vue +4 -3
- package/app/composables/useBlockDeletion.ts +63 -0
- package/app/composables/useConfirm.ts +63 -0
- package/app/composables/useConfirmAction.ts +96 -0
- package/app/composables/useKeyboardShortcuts.ts +76 -0
- package/app/composables/usePipelineErrorToast.ts +2 -0
- package/app/composables/useWorkspaceStream.ts +26 -6
- package/app/pages/index.vue +28 -4
- package/app/stores/agentRuns.spec.ts +74 -0
- package/app/stores/agentRuns.ts +33 -5
- package/app/stores/ui.ts +33 -1
- package/app/stores/workspace.ts +10 -2
- package/app/types/domain.ts +3 -0
- package/app/utils/pipeline.ts +22 -0
- package/i18n/locales/en.json +174 -12
- package/i18n/locales/es.json +176 -17
- package/i18n/locales/fr.json +176 -17
- package/i18n/locales/he.json +176 -17
- package/i18n/locales/ja.json +176 -17
- package/i18n/locales/pl.json +176 -17
- package/i18n/locales/tr.json +176 -17
- package/i18n/locales/uk.json +176 -17
- package/package.json +3 -2
package/i18n/locales/es.json
CHANGED
|
@@ -15,7 +15,36 @@
|
|
|
15
15
|
"copy": "Copiar",
|
|
16
16
|
"actionFailed": "La acción falló",
|
|
17
17
|
"close": "Cerrar",
|
|
18
|
-
"block": "Bloque"
|
|
18
|
+
"block": "Bloque",
|
|
19
|
+
"delete": "Eliminar",
|
|
20
|
+
"remove": "Quitar",
|
|
21
|
+
"confirm": {
|
|
22
|
+
"defaultTitle": "¿Estás seguro?",
|
|
23
|
+
"confirm": "Confirmar",
|
|
24
|
+
"irreversible": "Esta acción no se puede deshacer.",
|
|
25
|
+
"reconnectHint": "Tendrás que volver a conectarlo antes de poder usarlo de nuevo.",
|
|
26
|
+
"titles": {
|
|
27
|
+
"disconnect": "¿Desconectar {name}?",
|
|
28
|
+
"remove": "¿Quitar {name}?",
|
|
29
|
+
"revoke": "¿Revocar {name}?",
|
|
30
|
+
"clear": "¿Borrar {name}?",
|
|
31
|
+
"destroy": "¿Destruir {name}?"
|
|
32
|
+
},
|
|
33
|
+
"reconfigureHint": "Puedes volver a configurarlo más tarde."
|
|
34
|
+
},
|
|
35
|
+
"copied": "Copiado al portapapeles",
|
|
36
|
+
"disconnect": "Desconectar",
|
|
37
|
+
"copyFailed": "No se pudo copiar al portapapeles",
|
|
38
|
+
"revoke": "Revocar",
|
|
39
|
+
"clear": "Borrar",
|
|
40
|
+
"destroy": "Destruir",
|
|
41
|
+
"toast": {
|
|
42
|
+
"disconnected": "{name} desconectado",
|
|
43
|
+
"removed": "{name} eliminado",
|
|
44
|
+
"revoked": "{name} revocado",
|
|
45
|
+
"cleared": "{name} borrado",
|
|
46
|
+
"destroyed": "{name} destruido"
|
|
47
|
+
}
|
|
19
48
|
},
|
|
20
49
|
"nav": {
|
|
21
50
|
"menu": "Menú de navegación",
|
|
@@ -235,7 +264,11 @@
|
|
|
235
264
|
"module": "Módulo: {name}",
|
|
236
265
|
"buildSteps": "Pasos de build",
|
|
237
266
|
"reviewAndApprove": "Revisar y aprobar",
|
|
238
|
-
"clickToViewStep": "Haz clic para ver los detalles y la salida del paso"
|
|
267
|
+
"clickToViewStep": "Haz clic para ver los detalles y la salida del paso",
|
|
268
|
+
"startedToast": {
|
|
269
|
+
"title": "Ejecución iniciada",
|
|
270
|
+
"body": "Ejecutando \"{name}\"."
|
|
271
|
+
}
|
|
239
272
|
},
|
|
240
273
|
"epic": {
|
|
241
274
|
"label": "Épica",
|
|
@@ -260,7 +293,9 @@
|
|
|
260
293
|
"no_pr_to_merge": "No hay PR para fusionar",
|
|
261
294
|
"github_not_connected": "GitHub no conectado",
|
|
262
295
|
"bootstrap_not_retryable": "La inicialización no se puede reintentar",
|
|
263
|
-
"bootstrap_reference_missing": "La arquitectura de referencia ha desaparecido"
|
|
296
|
+
"bootstrap_reference_missing": "La arquitectura de referencia ha desaparecido",
|
|
297
|
+
"preset_unsatisfiable": "El preajuste de modelo no puede ejecutar esta canalización",
|
|
298
|
+
"visual_pipeline_no_frontend": "No hay frontend que probar"
|
|
264
299
|
},
|
|
265
300
|
"fallbackMessage": "Esta acción entra en conflicto con el estado actual.",
|
|
266
301
|
"providersUnconfigured": {
|
|
@@ -322,6 +357,10 @@
|
|
|
322
357
|
"step2": "Abre el archivo de credenciales que Codex escribió en ~/.codex/auth.json (en Windows %USERPROFILE%\\.codex\\auth.json).",
|
|
323
358
|
"step3": "Copia todo el contenido de auth.json, pégalo abajo y elige una contraseña personal para protegerlo."
|
|
324
359
|
}
|
|
360
|
+
},
|
|
361
|
+
"confirmDisconnect": {
|
|
362
|
+
"title": "¿Desconectar esta suscripción?",
|
|
363
|
+
"body": "Se desconectará tu suscripción de \"{vendor}\". Esta acción no se puede deshacer."
|
|
325
364
|
}
|
|
326
365
|
},
|
|
327
366
|
"inspector": {
|
|
@@ -392,12 +431,14 @@
|
|
|
392
431
|
"serveScript": "Script de servicio",
|
|
393
432
|
"servePort": "Puerto de servicio",
|
|
394
433
|
"mockMappingsPath": "Ruta de asignaciones de simulación",
|
|
434
|
+
"mockMappingsHint": "Directorio raíz de WireMock. Coloca los JSON de stub en una subcarpeta mappings/ dentro de él (y los cuerpos de respuesta en __files/), p. ej. mocks/mappings/. Una carpeta sin mappings/ dentro ejecuta un mock vacío.",
|
|
395
435
|
"envInjection": "Inyección de variables de entorno",
|
|
396
436
|
"envBuild": "En compilación",
|
|
397
437
|
"envRuntime": "En ejecución",
|
|
398
|
-
"envInjectionHint": "En compilación inyecta las URL del backend como variables de entorno de compilación; En ejecución las escribe en un shim de window.env.",
|
|
438
|
+
"envInjectionHint": "En compilación inyecta las URL del backend como variables de entorno de compilación; En ejecución las escribe en un shim de window.env. Ten en cuenta que tu herramienta de compilación puede exponer al navegador solo variables con prefijo (p. ej. VITE_), así que nombra los enlaces según su convención.",
|
|
399
439
|
"previewEnabled": "Activar vista previa navegable",
|
|
400
440
|
"previewHint": "Mantiene una vista previa servida en ejecución con una URL clicable. Solo en los entornos Local y Node.",
|
|
441
|
+
"previewUnsupported": "Este despliegue no puede alojar una vista previa navegable. Ejecuta en un despliegue Local o Node para mantener una vista previa servida con una URL clicable.",
|
|
401
442
|
"bindings": {
|
|
402
443
|
"title": "Vinculaciones del backend",
|
|
403
444
|
"hint": "Cada variable de entorno que el frontend lee para una URL upstream, y dónde se resuelve: el entorno efímero de un servicio vinculado, o un stub de WireMock.",
|
|
@@ -419,7 +460,8 @@
|
|
|
419
460
|
"saveMonitoring": "Guardar monitoreo",
|
|
420
461
|
"savedToast": "Monitoreo guardado",
|
|
421
462
|
"saveFailed": "No se pudo guardar la asignación",
|
|
422
|
-
"clearFailed": "No se pudo limpiar la asignación"
|
|
463
|
+
"clearFailed": "No se pudo limpiar la asignación",
|
|
464
|
+
"configNoun": "la configuración de salud de la versión"
|
|
423
465
|
},
|
|
424
466
|
"testConfig": {
|
|
425
467
|
"title": "Infraestructura de pruebas",
|
|
@@ -514,7 +556,11 @@
|
|
|
514
556
|
"merged": "Fusionado",
|
|
515
557
|
"notMerged": "Aún sin fusionar",
|
|
516
558
|
"empty": "Sin dependencias. Puede ejecutarse en cualquier momento.",
|
|
517
|
-
"blocked": "Bloqueado hasta que se fusionen las dependencias."
|
|
559
|
+
"blocked": "Bloqueado hasta que se fusionen las dependencias.",
|
|
560
|
+
"confirmRemove": {
|
|
561
|
+
"title": "¿Quitar esta dependencia?",
|
|
562
|
+
"body": "Esta tarea ya no esperará a \"{name}\"."
|
|
563
|
+
}
|
|
518
564
|
},
|
|
519
565
|
"estimate": {
|
|
520
566
|
"title": "Estimación",
|
|
@@ -559,7 +605,11 @@
|
|
|
559
605
|
"companionOf": "{label} (acompañante)",
|
|
560
606
|
"merged": "Fusionado",
|
|
561
607
|
"open": "Abierto",
|
|
562
|
-
"mergePr": "Fusionar PR"
|
|
608
|
+
"mergePr": "Fusionar PR",
|
|
609
|
+
"empty": {
|
|
610
|
+
"title": "Aún no hay ejecuciones",
|
|
611
|
+
"body": "Inicia un pipeline para ver el historial de ejecución aquí."
|
|
612
|
+
}
|
|
563
613
|
},
|
|
564
614
|
"structure": {
|
|
565
615
|
"module": "Módulo",
|
|
@@ -689,7 +739,9 @@
|
|
|
689
739
|
"done": "Finalizando"
|
|
690
740
|
},
|
|
691
741
|
"id": "Contenedor",
|
|
692
|
-
"url": "Dirección"
|
|
742
|
+
"url": "Dirección",
|
|
743
|
+
"copyId": "Copiar id del contenedor",
|
|
744
|
+
"copyUrl": "Copiar dirección"
|
|
693
745
|
}
|
|
694
746
|
},
|
|
695
747
|
"stepDetail": {
|
|
@@ -759,7 +811,25 @@
|
|
|
759
811
|
"viewRequirements": "Ver requisitos",
|
|
760
812
|
"reRun": "Reejecutar",
|
|
761
813
|
"run": "Ejecutar",
|
|
762
|
-
"focus": "Enfocar"
|
|
814
|
+
"focus": "Enfocar",
|
|
815
|
+
"confirmDelete": {
|
|
816
|
+
"task": {
|
|
817
|
+
"title": "¿Eliminar esta tarea?",
|
|
818
|
+
"body": "Se eliminarán \"{name}\" y su historial de ejecución. Esta acción no se puede deshacer."
|
|
819
|
+
},
|
|
820
|
+
"module": {
|
|
821
|
+
"title": "¿Eliminar este módulo?",
|
|
822
|
+
"body": "Se eliminará \"{name}\" y todo su contenido. Esta acción no se puede deshacer."
|
|
823
|
+
},
|
|
824
|
+
"service": {
|
|
825
|
+
"title": "¿Eliminar este servicio?",
|
|
826
|
+
"body": "Se eliminará \"{name}\" y todo su contenido. Esta acción no se puede deshacer."
|
|
827
|
+
},
|
|
828
|
+
"recurring": {
|
|
829
|
+
"title": "¿Eliminar este pipeline recurrente?",
|
|
830
|
+
"body": "Se eliminarán \"{name}\", su programación y su historial de ejecución. Esta acción no se puede deshacer."
|
|
831
|
+
}
|
|
832
|
+
}
|
|
763
833
|
}
|
|
764
834
|
},
|
|
765
835
|
"observability": {
|
|
@@ -1019,7 +1089,8 @@
|
|
|
1019
1089
|
"revokeInvite": "No se pudo revocar la invitación",
|
|
1020
1090
|
"connectEmail": "No se pudo conectar el remitente de correo",
|
|
1021
1091
|
"disconnectEmail": "No se pudo desconectar el remitente de correo"
|
|
1022
|
-
}
|
|
1092
|
+
},
|
|
1093
|
+
"emailNoun": "el envío de correo"
|
|
1023
1094
|
},
|
|
1024
1095
|
"boardSwitcher": {
|
|
1025
1096
|
"accountFallback": "Cuenta",
|
|
@@ -1063,6 +1134,10 @@
|
|
|
1063
1134
|
"openBoardFailed": "No se pudo abrir el tablero",
|
|
1064
1135
|
"boardDeleted": "Tablero eliminado",
|
|
1065
1136
|
"deleteBoardFailed": "No se pudo eliminar el tablero"
|
|
1137
|
+
},
|
|
1138
|
+
"confirmDelete": {
|
|
1139
|
+
"title": "¿Eliminar este tablero?",
|
|
1140
|
+
"body": "Se eliminará \"{name}\" y todo su contenido. Esta acción no se puede deshacer."
|
|
1066
1141
|
}
|
|
1067
1142
|
},
|
|
1068
1143
|
"notifications": {
|
|
@@ -1084,6 +1159,10 @@
|
|
|
1084
1159
|
"human_review": "Marcar como leída",
|
|
1085
1160
|
"followup_pending": "Marcar como leída",
|
|
1086
1161
|
"markRead": "Marcar como leída"
|
|
1162
|
+
},
|
|
1163
|
+
"toast": {
|
|
1164
|
+
"acted": "Marcado como resuelto",
|
|
1165
|
+
"dismissed": "Descartado"
|
|
1087
1166
|
}
|
|
1088
1167
|
},
|
|
1089
1168
|
"aiProvidersBanner": {
|
|
@@ -1116,6 +1195,27 @@
|
|
|
1116
1195
|
"runner-pool": "Configurar grupo de ejecutores"
|
|
1117
1196
|
}
|
|
1118
1197
|
},
|
|
1198
|
+
"infraSetupBanner": {
|
|
1199
|
+
"agentExecutor": {
|
|
1200
|
+
"title": "Ejecutor de agentes no configurado",
|
|
1201
|
+
"body": "Este despliegue ejecuta los agentes en un pool de runners autoalojado, pero no hay ninguno registrado, así que ningún agente podrá ejecutarse hasta que conectes uno.",
|
|
1202
|
+
"action": "Configurar pool de runners"
|
|
1203
|
+
},
|
|
1204
|
+
"ephemeralEnvironments": {
|
|
1205
|
+
"title": "Entorno de pruebas no configurado",
|
|
1206
|
+
"body": "No hay ningún proveedor de entornos efímeros registrado, así que los agentes de pruebas que necesitan un entorno activo no pueden ejecutarse. Conecta uno para habilitarlos.",
|
|
1207
|
+
"action": "Configurar entorno"
|
|
1208
|
+
},
|
|
1209
|
+
"binaryStorage": {
|
|
1210
|
+
"title": "Almacenamiento de contenido no configurado",
|
|
1211
|
+
"body": "No hay ningún backend de almacenamiento binario configurado para esta cuenta, así que las capturas de la interfaz y las imágenes de referencia no tienen dónde guardarse y las comprobaciones visuales se omiten. Configura el almacenamiento para habilitarlas.",
|
|
1212
|
+
"action": "Configurar almacenamiento"
|
|
1213
|
+
},
|
|
1214
|
+
"dismiss": {
|
|
1215
|
+
"session": "Descartar durante esta sesión",
|
|
1216
|
+
"permanent": "Acepto las limitaciones, no volver a avisarme"
|
|
1217
|
+
}
|
|
1218
|
+
},
|
|
1119
1219
|
"spendWarningBanner": {
|
|
1120
1220
|
"title": "Límite de gasto alcanzado, ejecución de agentes en pausa",
|
|
1121
1221
|
"body": "El gasto de tokens de este mes ha alcanzado el presupuesto configurado, por lo que las canalizaciones en curso se pausaron para evitar más costes. La ejecución se reanuda automáticamente cuando el presupuesto se renueva el mes que viene, o una vez que se aumente el límite.",
|
|
@@ -1183,7 +1283,8 @@
|
|
|
1183
1283
|
"serviceFragmentDefaults": "Buenas prácticas del servicio por defecto",
|
|
1184
1284
|
"accountSettings": "Ajustes de la cuenta",
|
|
1185
1285
|
"localModels": "Mis ejecutores locales",
|
|
1186
|
-
"sandbox": "Abrir el entorno de pruebas"
|
|
1286
|
+
"sandbox": "Abrir el entorno de pruebas",
|
|
1287
|
+
"shortcuts": "Atajos de teclado"
|
|
1187
1288
|
},
|
|
1188
1289
|
"keywords": {
|
|
1189
1290
|
"newPipeline": "canalización agentes cadena pipeline",
|
|
@@ -1202,7 +1303,8 @@
|
|
|
1202
1303
|
"serviceFragmentDefaults": "fragmento buenas prácticas directriz servicio por defecto consciente del código",
|
|
1203
1304
|
"accountSettings": "cuenta equipo miembros roles invitaciones correo claves api fragmento buenas prácticas biblioteca contexto organización personal",
|
|
1204
1305
|
"localModels": "modelo local ejecutor ollama lm studio llamacpp vllm endpoint",
|
|
1205
|
-
"sandbox": "entorno de pruebas prompt modelo prueba experimento juez fixture benchmark evaluar"
|
|
1306
|
+
"sandbox": "entorno de pruebas prompt modelo prueba experimento juez fixture benchmark evaluar",
|
|
1307
|
+
"shortcuts": "atajos teclado teclas ayuda"
|
|
1206
1308
|
}
|
|
1207
1309
|
},
|
|
1208
1310
|
"integrationsHub": {
|
|
@@ -1275,6 +1377,13 @@
|
|
|
1275
1377
|
"description": "Tus ejecutores de modelos en tu propia máquina (Ollama, LM Studio, vLLM…)."
|
|
1276
1378
|
}
|
|
1277
1379
|
}
|
|
1380
|
+
},
|
|
1381
|
+
"shortcuts": {
|
|
1382
|
+
"title": "Atajos de teclado",
|
|
1383
|
+
"commandBar": "Abrir la barra de comandos",
|
|
1384
|
+
"deselect": "Deseleccionar / cerrar el inspector",
|
|
1385
|
+
"deleteBlock": "Eliminar el bloque seleccionado",
|
|
1386
|
+
"help": "Mostrar esta ayuda"
|
|
1278
1387
|
}
|
|
1279
1388
|
},
|
|
1280
1389
|
"settings": {
|
|
@@ -1317,6 +1426,10 @@
|
|
|
1317
1426
|
"nameRequiredTitle": "Nombre obligatorio",
|
|
1318
1427
|
"nameRequiredBody": "Dale un nombre al ajuste.",
|
|
1319
1428
|
"saveFailed": "No se pudo guardar el ajuste"
|
|
1429
|
+
},
|
|
1430
|
+
"confirmDelete": {
|
|
1431
|
+
"title": "¿Eliminar este preset de modelo?",
|
|
1432
|
+
"body": "Se eliminará \"{name}\". Las tareas que lo usan volverán al valor predeterminado del espacio de trabajo."
|
|
1320
1433
|
}
|
|
1321
1434
|
},
|
|
1322
1435
|
"account": {
|
|
@@ -1536,6 +1649,10 @@
|
|
|
1536
1649
|
"saveFailed": "No se pudo guardar el secreto",
|
|
1537
1650
|
"removed": "Secreto eliminado",
|
|
1538
1651
|
"removeFailed": "No se pudo eliminar el secreto"
|
|
1652
|
+
},
|
|
1653
|
+
"confirmRemove": {
|
|
1654
|
+
"title": "¿Quitar este secreto?",
|
|
1655
|
+
"body": "Se eliminará \"{name}\". Esta acción no se puede deshacer."
|
|
1539
1656
|
}
|
|
1540
1657
|
},
|
|
1541
1658
|
"mergeThresholds": {
|
|
@@ -1582,7 +1699,11 @@
|
|
|
1582
1699
|
"deleteFailed": "No se pudo eliminar el ajuste"
|
|
1583
1700
|
},
|
|
1584
1701
|
"autoMergeOnHint": "Fusionar automáticamente cuando esté dentro de los umbrales.",
|
|
1585
|
-
"autoMergeOffHint": "Enviar siempre el PR a revisión humana."
|
|
1702
|
+
"autoMergeOffHint": "Enviar siempre el PR a revisión humana.",
|
|
1703
|
+
"confirmDelete": {
|
|
1704
|
+
"title": "¿Eliminar este preset de fusión?",
|
|
1705
|
+
"body": "Se eliminará \"{name}\". Las tareas que lo usan volverán al valor predeterminado del espacio de trabajo."
|
|
1706
|
+
}
|
|
1586
1707
|
},
|
|
1587
1708
|
"observabilityConnection": {
|
|
1588
1709
|
"title": "Salud posterior al lanzamiento",
|
|
@@ -1622,7 +1743,9 @@
|
|
|
1622
1743
|
"connected": "Observabilidad conectada",
|
|
1623
1744
|
"connectFailed": "No se pudo guardar la conexión",
|
|
1624
1745
|
"disconnectFailed": "No se pudo desconectar"
|
|
1625
|
-
}
|
|
1746
|
+
},
|
|
1747
|
+
"connectionNoun": "la conexión de observabilidad",
|
|
1748
|
+
"incidentNoun": "el proveedor de incidencias"
|
|
1626
1749
|
},
|
|
1627
1750
|
"localMode": {
|
|
1628
1751
|
"title": "Modo local",
|
|
@@ -1789,6 +1912,10 @@
|
|
|
1789
1912
|
"saveFailed": "No se pudo guardar el runner",
|
|
1790
1913
|
"removed": "Runner eliminado",
|
|
1791
1914
|
"removeFailed": "No se pudo eliminar el runner"
|
|
1915
|
+
},
|
|
1916
|
+
"confirmRemove": {
|
|
1917
|
+
"title": "¿Quitar este runner?",
|
|
1918
|
+
"body": "Se eliminará \"{name}\". Esta acción no se puede deshacer."
|
|
1792
1919
|
}
|
|
1793
1920
|
},
|
|
1794
1921
|
"infrastructure": {
|
|
@@ -1823,6 +1950,9 @@
|
|
|
1823
1950
|
"apiServerUrlHelp": "La raíz del kube-apiserver, p. ej. https://my-cluster.example:6443.",
|
|
1824
1951
|
"apiToken": "Token de ServiceAccount",
|
|
1825
1952
|
"apiTokenHelp": "Solo escritura; vuelve a introducirlo para rotarlo. Se guarda cifrado y nunca se devuelve.",
|
|
1953
|
+
"apiTokenHelpStored": "Hay un token guardado que se reutiliza para las pruebas. Déjalo en blanco para conservarlo o introduce uno nuevo para reemplazarlo.",
|
|
1954
|
+
"apiTokenPlaceholderStored": "Déjalo en blanco para conservar el token guardado",
|
|
1955
|
+
"tokenSaved": "Guardado",
|
|
1826
1956
|
"urlSourceLabel": "Origen de la URL del entorno",
|
|
1827
1957
|
"urlIngressTemplate": "Plantilla de host de Ingress",
|
|
1828
1958
|
"urlIngressStatus": "Estado de Ingress",
|
|
@@ -1875,6 +2005,9 @@
|
|
|
1875
2005
|
"handler": {
|
|
1876
2006
|
"intro": "Configura cómo se gestiona cada tipo de aprovisionamiento que declara un servicio: el motor y la conexión. Los manifiestos o la ruta de compose de un servicio (el qué/dónde) se definen en el servicio.",
|
|
1877
2007
|
"activeEngine": "Motor:",
|
|
2008
|
+
"connectionEstablished": "Conexión establecida",
|
|
2009
|
+
"notConnected": "Aún no hay ninguna conexión configurada",
|
|
2010
|
+
"disconnect": "Eliminar conexión",
|
|
1878
2011
|
"engineLabel": "Motor",
|
|
1879
2012
|
"customHandlerTitle": "Gestor remote-custom",
|
|
1880
2013
|
"customTypeLabel": "Tipo personalizado",
|
|
@@ -1888,7 +2021,10 @@
|
|
|
1888
2021
|
"overrideActive": "Activa",
|
|
1889
2022
|
"personalOverrideHint": "Anula el gestor del espacio de trabajo para este tipo de aprovisionamiento en tu propia máquina. Se guarda por usuario.",
|
|
1890
2023
|
"removeOverride": "Quitar anulación",
|
|
1891
|
-
"loading": "Cargando la configuración de infraestructura…"
|
|
2024
|
+
"loading": "Cargando la configuración de infraestructura…",
|
|
2025
|
+
"kubeNoun": "el controlador de Kubernetes",
|
|
2026
|
+
"kubeOverrideNoun": "la anulación de Kubernetes",
|
|
2027
|
+
"customNoun": "este controlador"
|
|
1892
2028
|
}
|
|
1893
2029
|
}
|
|
1894
2030
|
},
|
|
@@ -2012,7 +2148,8 @@
|
|
|
2012
2148
|
"step1": "Genera una clave virtual en tu pasarela LiteLLM (o usa su clave maestra).",
|
|
2013
2149
|
"step2": "La URL base de la pasarela la establece el operador de tu despliegue (LITELLM_BASE_URL), no aquí."
|
|
2014
2150
|
}
|
|
2015
|
-
}
|
|
2151
|
+
},
|
|
2152
|
+
"keyNoun": "esta clave de API"
|
|
2016
2153
|
},
|
|
2017
2154
|
"vendorCredentials": {
|
|
2018
2155
|
"title": "Proveedores de LLM",
|
|
@@ -2050,6 +2187,10 @@
|
|
|
2050
2187
|
"step2": "Copia la clave de API. Los pasos de agente se ejecutarán vía Claude Code contra el endpoint de Anthropic de DeepSeek con contexto completo.",
|
|
2051
2188
|
"step3": "Pega la clave abajo."
|
|
2052
2189
|
}
|
|
2190
|
+
},
|
|
2191
|
+
"confirmRemove": {
|
|
2192
|
+
"title": "¿Quitar esta credencial?",
|
|
2193
|
+
"body": "Se eliminará \"{name}\". Esta acción no se puede deshacer."
|
|
2053
2194
|
}
|
|
2054
2195
|
}
|
|
2055
2196
|
},
|
|
@@ -2146,6 +2287,10 @@
|
|
|
2146
2287
|
"createBranch": "No se pudo crear la rama",
|
|
2147
2288
|
"openPr": "No se pudo abrir la solicitud de incorporación de cambios",
|
|
2148
2289
|
"merge": "No se pudo fusionar"
|
|
2290
|
+
},
|
|
2291
|
+
"confirmDisconnect": {
|
|
2292
|
+
"title": "¿Desconectar GitHub?",
|
|
2293
|
+
"body": "La app perderá acceso a tus repositorios hasta que vuelvas a conectar."
|
|
2149
2294
|
}
|
|
2150
2295
|
},
|
|
2151
2296
|
"addService": {
|
|
@@ -2254,6 +2399,10 @@
|
|
|
2254
2399
|
"disconnect": "No se pudo desconectar Slack",
|
|
2255
2400
|
"saveRouting": "No se pudo guardar el enrutamiento",
|
|
2256
2401
|
"saveMap": "No se pudo guardar el mapa de miembros"
|
|
2402
|
+
},
|
|
2403
|
+
"confirmDisconnect": {
|
|
2404
|
+
"title": "¿Desconectar Slack?",
|
|
2405
|
+
"body": "Las notificaciones de Slack se detendrán hasta que vuelvas a conectar."
|
|
2257
2406
|
}
|
|
2258
2407
|
},
|
|
2259
2408
|
"documents": {
|
|
@@ -2471,6 +2620,10 @@
|
|
|
2471
2620
|
"cloned": "Clonado \"{name}\" — ahora editando \"{copy}\"",
|
|
2472
2621
|
"cloneFailed": "No se pudo clonar el pipeline",
|
|
2473
2622
|
"updateFailed": "No se pudo actualizar el pipeline"
|
|
2623
|
+
},
|
|
2624
|
+
"confirmDeletePipeline": {
|
|
2625
|
+
"title": "¿Eliminar este pipeline?",
|
|
2626
|
+
"body": "Se eliminará \"{name}\". Esta acción no se puede deshacer."
|
|
2474
2627
|
}
|
|
2475
2628
|
},
|
|
2476
2629
|
"progress": {
|
|
@@ -3031,7 +3184,9 @@
|
|
|
3031
3184
|
"completed": "completado",
|
|
3032
3185
|
"failed": "fallido",
|
|
3033
3186
|
"inProgress": "en curso"
|
|
3034
|
-
}
|
|
3187
|
+
},
|
|
3188
|
+
"envNoun": "el entorno de prueba",
|
|
3189
|
+
"destroyFailed": "No se pudo destruir el entorno"
|
|
3035
3190
|
},
|
|
3036
3191
|
"testing": {
|
|
3037
3192
|
"title": "Informe de pruebas",
|
|
@@ -3380,6 +3535,10 @@
|
|
|
3380
3535
|
"checkSourceFailed": "No se pudo comprobar el origen",
|
|
3381
3536
|
"sourceUnlinked": "Origen desvinculado",
|
|
3382
3537
|
"unlinkSourceFailed": "No se pudo desvincular el origen"
|
|
3538
|
+
},
|
|
3539
|
+
"confirmRemove": {
|
|
3540
|
+
"title": "¿Eliminar este fragmento?",
|
|
3541
|
+
"body": "Se eliminará \"{name}\". Esta acción no se puede deshacer."
|
|
3383
3542
|
}
|
|
3384
3543
|
},
|
|
3385
3544
|
"sandbox": {
|