Files
openmaic/OpenMAIC/lib/i18n/locales/es-MX.json
T

1826 lines
86 KiB
JSON

{
"common": {
"you": "Tú",
"confirm": "Confirmar",
"cancel": "Cancelar",
"loading": "Cargando..."
},
"home": {
"slogan": "Aprendizaje generativo en un aula interactiva multiagente"
},
"toolbar": {
"pdfParser": "Analizador",
"pdfUpload": "Subir PDF",
"removePdf": "Quitar archivo",
"documentExtractor": "Extractor",
"courseMaterialUpload": "Subir material del curso",
"courseMaterialsSelected": "{{n}} materiales seleccionados",
"courseMaterialMergeOrder": "Los materiales se combinan en el orden que se muestra abajo.",
"removeCourseMaterial": "Quitar archivo",
"webSearchOn": "Activada",
"webSearchOff": "Haz clic para activar",
"webSearchDesc": "Busca en la web información actualizada antes de generar",
"webSearchProvider": "Motor de búsqueda",
"webSearchNoProvider": "Configura la clave API de búsqueda en Configuración",
"selectProvider": "Seleccionar proveedor",
"configureProvider": "Configurar modelo",
"configureProviderHint": "Configura al menos un proveedor de modelos para generar cursos",
"enterClassroom": "Entrar al aula",
"advancedSettings": "Configuración avanzada",
"thinking": "Razonamiento",
"thinkingBudget": "Presupuesto",
"default": "Predeterminado",
"on": "Activado",
"off": "Desactivado",
"auto": "Auto",
"dynamic": "Dinámico",
"ttsTitle": "Texto a voz",
"ttsHint": "Elige una voz para el maestro de IA",
"ttsPreview": "Probar",
"ttsPreviewing": "Reproduciendo...",
"interactiveModeHint": "Activa el modo interactivo para obtener contenido más práctico",
"interactiveModeLabel": "Modo interactivo"
},
"export": {
"pptx": "Exportar PPTX",
"resourcePack": "Exportar paquete de recursos",
"resourcePackDesc": "PPTX + páginas interactivas",
"exporting": "Exportando...",
"exportSuccess": "Exportación exitosa",
"exportFailed": "Error al exportar",
"classroomZip": "Exportar ZIP del aula",
"classroomZipDesc": "Estructura del curso + archivos multimedia",
"inlinePartial": "No se pudieron empaquetar {{count}} recurso(s) externo(s); es posible que el curso no se muestre correctamente sin conexión.",
"video": "Exportar video",
"videoDesc": "Proyecto Hyperframes autocontenido (renderizar a MP4)",
"videoNoScenes": "No hay escenas disponibles para exportar.",
"videoCompiling": "Compilando la línea de tiempo del video...",
"videoRendering": "Renderizando diapositivas y recopilando recursos...",
"videoPackaging": "Empaquetando el proyecto de video...",
"videoSuccess": "Proyecto de video exportado",
"videoFailed": "Error al exportar el video",
"videoWarnings": "{{assets}} recurso(s) faltante(s) y {{diagnostics}} problema(s) en el reporte de exportación.",
"videoMp4Success": "Video renderizado",
"videoServiceUnavailable": "Servicio de renderizado no configurado — se descargó el ZIP del proyecto para renderizar en tu equipo.",
"videoResolution": "Resolución",
"videoFps": "Cuadros por segundo",
"videoQuality": "Calidad",
"videoQuality_draft": "Borrador",
"videoQuality_standard": "Estándar",
"videoQuality_high": "Alta",
"videoProgress": "{{percent}}%",
"videoProgressWithEta": "{{percent}}% · quedan unos {{remaining}}",
"videoEtaMinSec": "{{min}} min {{sec}} seg",
"videoEtaSec": "{{sec}} seg",
"videoRenderMp4": "Renderizar MP4",
"videoDownloadZip": "Descargar ZIP del proyecto",
"videoServiceHint": "Renderizar a MP4 necesita el servicio de renderizado. Descarga el ZIP para renderizar en tu equipo.",
"videoBurnSubtitles": "Incrustar subtítulos",
"videoBurnSubtitlesDesc": "Desactivado: exporta un video limpio y agrega el archivo de subtítulos en tu editor.",
"videoQuizCtaPrompt": "¿Quieres probar un cuestionario interactivo?",
"videoPblCtaPrompt": "¿Quieres explorar el aprendizaje basado en proyectos?",
"videoCtaVisit": "Visita",
"videoDownloadSubtitles": "Descargar subtítulos (.srt)",
"subtitlesCompiling": "Compilando subtítulos...",
"subtitlesSuccess": "Subtítulos descargados",
"subtitlesEmpty": "No hay narración para generar subtítulos",
"subtitlesFailed": "Error al descargar los subtítulos",
"noSlides": "No hay diapositivas para exportar",
"noSlidesSkipped": "Este curso no tiene diapositivas — se omitió el PPTX",
"nothingToExport": "Nada que exportar"
},
"import": {
"classroom": "Importar aula",
"pptx": "Importar PPTX",
"parsing": "Analizando ZIP...",
"parsingPptx": "Analizando PPTX...",
"validating": "Validando datos...",
"writingMedia": "Escribiendo archivos multimedia...",
"writingCourse": "Escribiendo datos del curso...",
"success": "Aula importada correctamente",
"pptxSuccess": "PPTX analizado correctamente ({{count}} diapositivas, salida registrada en la consola)",
"error": {
"invalidZip": "Archivo no válido. Selecciona un archivo .maic.zip válido.",
"invalidPptx": "No se pudo analizar el PPTX. Verifica que el archivo sea válido.",
"parserUnavailable": "La importación de PPTX no está disponible: el paquete del analizador no está desplegado. Vuelve a ejecutar install/sync.",
"invalidManifest": "Archivo de aula no válido: falta manifest.json o está dañado.",
"missingData": "Archivo de aula no válido: faltan datos requeridos del curso.",
"storageFull": "La importación falló: el almacenamiento del navegador está lleno. Intenta eliminar aulas antiguas."
}
},
"chat": {
"lecture": "Clase",
"noConversations": "Sin conversaciones",
"startConversation": "Escribe un mensaje abajo para comenzar a chatear",
"noMessages": "Aún no hay mensajes",
"ended": "finalizó",
"unknown": "Desconocido",
"stopDiscussion": "Detener debate",
"endQA": "Terminar Q&A",
"softClosing": "Continuar debate",
"error": {
"emptyAgentResponses": "Los agentes devolvieron respuestas vacías; el debate se detuvo. Inténtalo de nuevo o revisa la configuración de tu modelo.",
"streamInterrupted": "El streaming terminó inesperadamente; el debate no se completó. Inténtalo de nuevo."
},
"tabs": {
"lecture": "Notas",
"chat": "Chat"
},
"lectureNotes": {
"empty": "Las notas aparecerán aquí después de reproducir la clase",
"emptyHint": "Presiona reproducir para iniciar la clase",
"pageLabel": "Página {{n}}",
"currentPage": "Actual",
"jumpToLine": "Ir a esta línea",
"jumpUnavailable": "No se puede saltar a esta línea"
},
"badge": {
"qa": "Q&A",
"discussion": "DEB",
"lecture": "CLASE"
}
},
"actions": {
"names": {
"spotlight": "Foco",
"laser": "Láser",
"wb_open": "Abrir pizarrón",
"wb_draw_text": "Texto en pizarrón",
"wb_draw_shape": "Figura en pizarrón",
"wb_draw_chart": "Gráfica en pizarrón",
"wb_draw_latex": "Fórmula en pizarrón",
"wb_draw_table": "Tabla en pizarrón",
"wb_draw_line": "Línea en pizarrón",
"wb_clear": "Limpiar pizarrón",
"wb_delete": "Eliminar elemento",
"wb_close": "Cerrar pizarrón",
"discussion": "Debate"
},
"status": {
"inputStreaming": "En espera",
"inputAvailable": "Ejecutando",
"outputAvailable": "Completado",
"outputError": "Error",
"outputDenied": "Denegado",
"running": "Ejecutando",
"result": "Completado",
"error": "Error"
}
},
"agentBar": {
"readyToLearn": "¿Aprendemos juntos?",
"expandedTitle": "Configuración de roles del aula",
"configTooltip": "Haz clic para configurar los roles del aula",
"voiceLabel": "Voz",
"voiceLoading": "Cargando...",
"voiceAutoAssign": "Las voces se asignarán automáticamente",
"searchVoice": "Buscar voces",
"noMatchingVoices": "No hay voces que coincidan",
"noVoice": "Sin voz"
},
"proactiveCard": {
"discussion": "Debate",
"join": "Unirme",
"skip": "Omitir",
"pause": "Pausar",
"resume": "Reanudar"
},
"voice": {
"startListening": "Entrada de voz",
"stopListening": "Detener grabación"
},
"stage": {
"currentScene": "Escena actual",
"generating": "Generando...",
"paused": "En pausa",
"generationFailed": "Falló la generación",
"confirmSwitchTitle": "Cambiar de escena",
"confirmSwitchMessage": "Hay un tema en curso. Cambiar de escena terminará el tema actual. ¿Quieres continuar?",
"generatingNextPage": "La escena se está generando, espera un momento...",
"courseComplete": "Curso completado",
"fullscreen": "Pantalla completa",
"exitFullscreen": "Salir de pantalla completa",
"editCourse": "Editar curso",
"doneEditing": "Terminar edición",
"proModeDisabledHint": "La edición no está disponible en esta página — abre una diapositiva del curso para editar con el modo Pro."
},
"edit": {
"proMode": "Pro",
"undo": "Deshacer",
"redo": "Rehacer",
"delete": "Eliminar",
"title": "Editando · {{type}}",
"unsupportedScene": "{{type}} aún no se puede editar",
"readOnlyBadge": "{{type}} · solo lectura",
"sceneType": {
"slide": "Diapositiva",
"quiz": "Cuestionario",
"interactive": "Interactivo",
"pbl": "ABP"
},
"multiTab": {
"conflict": {
"title": "Otra pestaña está editando este curso",
"body": "La edición está limitada a una sola pestaña para evitar cambios en conflicto. Cierra la otra pestaña (o espera a que su sesión expire) antes de entrar al modo de edición aquí.",
"actionDismiss": "Entendido"
}
},
"text": {
"toolbar": "Barra de texto",
"label": "Texto",
"font": "Fuente",
"fontDefault": "Predeterminada",
"sizeUp": "Aumentar tamaño",
"sizeDown": "Reducir tamaño",
"fontSize": "Tamaño de fuente",
"bold": "Negrita",
"italic": "Cursiva",
"underline": "Subrayado",
"color": "Color de texto",
"alignLeft": "Alinear a la izquierda",
"alignCenter": "Centrar",
"alignRight": "Alinear a la derecha",
"bullet": "Lista con viñetas",
"colorHex": "Código de color"
},
"line": {
"toolbar": "Barra de línea",
"kind": "Tipo de línea",
"color": "Color de línea",
"width": "Grosor de línea",
"style": "Estilo de línea",
"start": "Estilo inicial",
"end": "Estilo final",
"straight": "Recta",
"broken": "Quebrada",
"broken2": "Quebrada doble",
"curve": "Curva",
"cubic": "Curva cúbica",
"solid": "Sólida",
"dashed": "Discontinua",
"dotted": "Punteada",
"none": "Ninguno",
"arrow": "Flecha",
"dot": "Punto"
},
"insert": {
"toolbar": "Barra de inserción",
"textBox": "Cuadro de texto",
"line": "Línea",
"linePresets": {
"straight": "Línea recta",
"dashed": "Línea discontinua",
"arrow": "Línea con flecha",
"dashedArrow": "Línea discontinua con flecha",
"dottedEnd": "Línea con extremo de punto",
"broken": "Línea quebrada",
"doubleBroken": "Línea con doble quiebre",
"curve": "Curva",
"cubic": "Curva cúbica"
},
"table": "Tabla",
"formula": "Fórmula",
"chart": "Gráfica",
"chartBar": "Gráfica de barras",
"chartLine": "Gráfica de líneas",
"chartPie": "Gráfica circular",
"tableDimensions": "Tabla {{rows}} x {{columns}}",
"dragToolbar": "Mover herramientas de inserción",
"dragToolbarKeyboard": "Mover herramientas de inserción: presiona Enter o Espacio y luego usa las flechas",
"image": "Imagen",
"imageDrop": "Suelta una imagen o haz clic para elegir un archivo",
"imageOr": "o pega la URL de una imagen",
"imageUrlPlaceholder": "https://…",
"imageInsert": "Insertar",
"video": "Video",
"videoDrop": "Suelta un video o haz clic para elegir un archivo",
"videoOr": "o pega la URL de un video",
"videoUrlPlaceholder": "https://…",
"videoInsert": "Insertar",
"audio": "Audio",
"audioDrop": "Suelta un audio o haz clic para elegir un archivo",
"audioOr": "o pega la URL de un audio",
"audioUrlPlaceholder": "https://…",
"audioInsert": "Insertar"
},
"asset": {
"drop": "Arrastra un archivo o haz clic para elegir",
"orUrl": "o pega la URL del archivo",
"urlPlaceholder": "https://…",
"insert": "Insertar",
"invalidType": "Tipo de archivo no compatible",
"readFailed": "No se pudo leer el archivo"
},
"latex": {
"toolbar": "Barra de fórmulas",
"editFormula": "Editar fórmula",
"dialog": "Editor de fórmulas",
"source": "Código fuente LaTeX",
"preview": "Vista previa",
"symbols": "Símbolos",
"presets": "Fórmulas predefinidas",
"invalidSource": "El código fuente LaTeX no es válido."
},
"video": {
"toolbar": "Barra de video",
"poster": "Establecer portada"
},
"audio": {
"toolbar": "Barra de audio",
"preview": "Escuchar audio",
"pause": "Pausar vista previa",
"loop": "Repetir"
},
"table": {
"doubleClickToEdit": "Haz doble clic para editar"
},
"nav": {
"addSlide": "Agregar diapositiva",
"duplicate": "Duplicar",
"delete": "Eliminar",
"deleted": "Eliminada",
"undo": "Deshacer",
"copySuffix": "(copia)",
"untitledSlide": "Diapositiva sin título",
"collapse": "Contraer panel",
"expand": "Expandir panel",
"dragHandle": "Arrastra para reordenar",
"deckLabel": "Escenas",
"moreActions": "Más acciones",
"rename": "Renombrar",
"sceneIncomplete": "Esta página tiene contenido incompleto"
},
"zorder": {
"toFront": "Traer al frente",
"toBack": "Enviar al fondo"
},
"image": {
"toolbar": "Barra de imagen",
"replace": "Reemplazar imagen",
"flipH": "Voltear horizontal",
"flipV": "Voltear vertical",
"crop": "Recortar imagen"
},
"contextMenu": {
"horizontalAlignment": "Alineación horizontal",
"verticalAlignment": "Alineación vertical",
"selectAll": "Seleccionar todo",
"copy": "Copiar",
"cut": "Cortar",
"paste": "Pegar",
"unlock": "Desbloquear",
"lock": "Bloquear",
"group": "Agrupar",
"ungroup": "Desagrupar",
"bringForward": "Traer adelante",
"sendBackward": "Enviar atrás",
"alignTop": "Alinear arriba",
"alignMiddle": "Alinear al medio",
"alignBottom": "Alinear abajo"
},
"background": {
"label": "Fondo",
"solid": "Sólido",
"image": "Imagen",
"color": "Color"
},
"common": {
"cancel": "Cancelar",
"confirm": "Confirmar"
},
"quiz": {
"addQuestion": "Agregar pregunta",
"reorder": "Arrastra para reordenar",
"deleteQuestion": "Eliminar pregunta",
"untitledQuestion": "Pregunta sin título",
"questionLabel": "Pregunta",
"questionPlaceholder": "Escribe la pregunta…",
"typeLabel": "Tipo",
"pointsLabel": "Puntos",
"optionsLabel": "Opciones",
"optionPlaceholder": "Texto de la opción",
"addOption": "Agregar opción",
"deleteOption": "Quitar opción",
"markCorrect": "Marcar como respuesta correcta",
"moveUp": "Subir",
"moveDown": "Bajar",
"analysisLabel": "Explicación",
"analysisPlaceholder": "Se muestra después de calificar la pregunta…",
"commentPromptLabel": "Guía de calificación",
"commentPromptPlaceholder": "¿Cómo se debe calificar esta respuesta abierta?",
"empty": "Aún no hay preguntas",
"emptyHint": "Usa “Agregar pregunta” para crear la primera.",
"type": {
"single": "Opción única",
"multiple": "Opción múltiple",
"short_answer": "Respuesta corta"
},
"shortAnswerGradingNote": "Las respuestas cortas siempre las califica la IA según la guía de abajo.",
"hint": {
"emptyText": "Pregunta {{n}}: agrega el texto de la pregunta",
"fewOptions": "Pregunta {{n}}: agrega al menos dos opciones",
"emptyOption": "Pregunta {{n}}: hay una opción sin texto",
"noCorrect": "Pregunta {{n}}: marca una respuesta correcta"
}
},
"cue": {
"speech": "Narración",
"spotlight": "Foco",
"laser": "Láser",
"whiteboardOpen": "Pizarrón",
"whiteboardText": "Escritura",
"whiteboardShape": "Forma",
"whiteboardLatex": "Fórmula",
"whiteboardTable": "Tabla",
"action": "Acción",
"discussion": "Discusión"
},
"element": {
"toolbar": "Barra de elementos",
"text": "Texto",
"image": "Imagen",
"shape": "Forma",
"line": "Línea",
"chart": "Gráfica",
"table": "Tabla",
"latex": "Fórmula",
"video": "Video",
"audio": "Audio",
"code": "Código"
},
"agent": {
"expand": "Expandir asistente IA",
"collapse": "Contraer",
"stopped": "Detenido",
"emptyTitle": "¿Qué te gustaría cambiar?",
"emptyHint": "Después de editar esta diapositiva en el lienzo, deja que la IA regenere una narración acorde al contenido.",
"placeholder": "Describe tus cambios para esta diapositiva…",
"stop": "Detener generación",
"empty": {
"lead": "Dime cómo cambiar esta diapositiva: rehago el contenido y realineo la narración.",
"boundary": "Para ediciones finas usa el editor; agrega, elimina o reordena diapositivas desde el panel izquierdo.",
"comingSoon": "Pronto habrá más capacidades."
},
"interactive": {
"emptyTitle": "¿Qué hay que arreglar en esta página?",
"lead": "Describe un error de esta página interactiva —p. ej., un botón que no hace nada— y arreglo solo eso, sin tocar lo demás.",
"placeholder": "Describe el error de esta página interactiva…",
"boundary": "Hago correcciones puntuales en la página; no la reconstruyo por completo. Cambia de escena desde el panel izquierdo."
},
"cap": {
"content": {
"label": "Regenerar la diapositiva",
"examples": "“Resume en 3 puntos”, “Agrega un ejemplo real”"
},
"narration": {
"label": "Regenerar el guion de narración",
"examples": "“Hazla más conversacional”, “Alinéala con mis cambios del lienzo”"
},
"fixHtml": {
"label": "Corregir un error de la página",
"examples": "“El botón de inicio no hace nada”, “Los paneles se enciman en el celular”"
},
"elements": {
"label": "Ajustar elementos seleccionados",
"examples": "“Pon el título en azul y súbelo”, “Haz esta figura más pequeña”"
}
},
"newConversation": "Nueva conversación",
"sessionHistory": "Historial",
"sessionUntitled": "Chat sin título",
"sessionDelete": "Eliminar",
"sessionEmpty": "No hay conversaciones anteriores",
"thinking": "Pensando…",
"reasoning": "Razonamiento",
"thought": "Pensó durante",
"title": "Editar con IA"
},
"timeline": {
"title": "Guion de narración",
"regenAllTts": "Regenerar toda la voz",
"voiceAll": "Dar voz a todo",
"counts": "{{speech}} narraciones · {{cue}} señales",
"panLeft": "Desplazar a la izquierda",
"panRight": "Desplazar a la derecha",
"collapseAxis": "Contraer al eje",
"expandTrack": "Expandir pista",
"emptyHint": "Arrastra acciones al eje para empezar, o deja que MAIC Agent genere la narración.",
"speechPlaceholder": "Escribe esta línea de narración…",
"reorder": "Arrastra para reordenar",
"moveLeft": "Mover a la izquierda",
"moveRight": "Mover a la derecha",
"pickElement": "Elegir elemento",
"bound": "Vinculado",
"fieldAction": "Acción",
"fieldElement": "Elemento",
"fieldContent": "Contenido",
"addDiscussionExists": "Solo una discusión por escena",
"discussionTerminal": "FIN",
"discussionTerminalHint": "La discusión permanece al final de la escena (una por escena)",
"discussionTopicPlaceholder": "Tema de discusión (obligatorio)",
"discussionPromptPlaceholder": "Prompt de guía (opcional)",
"discussionAgent": "Iniciador",
"discussionAgentUnset": "Sin especificar",
"addAction": "Agregar acción"
},
"picker": {
"title": "Insertar acción",
"speechDesc": "Di una línea — puede generar voz automática",
"spotlightDesc": "Resalta un elemento en el lienzo",
"laserDesc": "Apunta con láser a un elemento",
"discussionDesc": "Plantea una pregunta y elige quién empieza"
},
"tts": {
"preview": "Vista previa",
"regenerate": "Regenerar voz",
"statusReady": "Con voz",
"statusNone": "Sin voz",
"statusGenerating": "Generando",
"statusError": "Error"
},
"pick": {
"pickFor": "Elige un elemento para \"{{label}}\"",
"pickHint": "Haz clic en un elemento resaltado o en la lista de abajo · Esc para cancelar",
"pageElements": "Elementos de la página · {{count}}",
"expand": "Expandir",
"collapse": "Contraer",
"noElements": "No hay elementos localizables en esta diapositiva.",
"bindHint": "Haz clic en un elemento resaltado del lienzo para vincularlo"
},
"regen": {
"title": "Regenerar narración",
"running": "Generando…",
"noActions": "No se generaron acciones",
"actionsCount": "{{count}} acciones",
"generating": "Generando",
"notGenerated": "Sin generar",
"updated": "Actualizado"
},
"regenScene": {
"title": "Regenerar diapositiva",
"generating": "Generando",
"updated": "Actualizada",
"notGenerated": "Sin generar",
"elementsCount": "{{count}} elementos",
"restore": "Restaurar anterior",
"restored": "Restaurada",
"resume": "Reanudar"
},
"fixHtml": {
"title": "Corregir página interactiva",
"fixing": "Corrigiendo",
"fixed": "Corregida",
"notFixed": "Sin corregir",
"editsCount": "{{count}} edición(es)"
},
"readCard": {
"title": "Leer contenido de la diapositiva",
"reading": "Leyendo",
"done": "Leído",
"failed": "Sin leer"
},
"editElements": {
"title": "Editar elementos",
"editing": "Editando",
"applied": "Aplicado",
"notApplied": "Sin aplicar",
"applyFailed": "El editor no pudo aplicar la edición del elemento. No se cambió nada.",
"applyPartiallyFailed": "El editor no pudo aplicar una o más ediciones de elementos. Es posible que otras ediciones sí se hayan aplicado."
},
"roster": {
"title": "Elenco del aula",
"count": "{{count}} integrantes",
"editHint": "Haz clic en un integrante para editar",
"personaLabel": "Persona",
"personaPlaceholder": "Describe la personalidad, el estilo de enseñanza y las tareas del rol...",
"noPersona": "Sin persona todavía",
"unnamed": "Sin título",
"teacherBadge": "Principal",
"moveUp": "Mover arriba",
"moveDown": "Mover abajo",
"removeFromClass": "Quitar del aula",
"aiClassmates": "Compañeros de IA · {{count}}",
"addRole": "Agregar rol"
}
},
"classroomComplete": {
"title": "Curso completado",
"trailLabels": {
"slide": "páginas",
"quiz": "cuestionarios",
"interactive": "interactivos",
"pbl": "proyectos"
},
"quizScoreLabel": "{{correct}} / {{total}} correctas",
"encouragement": {
"high": "Sobresaliente — lo dominaste.",
"mid": "Buen trabajo — sigue así.",
"low": "Buen comienzo — repasa e inténtalo de nuevo."
}
},
"whiteboard": {
"title": "Pizarrón interactivo",
"open": "Abrir pizarrón",
"clear": "Limpiar pizarrón",
"minimize": "Minimizar pizarrón",
"ready": "El pizarrón está listo",
"readyHint": "Los elementos aparecerán aquí cuando la IA los agregue",
"clearSuccess": "El pizarrón se limpió correctamente",
"clearError": "Error al limpiar el pizarrón: ",
"resetView": "Restablecer vista",
"restoreError": "Error al restaurar el pizarrón: ",
"history": "Historial",
"restore": "Restaurar",
"noHistory": "Aún no hay historial",
"restored": "Pizarrón restaurado",
"elementCount": "{{count}} elementos"
},
"quiz": {
"title": "Cuestionario",
"subtitle": "Pon a prueba tus conocimientos",
"questionsCount": "preguntas",
"totalPrefix": "",
"pointsSuffix": "pts",
"startQuiz": "Iniciar cuestionario",
"multipleChoiceHint": "(Opción múltiple — selecciona todas las respuestas correctas)",
"inputPlaceholder": "Escribe tu respuesta aquí...",
"charCount": "caracteres",
"yourAnswer": "Tu respuesta:",
"notAnswered": "Sin responder",
"aiComment": "Retroalimentación de la IA",
"singleChoice": "Única",
"multipleChoice": "Múltiple",
"shortAnswer": "Respuesta corta",
"analysis": "Análisis: ",
"excellent": "¡Excelente!",
"keepGoing": "¡Sigue así!",
"needsReview": "Necesita repaso",
"correct": "correcta",
"incorrect": "incorrecta",
"answering": "En curso",
"submitAnswers": "Enviar respuestas",
"aiGrading": "La IA está calificando...",
"aiGradingWait": "Espera un momento, analizando tus respuestas",
"quizReport": "Reporte del cuestionario",
"retry": "Reintentar"
},
"roundtable": {
"teacher": "DOCENTE",
"you": "TÚ",
"inputPlaceholder": "Escribe tu mensaje...",
"listening": "Escuchando...",
"processing": "Procesando...",
"noSpeechDetected": "No se detectó voz, inténtalo de nuevo",
"discussionEnded": "Discusión finalizada",
"qaEnded": "Preguntas y respuestas finalizadas",
"thinking": "Pensando",
"yourTurn": "Tu turno",
"stopDiscussion": "Detener discusión",
"softClosing": "Continuar discusión",
"autoPlay": "Reproducción automática",
"autoPlayOff": "Detener reproducción automática",
"speed": "Velocidad",
"previousLine": "Línea anterior",
"nextLine": "Línea siguiente",
"lineProgress": "Línea {{current}} / {{total}}",
"voiceInput": "Entrada de voz",
"voiceInputDisabled": "Entrada de voz deshabilitada",
"textInput": "Entrada de texto",
"stopRecording": "Detener grabación",
"startRecording": "Iniciar grabación"
},
"pbl": {
"emptyProject": "El proyecto de ABP aún no se ha generado. Créalo desde la generación de cursos.",
"v2": {
"hero": {
"title": "Aprendizaje basado en proyectos",
"stage": "Etapas",
"task": "Tareas",
"tutor": "Tutor",
"greetingBanner": "Tu tutor te está saludando…",
"startProject": "Comenzar proyecto",
"continueProject": "Continuar proyecto",
"resetProgress": "Restablecer el progreso de aprendizaje",
"resetConfirmTitle": "¿Restablecer el progreso de aprendizaje?",
"resetConfirmDescription": "Esto borra todo el progreso de este proyecto — historial de chat, entregas y estado de las etapas — y empezarás desde el principio. No se puede deshacer.",
"resetConfirmConfirm": "Restablecer",
"resetConfirmCancel": "Cancelar",
"startHint": "Haz clic para entrar al espacio de trabajo. {{name}} te guiará por cada etapa.",
"startError": "No se pudo comenzar: {{error}}",
"youWillLearn": "Lo que te llevarás",
"instructorTagline": "Te guía a lo largo de todo el proyecto",
"scenarioCharacter": "Personaje del juego de roles",
"scenarioCharacterTagline": "El personaje con el que interactuarás en el escenario",
"scenarioFlow": "Flujo",
"close": "Cerrar"
},
"sidebar": {
"title": "Ruta del proyecto",
"summary": "{{completed}} / {{total}} tareas · {{stages}} etapas",
"enterScenario": "Entrar a la escena",
"advanceScene": "Avanzar la escena",
"continueScene": "Siguiente etapa",
"stagePrep": "Preparación",
"stageRoleplay": "Simulación",
"stageWrapup": "Cierre",
"completeAct": "Terminar este acto",
"completeTask": "Listo"
},
"workspace": {
"progressLabel": "Progreso",
"resizeSidebar": "Ajustar tamaño de la barra lateral y el chat",
"resizeSubmission": "Ajustar tamaño del chat y el panel de entregas",
"enterFullscreen": "Expandir a pantalla completa",
"exitFullscreen": "Salir del espacio de trabajo en pantalla completa",
"exitNativeFullscreen": "Salir de pantalla completa",
"returnToHero": "Volver al resumen del proyecto",
"breadcrumbOverview": "Resumen",
"breadcrumbCurrent": "Espacio de trabajo"
},
"chat": {
"placeholder": "Platica con {{name}} sobre tu avance...",
"placeholderCompleted": "Proyecto completado. Revisa tu reporte.",
"send": "Enviar",
"voiceInput": "Entrada de voz",
"keyboardHint": "Enter para enviar · Shift+Enter para salto de línea",
"readingSubmission": "Leyendo la entrega…",
"generatingMilestoneFeedback": "Generando retroalimentación del hito…",
"generatingFinalEval": "Generando la evaluación final…",
"readingSubmissionWithTitle": "Leyendo la última entrega de \"{{title}}\"…",
"evaluatingTask": "{{name}} · Revisando la tarea",
"evaluatingFinal": "{{name}} · Evaluación final",
"narrating": "Preparando la escena…",
"choosePrompt": "Elige una opción",
"choiceOrType": "Elige una, o escribe la tuya…",
"suggestionsToggle": "¿Necesitas ideas? Mira algunas formas de responder",
"guidancePointer": "¿Te atoraste? Revisa el objetivo y los consejos de este acto en el panel de la derecha.",
"roleplayHistoryTitle": "Historial del juego de roles",
"coachHint": "Consejo del coach",
"thinking": "{{name}} · Pensando",
"typing": "{{name}} · Escribiendo…",
"submitted": "Trabajo entregado",
"evaluatingSubmission": "Evaluando tu entrega…",
"evaluatingSubmissionDetail": "Tarea: \"{{title}}\". La retroalimentación de esta entrega aparecerá aquí cuando termine la evaluación.",
"milestoneFeedbackPending": "La retroalimentación del hito aparecerá cuando esté lista.",
"emptyChat": "Aún no hay mensajes.",
"emptyChatHint": "Tu recorrido del proyecto con {{name}} comenzará aquí.",
"continueError": "No se pudo continuar: {{error}}",
"stillTyping": "Sigue escribiendo",
"handoverHint": "Haz clic en \"Continuar a la siguiente etapa\" para seguir."
},
"scene": {
"expand": "Expandir",
"collapse": "Contraer",
"greetHint": "Toca para saludar",
"label": "La escena"
},
"milestoneCard": {
"title": "Revisión del hito",
"youLearned": "Lo que aprendiste",
"nextStage": "Siguiente etapa:",
"continueHint": "Haz clic en Continuar para entrar a la siguiente etapa.",
"alreadyEntered": "Ya entraste a la siguiente etapa",
"continueToNext": "Continuar a la siguiente etapa",
"projectAlmostDone": "🎉 Proyecto casi terminado — en espera del reporte de finalización"
},
"taskEvalCard": {
"title": "Retroalimentación de la entrega",
"strengths": "Lo que salió bien",
"improvements": "Siguientes pasos"
},
"briefing": {
"intro": "La premisa presentada durante la preparación — la dejamos aquí para que la consultes en cualquier momento durante la escena.",
"tablistLabel": "Pestañas del panel derecho",
"submissionTab": "Entregar",
"briefingTab": "Contexto",
"setting": "Ambientación",
"learnerRole": "Tu rol",
"goal": "Objetivo",
"rules": "Reglas",
"cast": "Personajes",
"identity": "Identidad",
"situation": "Situación"
},
"submission": {
"textSubmission": "Entrega de texto",
"fileTooLarge": "El archivo supera el límite de 5 MB. Intenta dividirlo o comprimirlo.",
"contentRequired": "El contenido no puede estar vacío",
"readFileFailed": "No se pudo leer el archivo: {{error}}",
"parsingPdf": "Analizando PDF…",
"parsePdfFailed": "No se pudo analizar el PDF: {{error}}",
"pdfNoText": "No se encontró texto extraíble en este PDF.",
"imageUploadFailed": "No se pudo subir la imagen: {{error}}",
"imageTooLargeNoStorage": "La imagen es demasiado grande para adjuntarla sin almacenamiento configurado (máx. 2 MB en local).",
"imageNeedsCaptionNoVision": "El modelo actual no puede leer imágenes. Agrega una descripción de texto de la imagen antes de entregar, o cambia a un modelo con visión en Configuración.",
"unsupportedFileType": "Tipo de archivo no compatible. Solo se aceptan archivos de texto (.txt, .md, .csv, .json, .py, …) y PDF.",
"pasteTab": "Pegar texto / imagen",
"uploadTab": "Subir archivo",
"pastePlaceholder": "Pega aquí tu código, documento o respuesta — o una imagen / captura de pantalla…",
"uploadPlaceholder": "El contenido subido aparecerá aquí. Edítalo antes de entregar…",
"imageCaptionPlaceholder": "Agrega una descripción opcional para esta imagen…",
"imageSelectedReplace": "Imagen seleccionada · haz clic para reemplazar",
"removeImage": "Quitar imagen",
"processing": "Procesando…",
"cancelProcessingConfirm": "Todavía se está procesando un archivo. ¿Cancelar y descartar esta subida?",
"currentTask": "Tarea actual",
"hints": "Pistas",
"submitOutput": "Entregar",
"evaluating": "Evaluando la entrega…",
"lockedWhileStreaming": "El instructor está respondiendo — espera antes de entregar.",
"evalFailed": "La evaluación falló: {{error}}",
"submittedCount": "{{count}} entregas",
"submissionHistory": "Historial de entregas",
"fromTask": "Tarea: {{title}}",
"download": "Descargar",
"viewSubmission": "Ver entrega",
"noActiveTask": "No hay tarea activa.",
"canceling": "Cancelar",
"submitting": "Entregando…",
"selectFileHint": "Elige un archivo · Máx. 5 MB · Texto, PDF o imagen",
"modalTitle": "Entrega tu trabajo",
"modalTaskLabel": "Tarea: {{title}}",
"fileRead": "Leído: {{filename}} · {{size}} KB",
"submittedBadge": "Entregado ({{count}})",
"receiptFile": "Archivo: {{filename}}",
"receiptTemplate": "Trabajo entregado para esta tarea ({{label}})."
},
"agentTabs": {
"noAgent": "No hay un agente IA configurado para este proyecto."
},
"completion": {
"noWhatsNext": "La evaluación final aún no se ha redactado.",
"backToWorkspace": "Volver al espacio de trabajo",
"completionCta": "Ver reporte",
"title": "Reporte de finalización",
"whatYouBuilt": "Lo que construiste",
"whatYouLearned": "Lo que aprendiste",
"whatsNext": "Qué sigue",
"noDataFallback": "Aún sin redactar",
"stageReview": "Revisión por etapas",
"summary": "Completaste {{completed}} de {{total}} tareas a lo largo de {{stages}} etapas.",
"statConcepts": "Conceptos dominados",
"statTurns": "Mensajes intercambiados",
"statScope": "Etapas · Tareas",
"statDuration": "Tiempo invertido",
"statSubmissions": "Trabajos entregados",
"coreStageBadge": "Clave",
"conceptsInStageLabel": "Conceptos:",
"submissionsInStage": "Entregaste {{count}} trabajo(s)",
"coreConceptGrasp": "Concepto clave \"{{concept}}\" — {{quality}}",
"stageNoData": "Sin resultados registrados en esta etapa.",
"scenario": {
"summary": "Completaste los {{acts}} actos de este escenario. Así fue el juego de roles.",
"whatYouDidWell": "Lo que hiciste bien",
"skillsPracticed": "Habilidades que practicaste",
"statGoals": "Objetivos cumplidos",
"statActs": "Actos completados",
"goalReviewTitle": "Revisión acto por acto",
"goalReviewHint": "Este escenario planteó algunos objetivos clave para cada acto. Aquí tienes un repaso de cómo fue realmente tu conversación — esta vez cumpliste {{achieved}} de {{total}}.",
"goalListTitle": "Lo que cada acto te pedía",
"goalListHint": "Este escenario planteó algunos objetivos clave para cada acto. Aquí tienes un repaso de lo que cada acto te pedía hacer.",
"goalAchieved": "logrado",
"goalPartial": "logrado en parte",
"goalMissed": "no logrado",
"statGoodDecisions": "Decisiones acertadas",
"statScore": "Puntaje de decisiones",
"statBeats": "Actos completados",
"decisionReviewTitle": "Revisión de decisiones",
"good": "acertada",
"ok": "aceptable",
"poor": "por mejorar",
"decisionScore": "Puntaje de decisiones: {{score}}",
"castLabel": "Interactuaste con: {{names}}"
},
"highlightsTitle": "Lo más destacado",
"highlight": {
"independence": "Demostraste {{unlocks}}/{{total}} conceptos por tu cuenta — sin necesidad de ayuda. Comprensión sólida.",
"resilience": "En \"{{title}}\" superaste {{errors}} errores, enfrentando cada uno — pura perseverancia.",
"resilienceGeneral": "Superaste {{errors}} errores, enfrentando cada uno — pura perseverancia.",
"completion": "Completaste todas las tareas. Avance constante de principio a fin."
},
"synthesisQuality": {
"strong": "Comprensión sólida ✅",
"ok": "Buen dominio 👍",
"weak": "Margen para crecer 💪"
},
"durationMinutes": "{{m}} min",
"durationHours": "{{h}} h",
"durationHoursMinutes": "{{h}} h {{m}} min"
},
"completionCard": {
"title": "Proyecto completado · Finalización",
"subtitle": "¡Felicidades! Terminaste el proyecto completo.",
"description": "Con base en tus datos de desempeño (tiempo invertido, conversaciones, recuperación de errores, conceptos desbloqueados…), generamos un reporte de finalización que muestra lo que construiste, lo que aprendiste y hacia dónde seguir."
}
}
},
"share": {
"notReady": "Disponible cuando termine la generación"
},
"classroom": {
"recentClassrooms": "Recientes",
"today": "Hoy",
"yesterday": "Ayer",
"daysAgo": "días atrás",
"slides": "diapositivas",
"nameCopied": "Nombre copiado",
"deleteConfirmTitle": "Eliminar",
"delete": "Eliminar",
"rename": "Renombrar",
"renamePlaceholder": "Escribe el nombre del aula",
"renameFailed": "Error al renombrar el aula",
"searchPlaceholder": "Buscar cursos...",
"searchAriaLabel": "Buscar cursos",
"clearSearch": "Borrar",
"searchEmpty": "Ningún curso coincide con tu búsqueda",
"newFolderTitle": "Nueva carpeta",
"newFolderDesc": "Agrupa cursos por tema o para acceder más fácil.",
"newFolderInline": "Nueva carpeta…",
"folderNameLabel": "Nombre de la carpeta",
"folderNamePlaceholder": "p. ej. Matemáticas, Inglés, Cursos principales",
"folderNameHint": "CJK y latín ambos válidos; los espacios cuentan.",
"folderNameExists": "Ya existe una carpeta con ese nombre",
"folderCountLimit": "Límite de carpetas alcanzado",
"folderWidth": "Ancho {{width}}/{{max}}",
"folderCreate": "Crear",
"folderBadge": "Carpeta",
"folderCourseCountUnit": "cursos",
"deleteFolderTitle": "Eliminar carpeta \"{{name}}\"",
"deleteFolderEmptyDesc": "Esta carpeta está vacía. La eliminación no se puede deshacer.",
"deleteFolderUngroupDesc": "Los cursos se quedan en \"Mis cursos\", solo sin carpeta.",
"moveToFolder": "Mover a carpeta",
"moveToFolderLabel": "Mover a…",
"ungrouped": "Sin clasificar",
"searchResults": "Resultados de búsqueda",
"folderCreateFailed": "Error al crear la carpeta",
"folderRenameFailed": "Error al renombrar la carpeta",
"folderDeleteFailed": "Error al eliminar la carpeta",
"moveFailed": "Error al mover el curso",
"emptyFolderHint": "Esta carpeta está vacía",
"emptyLibraryHint": "Aún no hay cursos — crea uno arriba o importa un curso.",
"folderNameEmpty": "El nombre de la carpeta no puede estar vacío",
"deleteFolderOnly": "Solo eliminar carpeta",
"deleteFolderAndCourses": "Eliminar carpeta y {{count}} curso",
"deleteFolderAndCourses_other": "Eliminar carpeta y {{count}} cursos",
"deleteFolderConfirmRemove": "Esto elimina la carpeta y sus cursos, incluido el historial de chat."
},
"upload": {
"pdfSizeLimit": "Admite archivos PDF de hasta 50 MB",
"courseMaterialSizeLimit": "Documentos, diapositivas, hojas de cálculo, imágenes y texto plano — hasta 50 MB (los formatos aceptados dependen del extractor seleccionado)",
"generateFailed": "No se pudo generar el aula, inténtalo de nuevo",
"requirementPlaceholder": "Dime qué quieres aprender, p. ej.\n\"Enséñame Python desde cero en 30 minutos\"\n\"Explica la transformada de Fourier en el pizarrón\"\n\"Cómo jugar el juego de mesa Avalon\"",
"requirementRequired": "Ingresa los requisitos del curso",
"fileTooLarge": "Archivo demasiado grande. Selecciona uno de menos de 50 MB",
"courseMaterialCountLimit": "Puedes subir hasta 5 archivos de material del curso",
"courseMaterialTotalSizeLimit": "El tamaño total del material del curso debe ser menor a 150 MB",
"unsupportedCourseMaterial": "El extractor actual no admite este formato. Cambia de extractor o elige otro archivo."
},
"generation": {
"modeLabel": "Modo de generación",
"normalMode": "Generación normal",
"largeMode": "Tarea grande",
"pdfLoadFailed": "Error al cargar el archivo PDF, inténtalo de nuevo",
"pdfParseFailed": "Error al procesar el PDF",
"analyzingCourseMaterial": "Analizando documentos",
"analyzingCourseMaterialDesc": "Extrayendo la estructura y el contenido de los documentos...",
"courseMaterialLoadFailed": "Error al cargar el material del curso, inténtalo de nuevo",
"courseMaterialParseFailed": "Error al procesar el material del curso",
"streamNotReadable": "No se puede leer el stream de generación",
"generatingOutlines": "Redactando el esquema del curso",
"generatingOutlinesDesc": "Estructurando la ruta de aprendizaje...",
"generatingSlideContent": "Generando contenido de las páginas",
"generatingSlideContentDesc": "Creando diapositivas, cuestionarios y contenido interactivo...",
"generatingActions": "Generando acciones de enseñanza",
"generatingActionsDesc": "Orquestando narración, resaltados e interacciones...",
"generationComplete": "¡Generación completada!",
"generationFailed": "Falló la generación",
"speechFailed": "Falló la generación de voz",
"retryScene": "Reintentar",
"retryingScene": "Regenerando...",
"backToHome": "Volver al inicio",
"sessionNotFound": "Sesión no encontrada",
"sessionNotFoundDesc": "Completa los requisitos del curso para iniciar el proceso de generación.",
"goBackAndRetry": "Volver e intentar de nuevo",
"classroomReady": "Tu entorno de aprendizaje personalizado con IA se generó correctamente.",
"aiWorking": "Agentes IA trabajando...",
"textTruncated": "El texto del documento es largo; se usarán los primeros {{n}} caracteres para la generación",
"imageTruncated": "Se encontraron {{total}} imágenes, más del límite de {{max}}. Las imágenes extra usarán solo descripciones de texto",
"agentRevealTitle": "Los roles de tu aula",
"viewAgents": "Ver roles",
"continue": "Continuar",
"outlineRetrying": "Problema al generar el esquema, reintentando...",
"outlineEmptyResponse": "El modelo no devolvió esquemas válidos. Revisa la configuración del modelo e inténtalo de nuevo",
"outlineGenerateFailed": "Falló la generación del esquema, inténtalo más tarde",
"sceneGenerateFailed": "Falló la generación de la escena, inténtalo más tarde",
"sceneGenerateAuthFailed": "La generación de la escena falló porque el proveedor del modelo rechazó las credenciales. Revisa tu configuración del modelo.",
"sceneGenerateRateLimited": "La generación de escenas alcanzó el límite de solicitudes. Espera un momento e inténtalo de nuevo.",
"sceneGenerateProviderUnavailable": "El proveedor del modelo no está disponible por el momento. Inténtalo más tarde.",
"sceneGenerateInvalidResponse": "El modelo no devolvió contenido de escena válido. Prueba con otro modelo o ajusta los requisitos del curso.",
"reviewOutlineTitle": "Revisa tu esquema",
"reviewOutlineDesc": "Edita, reordena, elimina o agrega escenas antes de que comience la generación de contenido.",
"reviewOutlineAutoContinue": "La generación continuará automáticamente a menos que revises el esquema.",
"outlineEditorTitle": "Esquema de escenas",
"outlineEditorSummary": "{{count}} escenas en total. Puedes editar, agregar, eliminar o reordenar escenas antes de que inicie la generación.",
"addFirstScene": "Agregar primera escena",
"noOutlines": "Aún no hay esquemas de escenas",
"sceneTitlePlaceholder": "Título de la escena",
"sceneTypeSlide": "Diapositiva",
"sceneTypeQuiz": "Cuestionario",
"sceneTypeInteractive": "Interactivo",
"sceneTypePbl": "ABP",
"sceneDescriptionPlaceholder": "Describe brevemente el propósito y el contenido de esta escena",
"quizQuestionCount": "Número de preguntas",
"quizDifficulty": "Dificultad",
"quizType": "Tipo de pregunta",
"quizDifficultyEasy": "Fácil",
"quizDifficultyMedium": "Media",
"quizDifficultyHard": "Difícil",
"quizTypeSingle": "Opción única",
"quizTypeMultiple": "Opción múltiple",
"quizTypeText": "Respuesta corta",
"alwaysReviewOutlines": "Siempre revisar los esquemas antes de generar",
"outlineEditorEyebrow": "Esquema generado por IA",
"outlineEditorStreamingProgress": "Streaming · {{count}} escenas listas",
"outlineEditorStreamingWaiting": "Esperando a que llegue la primera escena…",
"outlineEditorWaitingConfirm": "Esperando los esquemas…",
"outlineExpandHint": "Toca para revisar",
"reviewOutlineStreamingDesc": "El esquema aún se está recibiendo en streaming. Podrás editarlo cuando esté completo.",
"addKeyPoint": "Agregar punto clave",
"removeKeyPoint": "Quitar punto clave",
"insertSceneHere": "Insertar una escena aquí",
"deleteSceneConfirm": "¿Eliminar esta escena?",
"deleteSceneConfirmDesc": "Esta escena y sus puntos clave se eliminarán del esquema.",
"deleteSceneConfirmAction": "Eliminar",
"collapseEditor": "Contraer",
"quizConfigSummary": "{{count}} preguntas",
"interactiveWidgetKind": "Tipo de widget",
"widgetSimulation": "Simulación",
"widgetDiagram": "Diagrama",
"widgetCode": "Código",
"widgetGame": "Juego",
"widgetVisualization3d": "3D",
"interactiveConcept": "Concepto",
"interactiveConceptPlaceholder": "Concepto a explorar",
"pblConfigSummary": "Proyecto",
"pblSubtype": "Tipo de ABP",
"pblSubtypeProject": "Proyecto",
"pblSubtypeScenario": "Escenario",
"pblProjectTopic": "Tema del proyecto",
"pblProjectTopicPlaceholder": "Tema del proyecto",
"pblProjectDescription": "Descripción",
"pblProjectDescriptionPlaceholder": "Lo que los estudiantes construirán",
"pblScenarioBrief": "Resumen del escenario",
"pblScenarioBriefPlaceholder": "Situación, personajes y objetivo de práctica",
"pblTargetSkills": "Habilidades objetivo",
"pblAddSkill": "Agregar habilidad",
"widgetProceduralSkill": "Habilidad procedimental",
"removeSkill": "Quitar habilidad",
"dragSceneHint": "Arrastra para reordenar; o enfoca y presiona Ctrl/⌘ + ↑ / ↓",
"deleteScene": "Eliminar escena",
"backToRequirements": "Volver a los requisitos",
"confirmAndGenerateCourse": "Confirmar y generar curso",
"generatingInProgress": "Generando...",
"webSearching": "Búsqueda web",
"webSearchingDesc": "Buscando información actualizada en la web",
"webSearchFailed": "Falló la búsqueda web",
"outlinesReadyCount": "{{ready}} / {{total}} secciones listas",
"jumpToBlankTitle": "Ir a una sección que aún necesita título",
"analyzingMediaMaterial": "Analizando audio/video"
},
"settings": {
"title": "Configuración",
"description": "Configura los ajustes de la aplicación",
"language": "Idioma",
"languageDesc": "Selecciona el idioma de la interfaz",
"theme": "Tema",
"themeDesc": "Selecciona el modo de tema (claro/oscuro/sistema)",
"themeOptions": {
"light": "Claro",
"dark": "Oscuro",
"system": "Sistema"
},
"apiKey": "Clave API",
"apiKeyDesc": "Configura tu clave API",
"apiBaseUrl": "URL del endpoint de la API",
"apiBaseUrlDesc": "Configura la URL del endpoint de la API",
"apiKeyRequired": "La clave API no puede estar vacía",
"model": "Configuración de modelos",
"modelDesc": "Configura los modelos de IA",
"modelPlaceholder": "Escribe o selecciona el nombre del modelo",
"ttsModel": "Modelo TTS",
"ttsModelDesc": "Configura los modelos TTS",
"ttsModelPlaceholder": "Escribe o selecciona el nombre del modelo TTS",
"ttsModelOptions": {
"openaiTts": "OpenAI TTS",
"azureTts": "Azure TTS"
},
"availableModels": "Modelos disponibles",
"modelSelectedViaVoice": "El modelo se determina según la voz seleccionada",
"testConnection": "Probar conexión",
"testConnectionDesc": "Verifica que la configuración actual de la API funcione",
"testing": "Probando...",
"agentSettings": "Configuración de agentes",
"agentSettingsDesc": "Selecciona los agentes que participarán en la conversación. Elige 1 para el modo de agente único o varios para el modo colaborativo multiagente.",
"agentMode": "Modo de agente",
"agentModePreset": "Predefinido",
"agentModeAuto": "Autogenerar",
"agentModeAutoDesc": "La IA generará automáticamente los roles adecuados",
"autoAgentCount": "Número de agentes",
"autoAgentCountDesc": "Número de agentes a generar automáticamente (incluye al maestro)",
"atLeastOneAgent": "Selecciona al menos 1 agente",
"singleAgentMode": "Modo de agente único",
"directAnswer": "Respuesta directa",
"multiAgentMode": "Modo multiagente",
"agentsCollaborating": "Discusión colaborativa",
"agentsCollaboratingCount": "{{count}} agentes seleccionados para la discusión colaborativa",
"priority": "Prioridad",
"actions": "Acciones",
"actionCount": "{{count}} acciones",
"selectedAgent": "Agente seleccionado",
"selectedAgents": "Agentes seleccionados",
"required": "Obligatorio",
"agentNames": {
"default-1": "Maestro IA",
"default-2": "Asistente IA",
"default-3": "Payaso del salón",
"default-4": "Mente curiosa",
"default-5": "Tomador de apuntes",
"default-6": "Pensador profundo"
},
"agentRoles": {
"teacher": "Maestro",
"assistant": "Asistente",
"student": "Estudiante"
},
"agentDescriptions": {
"default-1": "Maestro titular con explicaciones claras y estructuradas",
"default-2": "Apoya el aprendizaje y ayuda a aclarar los puntos clave",
"default-3": "Aporta humor y energía al salón de clases",
"default-4": "Siempre con curiosidad, le encanta preguntar por qué y cómo",
"default-5": "Registra y organiza con esmero los apuntes de la clase",
"default-6": "Piensa a fondo y explora la esencia de los temas"
},
"close": "Cerrar",
"save": "Guardar",
"providers": "LLM",
"addProviderDescription": "Agrega proveedores de modelos personalizados para ampliar los modelos de IA disponibles",
"providerNames": {
"openai": "OpenAI",
"azure": "Azure OpenAI",
"anthropic": "Claude",
"google": "Gemini",
"bedrock": "Amazon Bedrock",
"deepseek": "DeepSeek",
"qwen": "Qwen",
"kimi": "Kimi",
"minimax": "MiniMax",
"glm": "GLM",
"siliconflow": "SiliconFlow",
"doubao": "Doubao",
"openrouter": "OpenRouter",
"grok": "Grok",
"tencent-hunyuan": "Tencent Hunyuan",
"xiaomi": "Xiaomi MiMo",
"lemonade": "Lemonade (local)",
"ollama": "Ollama (local)",
"tavily": "Tavily",
"bocha": "Bocha",
"brave": "Brave Search",
"baidu": "Baidu",
"claude": "Claude",
"searxng": "SearXNG"
},
"providerTypes": {
"openai": "Protocolo OpenAI",
"azure": "Azure OpenAI",
"anthropic": "Protocolo Claude",
"google": "Protocolo Gemini",
"bedrock": "Amazon Bedrock"
},
"modelCount": "modelos",
"modelSingular": "modelo",
"defaultModel": "Modelo predeterminado",
"webSearch": "Búsqueda web",
"mcp": "MCP",
"knowledgeBase": "Base de conocimientos",
"documentParser": "Analizador de documentos",
"conversationSettings": "Conversación",
"keyboardShortcuts": "Atajos",
"generalSettings": "General",
"systemSettings": "Sistema",
"addProvider": "Agregar",
"importFromClipboard": "Importar del portapapeles",
"apiSecret": "Clave API",
"apiHost": "URL base",
"azureDeploymentHint": "Ingresa arriba tu endpoint de Azure OpenAI y luego agrega cada nombre de deployment de Azure como un modelo.",
"baseUrlRegion": {
"china": "China",
"international": "Internacional",
"xiaomiPayg": "Pago por uso",
"xiaomiTokenPlanCN": "Plan de tokens CN",
"xiaomiTokenPlanSGP": "Plan de tokens SG",
"xiaomiTokenPlanEU": "Plan de tokens EU"
},
"requestUrl": "URL de solicitud",
"models": "Modelos",
"comfyuiWorkflows": "Flujos de trabajo",
"comfyuiRefresh": "Actualizar",
"comfyuiNoWorkflowsFoundPrefix": "No se encontraron archivos JSON de flujos de trabajo en",
"comfyuiAddWorkflowPrefix": "Agrega un archivo",
"comfyuiAddWorkflowSuffix": "para comenzar.",
"comfyuiFolderHintPrefix": "Coloca los archivos JSON de flujos de trabajo en tu carpeta",
"comfyuiFolderHintMiddle": ". El nombre del archivo se convierte en el nombre visible, p. ej.",
"comfyuiLoadError": "No se pudieron cargar los flujos de trabajo: {error}",
"addModel": "Agregar",
"reset": "Restablecer",
"fetch": "Obtener",
"connectionSuccess": "Conexión exitosa",
"connectionFailed": "Error de conexión",
"capabilities": {
"vision": "Visión",
"tools": "Herramientas",
"streaming": "Streaming"
},
"contextWindow": "Contexto",
"contextShort": "ctx",
"outputWindow": "Salida",
"addProviderButton": "Agregar",
"addProviderDialog": "Agregar proveedor de modelos",
"providerName": "Nombre",
"providerNamePlaceholder": "p. ej., Mi proxy de OpenAI",
"providerNameRequired": "Ingresa el nombre del proveedor",
"providerApiMode": "Modo de API",
"apiModeOpenAI": "Protocolo OpenAI",
"apiModeAnthropic": "Protocolo Claude",
"apiModeGoogle": "Protocolo Gemini",
"defaultBaseUrl": "URL base predeterminada",
"providerIcon": "URL del ícono del proveedor",
"requiresApiKey": "Requiere clave API",
"deleteProvider": "Eliminar proveedor",
"deleteProviderConfirm": "¿Seguro que deseas eliminar este proveedor?",
"addCustomTTSProvider": "Agregar proveedor TTS personalizado",
"addCustomASRProvider": "Agregar proveedor ASR personalizado",
"addCustomAudioProviderDescription": "Agrega un proveedor de audio personalizado compatible con OpenAI",
"customVoices": "Voces",
"voiceIdPlaceholder": "ID de voz (p. ej. alloy)",
"voiceNamePlaceholder": "Nombre para mostrar",
"addVoice": "Agregar",
"modelNamePlaceholder": "Opcional",
"defaultModelHint": "Nombre del modelo enviado en las solicitudes a la API (p. ej. kokoro, tts-1)",
"noVoicesAdded": "Aún no hay voces agregadas. Agrega voces abajo para seleccionarlas por agente.",
"noModelsAdded": "Aún no hay modelos agregados. Agrega modelos abajo para habilitar la selección de modelo.",
"noModelsWarning": "Agrega al menos un modelo abajo antes de usar este proveedor.",
"asrNoTranscription": "No se generó ninguna transcripción. Intenta hablar más fuerte o por más tiempo.",
"cannotDeleteBuiltIn": "No se puede eliminar un proveedor integrado",
"resetToDefault": "Restablecer valores predeterminados",
"resetToDefaultDescription": "Restaura la lista de modelos a la configuración predeterminada (se conservarán la clave API y la URL base)",
"resetConfirmDescription": "Esto eliminará todos los modelos personalizados y restaurará la lista de modelos predeterminada. La clave API y la URL base se conservarán.",
"confirmReset": "Confirmar restablecimiento",
"resetSuccess": "Se restableció la configuración predeterminada",
"saveSuccess": "Configuración guardada",
"saveFailed": "No se pudo guardar la configuración, inténtalo de nuevo",
"cannotDeleteBuiltInModel": "No se puede eliminar un modelo integrado",
"cannotEditBuiltInModel": "No se puede editar un modelo integrado",
"modelIdRequired": "Ingresa el ID del modelo",
"noModelsAvailable": "No hay modelos disponibles para probar",
"providerMetadata": "Metadatos del proveedor",
"editModel": "Editar modelo",
"editModelDescription": "Edita la configuración y las capacidades del modelo",
"addNewModel": "Nuevo modelo",
"modelsManagementDescription": "Administra los modelos y capacidades disponibles para este proveedor.",
"addNewModelDescription": "Agrega una nueva configuración de modelo",
"modelId": "ID del modelo",
"modelIdPlaceholder": "p. ej., gpt-4o",
"modelName": "Nombre para mostrar",
"modelCapabilities": "Capacidades",
"advancedSettings": "Configuración avanzada",
"contextWindowLabel": "Ventana de contexto",
"contextWindowPlaceholder": "p. ej., 128000",
"outputWindowLabel": "Máximo de tokens de salida",
"outputWindowPlaceholder": "p. ej., 4096",
"testModel": "Probar modelo",
"deleteModel": "Eliminar",
"cancelEdit": "Cancelar",
"saveModel": "Guardar",
"howToUse": "Cómo usar",
"step1ConfigureProvider": "Ve a \"Proveedores de modelos\", selecciona o agrega un proveedor y configura los ajustes de conexión (clave API, URL base, etc.)",
"step2SelectModel": "Selecciona el modelo que quieres usar en \"Modelo activo\" más abajo",
"step3StartUsing": "Después de guardar, el sistema usará el modelo seleccionado",
"activeModel": "Modelo activo",
"activeModelDescription": "Selecciona el modelo para las conversaciones con IA y la generación de contenido",
"searchModels": "Buscar modelos",
"noModelsFound": "No se encontraron modelos coincidentes",
"noConfiguredProviders": "No hay proveedores configurados",
"configureProvidersFirst": "Configura los ajustes de conexión del proveedor en \"Proveedores de modelos\", a la izquierda",
"currentlyUsing": "Usando actualmente",
"ttsSettings": "Texto a voz",
"asrSettings": "Reconocimiento de voz",
"audioSettings": "Configuración de audio",
"ttsSection": "Texto a voz (TTS)",
"asrSection": "Reconocimiento automático de voz (ASR)",
"ttsDescription": "TTS (texto a voz) - Convierte texto en voz",
"asrDescription": "ASR (reconocimiento automático de voz) - Convierte voz en texto",
"enableTTS": "Habilitar texto a voz",
"ttsEnabledDescription": "Al habilitarlo, se generará audio de voz durante la creación del curso",
"ttsVoiceConfigHint": "La voz de cada agente se puede configurar en \"Configuración de roles del aula\" en la página de inicio",
"enableASR": "Habilitar reconocimiento de voz",
"asrEnabledDescription": "Al habilitarlo, los estudiantes pueden usar el micrófono para entrada de voz",
"ttsProvider": "Proveedor TTS",
"ttsLanguageFilter": "Filtro de idioma",
"allLanguages": "Todos los idiomas",
"ttsVoice": "Voz",
"ttsSpeed": "Velocidad",
"ttsBaseUrl": "URL base",
"ttsApiKey": "Clave API",
"doubaoAppId": "App ID",
"doubaoAccessKey": "Clave de acceso",
"asrProvider": "Proveedor ASR",
"asrLanguage": "Idioma de reconocimiento",
"asrBaseUrl": "URL base",
"asrApiKey": "Clave API",
"enterApiKey": "Ingresa la clave API",
"enterCustomBaseUrl": "Ingresa una URL base personalizada",
"browserNativeNote": "El ASR nativo del navegador no requiere configuración y es totalmente gratuito",
"providerOpenAITTS": "OpenAI TTS (gpt-4o-mini-tts)",
"providerAzureTTS": "Azure TTS",
"providerGLMTTS": "GLM TTS",
"providerQwenTTS": "Qwen TTS (Alibaba Cloud Bailian)",
"providerVoxCPMTTS": "VoxCPM2",
"providerDoubaoTTS": "Doubao TTS 2.0 (Volcengine)",
"providerElevenLabsTTS": "ElevenLabs TTS",
"providerMiniMaxTTS": "MiniMax TTS",
"providerLemonadeTTS": "Lemonade TTS (local)",
"providerBrowserNativeTTS": "TTS nativo del navegador",
"voxcpmBackend": "Backend",
"voxcpmBaseUrlPending": "Ingresa una URL base para generar la URL de solicitud",
"voxcpmAutoVoiceNoPreview": "La voz automática se genera a partir del contexto del agente y no se puede previsualizar directamente",
"voxcpmVoicesTitle": "Voces de VoxCPM",
"voxcpmVoicesDescription": "Se guardan en este navegador y se agregan al conjunto de voces compartido de la barra de agentes.",
"voxcpmAutoVoicePrivacyNote": "La voz automática envía la persona del agente como prompt de voz a tu backend de VoxCPM configurado.",
"voxcpmPromptCount": "Prompt {{count}}",
"voxcpmCloneCount": "Clon {{count}}",
"voxcpmCloneUnsupported": "El backend actual no admite clonación",
"voxcpmVoicePool": "Conjunto de voces",
"voxcpmVoiceCount": "{{count}} voces",
"voxcpmAutoVoice": "Voz automática",
"voxcpmAutoVoiceDescription": "Usa la persona del agente como prompt de voz",
"voxcpmUnavailable": "No disponible",
"voxcpmClone": "Clonar",
"voxcpmCloneUnsupportedDetail": "El backend actual no admite clonación",
"voxcpmNoCustomVoices": "Aún no hay voces personalizadas",
"voxcpmCloneSaveOnly": "Se guarda solo para este backend",
"voxcpmVoiceNamePlaceholder": "Nombre de la voz",
"voxcpmPromptPlaceholder": "Ejemplo: voz de maestro clara y natural, con ritmo moderado",
"voxcpmAddVoice": "Agregar voz",
"voxcpmCloneVoiceNamePlaceholder": "Nombre de la voz clonada",
"voxcpmUploadReferenceAudio": "Subir audio de referencia",
"voxcpmRecord": "Grabar",
"voxcpmReferenceAudioLimitHint": "El audio de referencia debe ser de máximo 10 MB / 60 segundos y se convierte a WAV antes de guardarse.",
"voxcpmReferenceTextPlaceholder": "Transcripción del audio de referencia, opcional",
"voxcpmVoiceDescriptionPlaceholder": "Descripción de la voz, opcional",
"voxcpmAddClone": "Agregar clon",
"voxcpmRecordingUnsupported": "Este navegador no admite grabación",
"voxcpmRecordedVoiceName": "Voz grabada",
"voxcpmRecordingFailed": "Falló la conversión de la grabación",
"voxcpmRecordingStartFailed": "No se pudo iniciar la grabación",
"voxcpmBaseUrlRequired": "Primero ingresa una URL base de VoxCPM",
"voxcpmPreviewFailed": "Falló la vista previa",
"voxcpmVoiceSaved": "Voz de VoxCPM guardada",
"voxcpmVoiceSaveFailed": "No se pudo guardar la voz",
"voxcpmReferenceAudioInvalid": "Audio de referencia no válido",
"voxcpmCloneSaved": "Voz clonada de VoxCPM guardada",
"voxcpmCloneSaveFailed": "No se pudo guardar la voz clonada",
"voxcpmStopPreview": "Detener vista previa",
"voxcpmPreviewVoice": "Previsualizar voz",
"voxcpmDeleteVoice": "Eliminar voz",
"providerOpenAIWhisper": "OpenAI ASR (gpt-4o-mini-transcribe)",
"providerBrowserNative": "ASR nativo del navegador",
"providerQwenASR": "Qwen ASR (Alibaba Cloud Bailian)",
"providerFunASRASR": "FunASR (local)",
"providerLemonadeASR": "Lemonade ASR (local)",
"providerAzureASR": "Azure STT",
"providerUnpdf": "unpdf (integrado)",
"providerMinerU": "MinerU",
"providerMinerUCloud": "MinerU (nube)",
"browserNativeTTSNote": "El TTS nativo del navegador no requiere configuración y es totalmente gratuito; usa las voces integradas del sistema",
"testTTS": "Probar TTS",
"testASR": "Probar ASR",
"testSuccess": "Prueba exitosa",
"testFailed": "Prueba fallida",
"ttsTestText": "Texto de prueba TTS",
"ttsTestSuccess": "Prueba de TTS exitosa, audio reproducido",
"ttsTestFailed": "Falló la prueba de TTS",
"asrTestSuccess": "Reconocimiento de voz exitoso",
"asrTestFailed": "Falló el reconocimiento de voz",
"asrProcessing": "Procesando...",
"asrResult": "Resultado del reconocimiento",
"asrNotSupported": "El navegador no admite la API de reconocimiento de voz",
"browserTTSNotSupported": "El navegador no admite la API de síntesis de voz",
"browserTTSNoVoices": "El navegador actual no tiene voces TTS disponibles",
"microphoneAccessDenied": "Acceso al micrófono denegado",
"microphoneAccessFailed": "No se pudo acceder al micrófono",
"asrResultPlaceholder": "El resultado del reconocimiento se mostrará después de grabar",
"useThisProvider": "Usar este proveedor",
"fetchVoices": "Obtener lista de voces",
"fetchingVoices": "Obteniendo...",
"voicesFetched": "Voces obtenidas",
"fetchVoicesFailed": "No se pudieron obtener las voces",
"voiceApiKeyRequired": "Se requiere clave API",
"voiceBaseUrlRequired": "Se requiere URL base",
"ttsTestTextPlaceholder": "Ingresa el texto a convertir",
"ttsTestTextDefault": "Hola, esta es una prueba de voz.",
"startRecording": "Iniciar grabación",
"stopRecording": "Detener grabación",
"recording": "Grabando...",
"transcribing": "Transcribiendo...",
"transcriptionResult": "Resultado de la transcripción",
"noTranscriptionResult": "Sin resultado de transcripción",
"baseUrlOptional": "URL base (opcional)",
"defaultValue": "Predeterminado",
"voiceMarin": "Recomendada - mejor calidad",
"voiceCedar": "Recomendada - mejor calidad",
"voiceAlloy": "Neutral, equilibrada",
"voiceAsh": "Firme, profesional",
"voiceBallad": "Elegante, lírica",
"voiceCoral": "Cálida, amigable",
"voiceEcho": "Masculina, clara",
"voiceFable": "Narrativa, vívida",
"voiceNova": "Femenina, brillante",
"voiceOnyx": "Masculina, profunda",
"voiceSage": "Sabia, serena",
"voiceShimmer": "Femenina, suave",
"voiceVerse": "Natural, fluida",
"glmVoiceTongtong": "Voz predeterminada",
"glmVoiceChuichui": "Voz Chuichui",
"glmVoiceXiaochen": "Voz Xiaochen",
"glmVoiceJam": "Voz Jam",
"glmVoiceKazi": "Voz Kazi",
"glmVoiceDouji": "Voz Douji",
"glmVoiceLuodo": "Voz Luodo",
"qwenVoiceCherry": "Alegre, cálida y natural",
"qwenVoiceSerena": "Dulce y suave",
"qwenVoiceEthan": "Enérgico y vibrante",
"qwenVoiceChelsie": "Novia virtual de anime",
"qwenVoiceMomo": "Juguetona y alegre",
"qwenVoiceVivian": "Tierna y atrevida",
"qwenVoiceMoon": "Sereno y galán",
"qwenVoiceMaia": "Intelectual y dulce",
"qwenVoiceKai": "Un spa para tus oídos",
"qwenVoiceNofish": "Diseñador que no pronuncia los sonidos retroflejos",
"qwenVoiceBella": "Pequeña loli que no se emborracha",
"qwenVoiceJennifer": "Voz femenina estadounidense, cinematográfica y de nivel publicitario",
"qwenVoiceRyan": "Ritmo acelerado y actuación dramática",
"qwenVoiceKaterina": "Dama madura con un ritmo inolvidable",
"qwenVoiceAiden": "Chico estadounidense que domina la cocina",
"qwenVoiceEldricSage": "Anciano sereno y sabio",
"qwenVoiceMia": "Suave como agua de manantial, dócil como la nieve",
"qwenVoiceMochi": "Pequeño adulto listo con inocencia infantil",
"qwenVoiceBellona": "Voz potente, pronunciación clara y personajes vívidos",
"qwenVoiceVincent": "Voz ronca única que narra historias de guerra y honor",
"qwenVoiceBunny": "Loli súper tierna",
"qwenVoiceNeil": "Conductor de noticias profesional",
"qwenVoiceElias": "Instructor profesional",
"qwenVoiceArthur": "Voz sencilla curtida por los años y el tabaco seco",
"qwenVoiceNini": "Voz suave y melosa como un mochi",
"qwenVoiceEbona": "Su susurro es como una llave oxidada",
"qwenVoiceSeren": "Voz dulce y relajante que te ayuda a dormir",
"qwenVoicePip": "Travieso pero lleno de inocencia infantil",
"qwenVoiceStella": "Voz de chica dulce y despistada que se vuelve justiciera cuando grita",
"qwenVoiceBodega": "Señor español entusiasta",
"qwenVoiceSonrisa": "Dama latinoamericana entusiasta",
"qwenVoiceAlek": "Frialdad de la nación guerrera, calidez bajo el abrigo de lana",
"qwenVoiceDolce": "Señor italiano relajado",
"qwenVoiceSohee": "Unnie coreana dulce y alegre",
"qwenVoiceOnoAnna": "Amiga de la infancia traviesa",
"qwenVoiceLenn": "Joven alemán racional que viste de traje y escucha post-punk",
"qwenVoiceEmilien": "Hermano mayor francés y romántico",
"qwenVoiceAndre": "Voz masculina magnética, natural y serena",
"qwenVoiceRadioGol": "El poeta del futbol ¡Rádio Gol!",
"qwenVoiceJada": "Dama animada de Shanghái",
"qwenVoiceDylan": "Chico de Beijing",
"qwenVoiceLi": "Maestra de yoga paciente",
"qwenVoiceMarcus": "Cara ancha, pocas palabras, corazón firme: puro sabor del viejo Shaanxi",
"qwenVoiceRoy": "Chico taiwanés directo y con humor",
"qwenVoicePeter": "Comediante profesional de xiangsheng de Tianjin",
"qwenVoiceSunny": "Dulce chica de Sichuan",
"qwenVoiceEric": "Caballero de Chengdu",
"qwenVoiceRocky": "Chico divertido de Hong Kong",
"qwenVoiceKiki": "Dulce chica de Hong Kong",
"lang_auto": "Detección automática",
"lang_zh": "中文",
"lang_yue": "粤語",
"lang_en": "English",
"lang_ja": "日本語",
"lang_ko": "한국어",
"lang_es": "Español",
"lang_fr": "Français",
"lang_de": "Deutsch",
"lang_ru": "Русский",
"lang_ar": "العربية",
"lang_pt": "Português",
"lang_it": "Italiano",
"lang_af": "Afrikaans",
"lang_hy": "Հայերեն",
"lang_az": "Azərbaycan",
"lang_be": "Беларуская",
"lang_bs": "Bosanski",
"lang_bg": "Български",
"lang_ca": "Català",
"lang_hr": "Hrvatski",
"lang_cs": "Čeština",
"lang_da": "Dansk",
"lang_nl": "Nederlands",
"lang_et": "Eesti",
"lang_fi": "Suomi",
"lang_gl": "Galego",
"lang_el": "Ελληνικά",
"lang_he": "עברית",
"lang_hi": "हिन्दी",
"lang_hu": "Magyar",
"lang_is": "Íslenska",
"lang_id": "Bahasa Indonesia",
"lang_kn": "ಕನ್ನಡ",
"lang_kk": "Қазақша",
"lang_lv": "Latviešu",
"lang_lt": "Lietuvių",
"lang_mk": "Македонски",
"lang_ms": "Bahasa Melayu",
"lang_mr": "मराठी",
"lang_mi": "Te Reo Māori",
"lang_ne": "नेपाली",
"lang_no": "Norsk",
"lang_fa": "فارسی",
"lang_pl": "Polski",
"lang_ro": "Română",
"lang_sr": "Српски",
"lang_sk": "Slovenčina",
"lang_sl": "Slovenščina",
"lang_sw": "Kiswahili",
"lang_sv": "Svenska",
"lang_tl": "Tagalog",
"lang_fil": "Filipino",
"lang_ta": "தமிழ்",
"lang_th": "ไทย",
"lang_tr": "Türkçe",
"lang_uk": "Українська",
"lang_ur": "اردو",
"lang_vi": "Tiếng Việt",
"lang_cy": "Cymraeg",
"lang_zh-CN": "中文(简体,中国)",
"lang_zh-TW": "中文(繁體,台灣)",
"lang_zh-HK": "粵語(香港)",
"lang_yue-Hant-HK": "粵語(繁體)",
"lang_en-US": "English (United States)",
"lang_en-GB": "English (United Kingdom)",
"lang_en-AU": "English (Australia)",
"lang_en-CA": "English (Canada)",
"lang_en-IN": "English (India)",
"lang_en-NZ": "English (New Zealand)",
"lang_en-ZA": "English (South Africa)",
"lang_ja-JP": "日本語(日本)",
"lang_ko-KR": "한국어(대한민국)",
"lang_de-DE": "Deutsch (Deutschland)",
"lang_fr-FR": "Français (France)",
"lang_es-ES": "Español (España)",
"lang_es-MX": "Español (México)",
"lang_es-AR": "Español (Argentina)",
"lang_es-CO": "Español (Colombia)",
"lang_it-IT": "Italiano (Italia)",
"lang_pt-BR": "Português (Brasil)",
"lang_pt-PT": "Português (Portugal)",
"lang_ru-RU": "Русский (Россия)",
"lang_nl-NL": "Nederlands (Nederland)",
"lang_pl-PL": "Polski (Polska)",
"lang_cs-CZ": "Čeština (Česko)",
"lang_da-DK": "Dansk (Danmark)",
"lang_fi-FI": "Suomi (Suomi)",
"lang_sv-SE": "Svenska (Sverige)",
"lang_no-NO": "Norsk (Norge)",
"lang_tr-TR": "Türkçe (Türkiye)",
"lang_el-GR": "Ελληνικά (Ελλάδα)",
"lang_hu-HU": "Magyar (Magyarország)",
"lang_ro-RO": "Română (România)",
"lang_sk-SK": "Slovenčina (Slovensko)",
"lang_bg-BG": "Български (България)",
"lang_hr-HR": "Hrvatski (Hrvatska)",
"lang_ca-ES": "Català (Espanya)",
"lang_ar-SA": "العربية (السعودية)",
"lang_ar-EG": "العربية (مصر)",
"lang_he-IL": "עברית (ישראל)",
"lang_hi-IN": "हिन्दी (भारत)",
"lang_th-TH": "ไทย (ประเทศไทย)",
"lang_vi-VN": "Tiếng Việt (Việt Nam)",
"lang_id-ID": "Bahasa Indonesia (Indonesia)",
"lang_ms-MY": "Bahasa Melayu (Malaysia)",
"lang_fil-PH": "Filipino (Pilipinas)",
"lang_af-ZA": "Afrikaans (Suid-Afrika)",
"lang_uk-UA": "Українська (Україна)",
"pdfSettings": "Análisis de PDF",
"documentParsingSettings": "Análisis de documentos",
"supportedFormats": "Formatos compatibles",
"mineruSelfHostFormatsNote": "El análisis de PDF e imágenes requiere los extras mineru[pipeline] o mineru[core] en tu servidor MinerU. Las instalaciones ligeras de mineru-api pueden manejar solo documentos de Office.",
"pdfParsingSettings": "Configuración de análisis de PDF",
"pdfDescription": "Elige el motor de análisis de PDF con soporte para extracción de texto, procesamiento de imágenes y reconocimiento de tablas",
"pdfProvider": "Analizador de PDF",
"pdfFeatures": "Funciones compatibles",
"pdfApiKey": "Clave API",
"pdfBaseUrl": "URL base",
"mineruDescription": "MinerU es un servicio comercial de análisis de PDF que admite funciones avanzadas como extracción de tablas, reconocimiento de fórmulas y análisis de diseño de página.",
"mineruApiKeyRequired": "Debes solicitar una clave API en el sitio web de MinerU antes de usarlo.",
"mineruWarning": "Advertencia",
"mineruCostWarning": "MinerU es un servicio comercial y puede generar costos. Consulta los precios en el sitio web de MinerU.",
"enterMinerUApiKey": "Ingresa la clave API de MinerU",
"mineruLocalDescription": "MinerU admite despliegue local con análisis avanzado de PDF (tablas, fórmulas, análisis de diseño de página). Requiere desplegar primero el servicio MinerU.",
"mineruServerAddress": "Dirección del servidor MinerU local (p. ej., http://localhost:8080)",
"mineruApiKeyOptional": "Solo se requiere si el servidor tiene la autenticación habilitada",
"mineruCloudApiKeyPlaceholder": "Ingresa la clave API de MinerU Cloud",
"optionalApiKey": "Clave API opcional",
"featureText": "Extracción de texto",
"featureImages": "Extracción de imágenes",
"featureTables": "Extracción de tablas",
"featureFormulas": "Reconocimiento de fórmulas",
"featureLayoutAnalysis": "Análisis de diseño de página",
"featureMetadata": "Metadatos",
"enableImageGeneration": "Habilitar generación de imágenes con IA",
"imageGenerationDisabledHint": "Al habilitarse, las imágenes se generarán automáticamente durante la creación del curso",
"imageSettings": "Generación de imágenes",
"imageSection": "Texto a imagen",
"imageProvider": "Proveedor de generación de imágenes",
"imageModel": "Modelo de generación de imágenes",
"providerSeedream": "Seedream (ByteDance)",
"providerOpenAIImage": "OpenAI Image",
"providerQwenImage": "Qwen Image (Alibaba)",
"providerNanoBanana": "Nano Banana (Gemini)",
"providerMiniMaxImage": "MiniMax Image",
"providerGrokImage": "Grok Image (xAI)",
"providerComfyUIImage": "ComfyUI Image",
"providerLemonadeImage": "Lemonade Image (local)",
"testImageGeneration": "Probar generación de imágenes",
"testImageConnectivity": "Probar conexión",
"imageConnectivitySuccess": "Servicio de imágenes conectado correctamente",
"imageConnectivityFailed": "Falló la conexión con el servicio de imágenes",
"imageTestSuccess": "La prueba de generación de imágenes fue exitosa",
"imageTestFailed": "La prueba de generación de imágenes falló",
"imageTestPromptPlaceholder": "Ingresa una descripción de imagen para probar",
"imageTestPromptDefault": "Un gato tierno sentado en un escritorio",
"imageGenerating": "Generando imagen...",
"imageGenerationFailed": "Falló la generación de la imagen",
"enableVideoGeneration": "Habilitar generación de videos con IA",
"videoGenerationDisabledHint": "Al habilitarse, los videos se generarán automáticamente durante la creación del curso",
"videoSettings": "Generación de videos",
"videoSection": "Texto a video",
"videoProvider": "Proveedor de generación de videos",
"videoModel": "Modelo de generación de videos",
"providerSeedance": "Seedance (ByteDance)",
"providerKling": "Kling (Kuaishou)",
"providerVeo": "Veo (Google)",
"providerSora": "Sora (OpenAI)",
"providerMiniMaxVideo": "MiniMax Video",
"providerGrokVideo": "Grok Video (xAI)",
"providerHappyHorse": "HappyHorse (Alibaba Cloud)",
"testVideoGeneration": "Probar generación de videos",
"testVideoConnectivity": "Probar conexión",
"videoConnectivitySuccess": "Servicio de videos conectado correctamente",
"videoConnectivityFailed": "Falló la conexión con el servicio de videos",
"testingConnection": "Probando...",
"videoTestSuccess": "La prueba de generación de videos fue exitosa",
"videoTestFailed": "La prueba de generación de videos falló",
"videoTestPromptDefault": "Un gato tierno caminando sobre un escritorio",
"videoGenerating": "Generando video (aprox. 1-2 min)...",
"videoGenerationWarning": "La generación de video suele tardar de 1 a 2 minutos, ten paciencia",
"mediaRetry": "Reintentar",
"mediaContentSensitive": "Lo sentimos, este contenido activó una verificación de seguridad.",
"mediaGenerationDisabled": "Generación deshabilitada en la configuración",
"singleAgent": "Agente único",
"multiAgent": "Multiagente",
"selectAgents": "Seleccionar agentes",
"noVisionWarning": "El modelo actual no admite visión. Las imágenes aún pueden colocarse en las diapositivas, pero el modelo no puede entender su contenido para optimizar la selección y el diseño",
"serverConfigured": "Servidor",
"serverConfiguredNotice": "Este proveedor lo administra el servidor y no puede editarse aquí. Para usar tus propias credenciales, agrega un proveedor aparte.",
"ttsProviderEnabledLabel": "Habilitar este proveedor",
"ttsProviderEnabledHint": "Al desactivarlo, este proveedor se oculta del selector de voces y nunca se asigna automáticamente.",
"ttsProviderUnavailableHint": "Configura este proveedor antes de habilitarlo.",
"ttsProviderDisabledByAdmin": "Este proveedor fue deshabilitado por el administrador del servidor y no puede habilitarse.",
"optionalOverride": "Opcional — déjalo vacío para usar la configuración del servidor",
"setupNeeded": "Configuración requerida",
"modelNotConfigured": "Selecciona un modelo para comenzar",
"dangerZone": "Zona de peligro",
"clearCache": "Borrar caché local",
"clearCacheDescription": "Elimina todos los datos almacenados localmente, incluidos registros del aula, historial de chat, caché de audio y configuración de la app. Esta acción no se puede deshacer.",
"clearCacheConfirmTitle": "¿Seguro que quieres borrar toda la caché?",
"clearCacheConfirmDescription": "Esto eliminará permanentemente todos los datos siguientes y no podrán recuperarse:",
"clearCacheConfirmItems": "Aulas y escenas, historial de chat, caché de audio e imágenes, configuración y preferencias de la app",
"clearCacheConfirmInput": "Escribe \"ELIMINAR\" para continuar",
"clearCacheConfirmPhrase": "ELIMINAR",
"clearCacheButton": "Eliminar permanentemente todos los datos",
"clearCacheSuccess": "Caché borrada, la página se actualizará en breve",
"clearCacheFailed": "No se pudo borrar la caché, inténtalo de nuevo",
"clearCacheBlockedByOtherTabs": "Cierra las otras pestañas de la app y vuelve a intentarlo.",
"persistUnavailable": "Tus cambios no se están guardando porque la aplicación no puede acceder a sus datos almacenados. Si recargar no ayuda, borra la caché local en Configuración.",
"persistChangesLost": "El almacenamiento vuelve a funcionar, pero los cambios que hiciste mientras no estaba disponible no se pudieron guardar y se reemplazaron por la última versión guardada.",
"webSearchSettings": "Búsqueda web",
"webSearchApiKey": "Clave API de búsqueda",
"webSearchApiKeyPlaceholder": "Ingresa tu clave API de búsqueda",
"webSearchApiKeyPlaceholderServer": "Clave del servidor configurada; puedes sobrescribirla opcionalmente",
"webSearchApiKeyHint": "Obtén una clave API del proveedor de búsqueda seleccionado",
"claudeSearchModel": "Modelo de búsqueda",
"claudeSearchModelHint": "El modelo de Claude que realiza las búsquedas web y resume los resultados.",
"webSearchApiKeyOptional": "La clave API es opcional. Sin ella, se usará el scraping de páginas públicas como alternativa.",
"searxngServerOnlyNotice": "SearXNG debe configurarse en el servidor. Define la variable de entorno SEARXNG_BASE_URL (o la sección web-search en server-providers.yml). No se aceptan URLs de instancia proporcionadas por el cliente.",
"baiduSubSources": "Fuentes de búsqueda de Baidu",
"baiduSubSourcesDescription": "Elige al menos una fuente de Baidu para consultar.",
"baiduSubSourceWeb": "Búsqueda web",
"baiduSubSourceWebDescription": "Páginas web generales de Baidu AI Search.",
"baiduSubSourceBaike": "Baidu Baike",
"baiduSubSourceBaikeDescription": "Entradas de enciclopedia de Baidu Baike.",
"baiduSubSourceScholar": "Baidu Scholar",
"baiduSubSourceScholarDescription": "Artículos académicos de Baidu Scholar.",
"viewDocs": "Docs de la API",
"webSearchBaseUrl": "URL base",
"webSearchServerConfigured": "La clave API de búsqueda está configurada en el servidor",
"optional": "Opcional",
"selectProvider": "Seleccionar proveedor",
"customProvider": "Personalizado",
"presetPickHint": "Al elegir un proveedor se autocompletan su URL base y protocolo; ingresa tu clave y haz clic en \"Obtener modelos\". ¿No aparece? Usa \"Personalizado\".",
"presetCategory": {
"tokenPlan": "Planes de tokens",
"aggregator": "Agregadores",
"thirdParty": "Terceros",
"official": "Oficiales"
},
"fetchModels": "Obtener modelos",
"fetchModelsResult": "Se obtuvieron {total} modelos, se agregaron {added}",
"fetchModelsNoEndpoint": "Este proveedor no tiene endpoint de lista de modelos — agrega los modelos manualmente",
"fetchModelsAuthError": "La clave API no es válida o expiró",
"fetchModelsFailed": "No se pudieron obtener los modelos",
"usage": {
"title": "Uso",
"refresh": "Actualizar",
"disclaimer": "El uso lo registra el sistema; solo se cuentan las llamadas del lado del servidor.",
"totalRequests": "Solicitudes",
"totalTokens": "Tokens de LLM",
"dailyTrend": "Tendencia diaria de tokens",
"tokens": "Tokens",
"byModel": "Por modelo",
"model": "Modelo",
"type": "Tipo",
"reqs": "Solic.",
"usage": "Uso",
"empty": "Aún no hay datos de uso",
"kindLlm": "LLM",
"kindImage": "Imagen",
"kindVideo": "Video",
"kindTts": "Voz",
"kindAsr": "ASR",
"unitToken": "tokens",
"unitImage": "imágenes",
"unitSecond": "seg",
"unitCharacter": "caract."
},
"tokenPlan": {
"nav": "Plan de tokens",
"title": "Configuración del plan de tokens",
"desc": "Elige tu proveedor de plan de tokens e ingresa la clave — se autoconfigura cada modalidad adaptada (LLM/imagen/video/voz/búsqueda web).",
"selectPlan": "Seleccionar proveedor",
"apiKey": "Clave API",
"enable": "Habilitar",
"updateKey": "Actualizar clave",
"modelsCount": "{{n}} modelos",
"capabilities": "Capacidades ofrecidas",
"offeredNote": "Modelos que ofrece este plan. Elige los que quieras en la barra de generación — la disponibilidad depende del nivel de tu plan, y los modelos no compatibles darán error al momento de generar."
},
"ttsBrowserNativeTimelineNotice": "El TTS nativo del navegador no admite las funciones de audio de la línea de tiempo del editor (vista previa, regenerar y voz en off masiva). Cambia a un proveedor de TTS administrado para generar y administrar el audio por línea.",
"alidocmindAccessKeyId": "AccessKey ID",
"alidocmindAccessKeySecret": "AccessKey Secret"
},
"profile": {
"title": "Perfil",
"defaultNickname": "Aprendiz"
},
"media": {
"imageCapability": "Generación de imágenes",
"imageShort": "Imagen",
"imageHint": "Genera imágenes en las diapositivas",
"videoCapability": "Generación de video",
"videoShort": "Video",
"videoHint": "Genera videos en las diapositivas",
"ttsCapability": "Texto a voz",
"ttsShort": "Voz",
"ttsHint": "El maestro IA habla en voz alta",
"asrCapability": "Reconocimiento de voz",
"asrShort": "Micrófono",
"asrHint": "Entrada de voz para la discusión",
"webSearchShort": "Buscar",
"provider": "Proveedor",
"model": "Modelo",
"voice": "Voz",
"speed": "Velocidad",
"language": "Idioma"
},
"accessCode": {
"title": "Ingresa el código de acceso",
"placeholder": "Código de acceso",
"error": "Código de acceso no válido. Inténtalo de nuevo."
}
}