Phase 14 구현: 회의 모드 (Meeting Mode)
실시간 녹음 + 타임스탬프 메모 + STT 전사 + LLM 구조화 회의록 + PDF/MD 내보내기. CaptionService 연동, 동시 사용 충돌 방지, 긴 회의 2-pass 요약 지원. DB 2테이블, IPC 15채널, UI 3뷰(목록/녹음/상세), 12개 locale i18n.
This commit is contained in:
parent
dd68fc9ccd
commit
d0c4f9ee53
38 changed files with 2550 additions and 769 deletions
|
|
@ -1,13 +1,11 @@
|
|||
{
|
||||
"app.name": "D3RO Voice",
|
||||
"app.tagline": "Asistente de voz con IA local",
|
||||
|
||||
"nav.dashboard": "Panel",
|
||||
"nav.history": "Historial",
|
||||
"nav.dictionary": "Diccionario",
|
||||
"nav.commands": "Comandos",
|
||||
"nav.settings": "Ajustes",
|
||||
|
||||
"dashboard.sessionOverview": "Resumen de sesión",
|
||||
"dashboard.systemStatus": "Estado del sistema",
|
||||
"dashboard.sessionsToday": "Sesiones hoy",
|
||||
|
|
@ -26,7 +24,6 @@
|
|||
"dashboard.entries": "{{count}} entradas",
|
||||
"dashboard.stat": "estadísticas",
|
||||
"dashboard.sys": "sistema",
|
||||
|
||||
"history.title": "Historial de transcripciones",
|
||||
"history.search": "Buscar...",
|
||||
"history.entries": "{{count}} entradas",
|
||||
|
|
@ -34,7 +31,6 @@
|
|||
"history.noResults": "Sin resultados",
|
||||
"history.noHistory": "Sin historial — empieza a grabar",
|
||||
"history.count": "{{count}} entradas",
|
||||
|
||||
"dictionary.title": "Diccionario personalizado",
|
||||
"dictionary.words": "{{count}} palabras",
|
||||
"dictionary.add": "Añadir",
|
||||
|
|
@ -47,7 +43,6 @@
|
|||
"dictionary.addTitle": "Añadir palabra",
|
||||
"dictionary.word": "Palabra",
|
||||
"dictionary.pronunciation": "Pronunciación (opcional)",
|
||||
|
||||
"commands.title": "Comandos LLM",
|
||||
"commands.count": "{{count}} comandos",
|
||||
"commands.add": "Añadir",
|
||||
|
|
@ -62,14 +57,12 @@
|
|||
"commands.promptTemplate": "Plantilla de prompt",
|
||||
"commands.promptHelp": "{{text}} se reemplazará por el texto transcrito",
|
||||
"commands.defaultPrompt": "Por favor, mejora {{text}}.",
|
||||
|
||||
"settings.title": "Ajustes",
|
||||
"settings.tabs.general": "General",
|
||||
"settings.tabs.audio": "Audio",
|
||||
"settings.tabs.stt": "STT",
|
||||
"settings.tabs.llm": "LLM",
|
||||
"settings.tabs.about": "Acerca de",
|
||||
|
||||
"settings.shortcuts": "Atajos",
|
||||
"settings.dictation": "Dictado",
|
||||
"settings.dictation.desc": "Mantén pulsado para hablar. Al soltar, comienza la transcripción.",
|
||||
|
|
@ -82,20 +75,17 @@
|
|||
"settings.notSet": "No configurado",
|
||||
"settings.enabled": "Activado",
|
||||
"settings.disabled": "Desactivado",
|
||||
|
||||
"settings.interface": "Interfaz",
|
||||
"settings.theme": "Tema",
|
||||
"settings.theme.system": "Sistema",
|
||||
"settings.theme.light": "Claro",
|
||||
"settings.theme.dark": "Oscuro",
|
||||
"settings.language": "Idioma",
|
||||
|
||||
"settings.appBehavior": "Comportamiento de la app",
|
||||
"settings.closeToTray": "Minimizar a la bandeja",
|
||||
"settings.autoLaunch": "Iniciar con el sistema",
|
||||
"settings.autoInsert": "Insertar texto automáticamente tras transcripción",
|
||||
"settings.soundEffects": "Efectos de sonido",
|
||||
|
||||
"settings.microphone": "Micrófono",
|
||||
"settings.inputDevice": "Dispositivo de entrada",
|
||||
"settings.deviceDefault": "(predeterminado)",
|
||||
|
|
@ -103,7 +93,6 @@
|
|||
"settings.insertMethod": "Método de inserción",
|
||||
"settings.insertClipboard": "Portapapeles (Ctrl+V)",
|
||||
"settings.insertKeyboard": "Escritura con teclado",
|
||||
|
||||
"settings.whisperModel": "Modelo Whisper",
|
||||
"settings.model.tiny": "tiny (39 MB, más rápido)",
|
||||
"settings.model.base": "base (74 MB, equilibrado)",
|
||||
|
|
@ -112,7 +101,6 @@
|
|||
"settings.model.large": "large-v3 (1.5 GB, mejor)",
|
||||
"settings.sttLanguage": "Idioma de reconocimiento",
|
||||
"settings.sttLang.auto": "Detección automática",
|
||||
|
||||
"settings.ollamaServer": "Servidor Ollama",
|
||||
"settings.ollamaUrl": "URL del servidor Ollama",
|
||||
"settings.ollamaHint": "D3RO Voice se conecta automáticamente cuando Ollama está en ejecución. Descarga modelos directamente desde Ollama (ej: ollama pull qwen3:4b).",
|
||||
|
|
@ -125,7 +113,6 @@
|
|||
"settings.action.grammar": "Corrección gramatical",
|
||||
"settings.action.custom": "Prompt personalizado",
|
||||
"settings.actionHint": "El postprocesado LLM seleccionado se aplica al texto transcrito tras grabar con el atajo. Solo funciona cuando Ollama está conectado.",
|
||||
|
||||
"settings.about.version": "Versión",
|
||||
"settings.about.techStack": "Stack tecnológico",
|
||||
"settings.about.techStackValue": "Electron + React 19 + MUI 7 + TypeScript",
|
||||
|
|
@ -133,13 +120,11 @@
|
|||
"settings.about.voiceEngineValue": "STT: faster-whisper (local) / LLM: Ollama (local)",
|
||||
"settings.about.description": "Asistente de voz con IA completamente local, basado en ingeniería inversa de Speakly. Funciona sin dependencias en la nube.",
|
||||
"settings.about.restartOnboarding": "Ver guía de configuración inicial de nuevo",
|
||||
|
||||
"status.ollama": "OLLAMA",
|
||||
"status.offline": "OFFLINE",
|
||||
"status.nudge.title": "Ollama no está en ejecución",
|
||||
"status.nudge.desc": "Se necesita Ollama para el postprocesado LLM (traducción, resumen, etc.).",
|
||||
"status.nudge.guide": "Ver guía de instalación →",
|
||||
|
||||
"onboarding.welcome.title": "D3RO-VOICE",
|
||||
"onboarding.welcome.desc": "Sin escribir, con voz. Tu asistente de voz con IA local.",
|
||||
"onboarding.welcome.start": "Comenzar",
|
||||
|
|
@ -160,7 +145,6 @@
|
|||
"onboarding.done.start": "Comenzar",
|
||||
"onboarding.back": "Atrás",
|
||||
"onboarding.next": "Siguiente",
|
||||
|
||||
"hotkey.title": "Configurar atajo",
|
||||
"hotkey.dictationTitle": "Configurar atajo de dictado",
|
||||
"hotkey.oneTouchTitle": "Configurar atajo de modo un toque",
|
||||
|
|
@ -171,7 +155,6 @@
|
|||
"hotkey.current": "Actual: {{keys}}",
|
||||
"hotkey.hint": "Introduce una combinación (ej: Ctrl+Shift+Q) o una tecla sola (ej: F5)",
|
||||
"hotkey.reset": "Volver a introducir",
|
||||
|
||||
"ollama.title": "GUÍA DE CONFIGURACIÓN DE OLLAMA",
|
||||
"ollama.step1.title": "PASO 1 — Instalar Ollama",
|
||||
"ollama.step1.desc": "Ollama es una herramienta gratuita para ejecutar LLMs de forma local.",
|
||||
|
|
@ -180,7 +163,6 @@
|
|||
"ollama.step2.alt": "O un modelo más grande: ollama pull qwen3:8b (más preciso, más lento)",
|
||||
"ollama.step3.title": "PASO 3 — Conexión automática",
|
||||
"ollama.step3.desc": "D3RO-VOICE detecta automáticamente cuando Ollama está en ejecución. Cuando el LED de la barra de estado pase de rojo a verde, ¡estará listo!",
|
||||
|
||||
"service.sttEngine": "MOTOR STT",
|
||||
"service.ollamaLlm": "OLLAMA LLM",
|
||||
"service.hotkeyHook": "ATAJO DE TECLADO",
|
||||
|
|
@ -190,7 +172,6 @@
|
|||
"service.offline": "OFFLINE",
|
||||
"service.active": "ACTIVO",
|
||||
"service.standby": "EN ESPERA",
|
||||
|
||||
"common.cancel": "Cancelar",
|
||||
"common.save": "Guardar",
|
||||
"common.delete": "Eliminar",
|
||||
|
|
@ -202,7 +183,51 @@
|
|||
"common.copy": "Copiar",
|
||||
"common.test": "Probar",
|
||||
"common.stop": "Detener",
|
||||
|
||||
"date.today": "Hoy",
|
||||
"date.yesterday": "Ayer"
|
||||
"date.yesterday": "Ayer",
|
||||
"settings.theme.nord": "Nord",
|
||||
"settings.theme.solarized": "Solarized",
|
||||
"settings.theme.catppuccin": "Catppuccin",
|
||||
"settings.theme.dracula": "Dracula",
|
||||
"settings.sttLang.ko": "Coreano",
|
||||
"settings.sttLang.en": "Inglés",
|
||||
"settings.sttLang.ja": "Japonés",
|
||||
"settings.sttLang.zh": "Chino",
|
||||
"template.outputHelperText": "Use {{nombreCampo}} para marcadores de posición",
|
||||
"nav.meeting": "Reunión",
|
||||
"meeting.title": "Modo Reunión",
|
||||
"meeting.newMeeting": "Nueva Reunión",
|
||||
"meeting.startRecording": "Iniciar Grabación",
|
||||
"meeting.stopRecording": "Detener Grabación",
|
||||
"meeting.recording": "Grabando",
|
||||
"meeting.processing": "Generando actas...",
|
||||
"meeting.completed": "Completado",
|
||||
"meeting.error": "Error",
|
||||
"meeting.elapsed": "Tiempo transcurrido",
|
||||
"meeting.memoPlaceholder": "Escribe un memo (Enter para añadir)",
|
||||
"meeting.memoAdded": "Memo añadido",
|
||||
"meeting.noSessions": "Sin grabaciones de reuniones",
|
||||
"meeting.noSessionsDesc": "Pulsa Nueva Reunión para empezar a grabar",
|
||||
"meeting.summary": "Resumen",
|
||||
"meeting.decisions": "Decisiones",
|
||||
"meeting.actionItems": "Tareas",
|
||||
"meeting.timeline": "Línea de tiempo",
|
||||
"meeting.transcript": "Transcripción bruta",
|
||||
"meeting.memos": "Memos",
|
||||
"meeting.exportPdf": "Exportar PDF",
|
||||
"meeting.exportMarkdown": "Exportar Markdown",
|
||||
"meeting.delete": "Eliminar",
|
||||
"meeting.deleteConfirm": "¿Eliminar este registro de reunión?",
|
||||
"meeting.backToList": "Volver a la lista",
|
||||
"meeting.notificationTitle": "Actas listas",
|
||||
"meeting.notificationBody": "Las actas de la reunión han sido generadas.",
|
||||
"meeting.sessions": "{{count}} sesiones",
|
||||
"meeting.duration": "{{minutes}} min",
|
||||
"meeting.editTitle": "Editar título",
|
||||
"meeting.untitled": "Reunión sin título",
|
||||
"meeting.processingStep.merging": "Fusionando transcripción...",
|
||||
"meeting.processingStep.generating": "Generando actas con LLM...",
|
||||
"meeting.processingStep.parsing": "Analizando actas...",
|
||||
"meeting.processingStep.saving": "Guardando...",
|
||||
"meeting.processingStep.notifying": "Enviando notificación..."
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue