Adds next-sentence suggestions while typing, weekly input insights and a personal phrase memory to the desktop app, and fixes custom instructions so they process the text instead of inserting the instruction's own wording. Local model requests are now bounded and individually cancellable. Bumps the product version to 1.5.0 (Android/iOS build 1050000), refreshes the landing and web download links, and records the new INPUT feature rows and the open verification gaps in the infrastructure map.
516 lines
28 KiB
JSON
516 lines
28 KiB
JSON
{
|
||
"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",
|
||
"nav.meetings": "Reuniones",
|
||
"nav.record": "Grabar",
|
||
"nav.chat": "Chat",
|
||
"nav.knowledge": "Conocimiento",
|
||
"nav.actions": "Acciones",
|
||
"nav.teams": "Equipos",
|
||
"nav.billing": "Facturación",
|
||
"nav.logout": "Cerrar sesión",
|
||
"login.subtitle": "Asistente de voz con IA",
|
||
"login.google": "Continuar con Google",
|
||
"login.github": "Continuar con GitHub",
|
||
"login.terms": "Al continuar, aceptas los Términos de servicio y la Política de privacidad.",
|
||
"dashboard.systemStatus": "Estado del sistema",
|
||
"dashboard.sessionsToday": "Sesiones hoy",
|
||
"dashboard.pressToRecord": "Pulsa {{key}} para empezar a grabar",
|
||
"dashboard.hotkeyNotSet": "Atajo no configurado",
|
||
"dashboard.words": "palabras",
|
||
"dashboard.total": "total",
|
||
"dashboard.days": "días",
|
||
"dashboard.sessions": "sesiones",
|
||
"dashboard.recentTranscriptions": "Transcripciones recientes",
|
||
"dashboard.noHistory": "Sin historial — pulsa el atajo para empezar a grabar",
|
||
"dashboard.entries": "{{count}} entradas",
|
||
"dashboard.currentBackend": "Backend actual",
|
||
"dashboard.backendLocal": "Local (Ollama)",
|
||
"dashboard.backendPremium": "Premium (Claude)",
|
||
"history.title": "Historial de transcripciones",
|
||
"history.search": "Buscar...",
|
||
"history.entries": "{{count}} entradas",
|
||
"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",
|
||
"dictionary.search": "Buscar...",
|
||
"dictionary.noResults": "Sin resultados",
|
||
"dictionary.noWords": "Sin palabras — añade palabras personalizadas para mejorar la precisión del STT",
|
||
"dictionary.used": "usado {{count}} veces",
|
||
"dictionary.editTitle": "Editar palabra",
|
||
"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",
|
||
"commands.activeCommand": "Comando activo",
|
||
"commands.none": "Ninguno",
|
||
"commands.noCommands": "Sin comandos — haz clic en añadir para crear uno",
|
||
"commands.editTitle": "Editar comando",
|
||
"commands.addTitle": "Añadir comando",
|
||
"commands.name": "Nombre",
|
||
"commands.description": "Descripción",
|
||
"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.cloud": "Nube",
|
||
"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.",
|
||
"settings.agent": "Modo agente",
|
||
"settings.agent.descWithKey": "Haz doble clic en {{key}} para entrar en el modo agente.",
|
||
"settings.agent.descNoKey": "Primero configura el atajo de dictado.",
|
||
"settings.oneTouch": "Modo un toque",
|
||
"settings.oneTouch.desc": "Pulsa para iniciar, pulsa de nuevo para detener. Requiere un atajo independiente.",
|
||
"settings.key": "Tecla",
|
||
"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)",
|
||
"settings.textInsert": "Inserción de texto",
|
||
"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)",
|
||
"settings.model.small": "small (244 MB, bueno)",
|
||
"settings.model.medium": "medium (769 MB, muy bueno)",
|
||
"settings.model.large": "large-v3 (1.5 GB, mejor)",
|
||
"settings.model.largeTurbo": "large-v3-turbo (1.6 GB, rápido y preciso)",
|
||
"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 gemma4:e4b).",
|
||
"settings.postProcess": "Postprocesado de voz",
|
||
"settings.defaultAction": "Acción de postprocesado predeterminada",
|
||
"settings.action.none": "Ninguna (texto original sin cambios)",
|
||
"settings.action.refine": "Refinar (gramática + naturalidad)",
|
||
"settings.action.translate": "Traducir",
|
||
"settings.action.summarize": "Resumir",
|
||
"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",
|
||
"settings.about.voiceEngine": "Motor de voz",
|
||
"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.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 →",
|
||
"hotkey.title": "Configurar atajo",
|
||
"hotkey.dictationTitle": "Configurar atajo de dictado",
|
||
"hotkey.oneTouchTitle": "Configurar atajo de modo un toque",
|
||
"hotkey.prompt": "Pulsa una combinación de teclas...",
|
||
"hotkey.ready": "✓ {{keys}} — pulsa guardar",
|
||
"hotkey.noKey": "Por favor, introduce una tecla",
|
||
"hotkey.reserved": "{{keys}} es un atajo reservado por el sistema",
|
||
"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.",
|
||
"ollama.step2.title": "PASO 2 — Descargar un modelo",
|
||
"ollama.step2.desc": "Ejecuta el siguiente comando en la terminal para descargar el modelo recomendado:",
|
||
"ollama.step2.alt": "O un modelo más grande: ollama pull gemma4:26b (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",
|
||
"service.audioInput": "ENTRADA DE AUDIO",
|
||
"service.ready": "LISTO",
|
||
"service.connected": "CONECTADO",
|
||
"service.offline": "OFFLINE",
|
||
"service.active": "ACTIVO",
|
||
"service.standby": "EN ESPERA",
|
||
"service.premiumLlm": "PREMIUM LLM",
|
||
"service.notConfigured": "NOT SET",
|
||
"common.cancel": "Cancelar",
|
||
"common.save": "Guardar",
|
||
"common.delete": "Eliminar",
|
||
"common.close": "Cerrar",
|
||
"common.confirm": "Confirmar",
|
||
"common.loading": "Cargando...",
|
||
"common.copy": "Copiar",
|
||
"common.test": "Probar",
|
||
"common.stop": "Detener",
|
||
"date.today": "Hoy",
|
||
"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.stopRecording": "Detener Grabación",
|
||
"meeting.recording": "Grabando",
|
||
"meeting.processing": "Generando actas...",
|
||
"meeting.completed": "Completado",
|
||
"meeting.error": "Error",
|
||
"meeting.memoPlaceholder": "Escribe un memo (Enter para añadir)",
|
||
"meeting.noSessions": "Sin grabaciones de reuniones",
|
||
"meeting.noSessionsDesc": "Pulsa Nueva Reunión para empezar a grabar",
|
||
"meeting.transcript": "Transcripción bruta",
|
||
"meeting.memos": "Memos",
|
||
"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...",
|
||
"meeting.transcriptTab": "Transcripción",
|
||
"meeting.addDocument": "Agregar documento",
|
||
"meeting.selectTemplate": "Seleccionar plantilla",
|
||
"meeting.generate": "Generar",
|
||
"meeting.generating": "Generando documento...",
|
||
"meeting.editMode": "Editar",
|
||
"meeting.previewMode": "Vista previa",
|
||
"meeting.modified": "Modificado",
|
||
"meeting.originalText": "Original",
|
||
"meeting.editedText": "Editado",
|
||
"meeting.exportDocx": "Exportar DOCX",
|
||
"meeting.exportTxt": "Exportar TXT",
|
||
"meeting.exportFormat": "Exportar",
|
||
"meeting.customPrompt": "Prompt personalizado",
|
||
"meeting.templateName": "Nombre de plantilla",
|
||
"meeting.templatePrompt": "Prompt de IA",
|
||
"meeting.downloadTranscript": "Descargar transcripción",
|
||
"meeting.polish": "Pulir con IA",
|
||
"meeting.polishing": "IA puliendo transcripción...",
|
||
"meeting.chat": "Chat IA",
|
||
"meeting.chatPlaceholder": "Pregunta sobre la reunión...",
|
||
"meeting.chatClear": "Limpiar chat",
|
||
"meeting.copyToClipboard": "Copiar al portapapeles",
|
||
"meeting.chatCollapse": "Contraer chat",
|
||
"meeting.chatExpand": "Expandir chat",
|
||
"meeting.chatReasoning": "Razonando…",
|
||
"meeting.exportMd": "Markdown (.md)",
|
||
"meeting.exportPdfFmt": "PDF (.pdf)",
|
||
"meeting.polishFailed": "Error al pulir con IA",
|
||
"meeting.viewDetailError": "Error al cargar detalles de la reunión",
|
||
"meeting.startRecordingError": "Error al iniciar la grabación",
|
||
"meeting.diarize": "Identificar hablantes",
|
||
"meeting.diarizing": "Identificando hablantes...",
|
||
"settings.hfToken": "Token de HuggingFace",
|
||
"settings.hfTokenHint": "Se necesita un token de HuggingFace para identificar hablantes",
|
||
"settings.diarization": "Identificación de hablantes",
|
||
"settings.diarizationHint": "Identifica automáticamente los hablantes al finalizar la grabación",
|
||
"theme.label": "Tema",
|
||
"theme.dark": "Oscuro",
|
||
"theme.light": "Claro",
|
||
"theme.auto": "Auto (sistema)",
|
||
"theme.nord": "Nord",
|
||
"theme.solarized": "Solarized",
|
||
"theme.catppuccin": "Catppuccin",
|
||
"theme.dracula": "Dracula",
|
||
"license.signInRequired": "Sign in to manage your subscription",
|
||
"license.signInToUpgrade": "Sign in to upgrade",
|
||
"license.subscriptionManage": "Manage subscription",
|
||
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
|
||
"license.currentPlanActive": "Your current plan",
|
||
"license.premiumQuota": "Premium Quota",
|
||
"license.modelHaiku": "Haiku",
|
||
"license.modelSonnet": "Sonnet",
|
||
"license.modelOpus": "Opus",
|
||
"license.quotaWeekly": "weekly",
|
||
"license.quotaDaily": "daily",
|
||
"mobile.works.title": "WORKS",
|
||
"mobile.works.count": "{{count}} funciones",
|
||
"mobile.works.searchPlaceholder": "Buscar funciones",
|
||
"mobile.works.pinned": "Fijado",
|
||
"mobile.works.pin": "Fijar arriba",
|
||
"mobile.works.unpin": "Quitar fijado",
|
||
"mobile.works.emptySearch": "No hay funciones que coincidan.",
|
||
"mobile.works.section.meetings": "Trabajo de reuniones",
|
||
"mobile.works.section.team": "Equipo y conocimiento",
|
||
"mobile.works.section.data": "Datos y avisos",
|
||
"mobile.works.historyDescription": "Busca y gestiona transcripciones de grabaciones e importaciones.",
|
||
"mobile.meetings.templateEmpty": "No hay plantillas de documento de reunión disponibles. Puedes iniciar la reunión sin una.",
|
||
"mobile.meetings.templateNone": "Empezar sin plantilla",
|
||
"mobile.meetings.templateNoneDesc": "Elige una plantilla al generar documentos",
|
||
"keybinding.mouse.left": "Botón izquierdo del ratón",
|
||
"keybinding.mouse.right": "Botón derecho del ratón",
|
||
"keybinding.mouse.middle": "Botón central del ratón",
|
||
"keybinding.mouse.back": "Botón Atrás del ratón",
|
||
"keybinding.mouse.forward": "Botón Adelante del ratón",
|
||
"keybinding.group.mouse": "Ratón",
|
||
"keybinding.group.modifier": "Modificadores",
|
||
"keybinding.group.function": "Teclas de función",
|
||
"keybinding.group.letter": "Letras",
|
||
"keybinding.group.digit": "Números",
|
||
"keybinding.group.numpad": "Teclado numérico",
|
||
"keybinding.group.navigation": "Navegación",
|
||
"keybinding.group.editing": "Edición",
|
||
"keybinding.group.punctuation": "Símbolos",
|
||
"keybinding.group.system": "Sistema",
|
||
"keybinding.action.dictation": "Dictado",
|
||
"keybinding.action.dictation.desc": "Graba mientras se mantiene pulsada la tecla.",
|
||
"keybinding.action.handsFree": "Modo un toque",
|
||
"keybinding.action.handsFree.desc": "Pulsa dos veces para activarlo o desactivarlo.",
|
||
"keybinding.action.command": "Comandos de voz",
|
||
"keybinding.action.command.desc": "Ejecuta un comando por voz.",
|
||
"keybinding.action.caption": "Subtítulos en directo",
|
||
"keybinding.action.caption.desc": "Activa o desactiva los subtítulos en directo.",
|
||
"keybinding.action.historyPopup": "Ventana de historial",
|
||
"keybinding.action.historyPopup.desc": "Abre la ventana emergente del historial.",
|
||
"keybinding.action.commandPopup": "Ventana de comandos",
|
||
"keybinding.action.commandPopup.desc": "Abre la ventana emergente de comandos.",
|
||
"keybinding.reject.unknownKey": "Esta tecla no es compatible",
|
||
"keybinding.reject.systemReserved": "Es un atajo reservado por el sistema",
|
||
"keybinding.reject.modifierRequired": "Debe combinarse con un modificador (Ctrl/Alt/Mayús)",
|
||
"keybinding.disabled.mouseLeft": "El clic izquierdo se usa en toda la interfaz, así que no se puede asignar",
|
||
"keybinding.warning.mousePassthrough": "Los botones del ratón siguen ejecutando también su acción original",
|
||
"keybinding.ui.add": "Añadir",
|
||
"keybinding.ui.remove": "Eliminar",
|
||
"keybinding.ui.reset": "Restablecer valores",
|
||
"keybinding.ui.tabRecord": "Pulsar tecla",
|
||
"keybinding.ui.tabList": "Elegir de la lista",
|
||
"keybinding.ui.search": "Buscar teclas",
|
||
"keybinding.ui.searchEmpty": "No hay resultados",
|
||
"keybinding.ui.pressKeys": "Pulsa la tecla o el botón del ratón que quieras",
|
||
"keybinding.ui.noBindings": "Sin atajo configurado",
|
||
"keybinding.ui.conflictWith": "Entra en conflicto con {{action}}",
|
||
"keybinding.ui.modifiers": "Modificadores",
|
||
"keybinding.ui.selectedKey": "Tecla seleccionada",
|
||
"keybinding.ui.sectionVoice": "Voz",
|
||
"keybinding.ui.sectionWindow": "Ventanas / Emergentes",
|
||
"keybinding.ui.duplicate": "Este atajo ya está añadido",
|
||
"keybinding.ui.holdMode": "Mantener",
|
||
"keybinding.ui.doublePress": "Doble pulsación",
|
||
"keybinding.ui.pickerTitle": "Configurar atajo",
|
||
"keybinding.ui.pressToRecord": "Pulsa para empezar a grabar",
|
||
"keybinding.ui.recordHint": "Introduce una combinación (ej: Ctrl+Shift+Q) o una tecla sola (ej: F5)",
|
||
"keybinding.ui.recordAgain": "Volver a introducir",
|
||
"keybinding.ui.saveFailed": "No se ha podido guardar el atajo",
|
||
"keybinding.ui.globalEnabled": "Usar atajos globales",
|
||
"input.tab": "Entrada",
|
||
"input.consent.title": "Recopilación de datos de entrada",
|
||
"input.consent.description": "Opcional. Contamos pulsaciones y clics y medimos el recorrido del ratón para mostrar tus patrones de escritura. Nunca se guarda qué teclas pulsas.",
|
||
"input.consent.collect": "Recopilar estadísticas de teclado y ratón",
|
||
"input.consent.running": "Recopilando ahora.",
|
||
"input.consent.stopped": "La recopilación está desactivada. No se registra nada.",
|
||
"input.consent.pause": "Pausar la recopilación",
|
||
"input.consent.learnText": "Aprender el texto que escribo",
|
||
"input.consent.learnTextHint": "Lee el campo de texto enfocado para aprender tu forma de escribir. Los campos de contraseña siempre se omiten.",
|
||
"input.consent.excludedApps": "Aplicaciones excluidas",
|
||
"input.consent.excludedAppsPlaceholder": "keepassxc.exe, 1password.exe",
|
||
"input.consent.excludedAppsHint": "Nombres de ejecutables separados por comas. En estas aplicaciones no se lee ni se cuenta nada.",
|
||
"input.consent.clearAll": "Eliminar los datos recopilados",
|
||
"input.suggestion.title": "Sugerencias de siguiente frase",
|
||
"input.suggestion.description": "Predice la frase que vas a escribir y la muestra junto al cursor. Acéptala para insertarla.",
|
||
"input.suggestion.enabled": "Mostrar sugerencias al escribir",
|
||
"input.suggestion.modelReady": "Modelo local listo.",
|
||
"input.suggestion.modelMissing": "El modelo local no está en ejecución: las sugerencias están desactivadas.",
|
||
"input.suggestion.delay": "Retardo (ms)",
|
||
"input.suggestion.minPrefix": "Caracteres mínimos",
|
||
"input.suggestion.modelDefault": "Usar el modelo predeterminado",
|
||
"input.suggestion.overlayInteractive": "Permitir clic en el cuadro de sugerencia",
|
||
"input.suggestion.overlayVisible": "La sugerencia está en pantalla",
|
||
"input.suggestion.keyHint": "Aceptar, alternar y descartar son atajos globales: cámbialos en Ajustes > Atajos.",
|
||
"input.suggestion.requestNow": "Sugerir ahora",
|
||
"input.suggestion.usage": "{{requests}} de {{budget}} solicitudes usadas hoy",
|
||
"input.suggestion.lastSkip": "Último descarte: {{reason}}",
|
||
"input.insights.title": "Últimos {{days}} días",
|
||
"input.insights.keystrokes": "Pulsaciones",
|
||
"input.insights.clicks": "Clics",
|
||
"input.insights.words": "Palabras escritas",
|
||
"input.insights.sentences": "Frases",
|
||
"input.insights.mouseDistance": "Recorrido del ratón",
|
||
"input.insights.perDayMeters": " m/día",
|
||
"input.insights.phrases": "Frases personales",
|
||
"input.insights.empty": "Aún no hay actividad recopilada.",
|
||
"input.insights.topApps": "Donde más escribes",
|
||
"input.insights.appRow": "{{keystrokes}} teclas · {{clicks}} clics",
|
||
"input.insights.privacyNote": "En este dispositivo solo se guardan contadores y distancias. El contenido de las teclas nunca se guarda.",
|
||
"input.phrases.title": "Frases personales",
|
||
"input.phrases.description": "Frases aprendidas de tu escritura y dictado, usadas para imitar tu estilo.",
|
||
"input.phrases.empty": "Aún no se ha aprendido nada.",
|
||
"input.phrases.delete": "Eliminar frase",
|
||
"input.feedback.excludedSaved": "Exclusiones guardadas.",
|
||
"input.feedback.cleared": "Datos recopilados eliminados.",
|
||
"popup.suggestion.hintAccept": "Aceptar",
|
||
"popup.suggestion.hintNext": "Siguiente",
|
||
"popup.suggestion.hintDismiss": "Descartar",
|
||
"popup.suggestion.loading": "Generando…",
|
||
"keybinding.ui.sectionInput": "Sugerencias de entrada",
|
||
"keybinding.action.suggestionAccept": "Aceptar sugerencia",
|
||
"keybinding.action.suggestionAccept.desc": "Inserta la frase sugerida en la aplicación enfocada.",
|
||
"keybinding.action.suggestionNext": "Siguiente sugerencia",
|
||
"keybinding.action.suggestionNext.desc": "Pasa al siguiente candidato.",
|
||
"keybinding.action.suggestionDismiss": "Descartar sugerencia",
|
||
"keybinding.action.suggestionDismiss.desc": "Oculta la sugerencia actual.",
|
||
"input.suggestion.timeout": "Límite de respuesta (ms)",
|
||
"input.suggestion.latency": "Última respuesta: {{ms}} ms",
|
||
"input.suggestion.slowWarning": "Más lento que escribir — prueba un modelo más pequeño.",
|
||
"input.diagnostics.title": "Diagnóstico en vivo",
|
||
"input.diagnostics.app": "Aplicación enfocada: {{app}}",
|
||
"input.diagnostics.unknownApp": "(desconocida)",
|
||
"input.diagnostics.noSnapshot": "Aún no se ha leído ningún campo: haz clic en un campo de texto y escribe.",
|
||
"input.diagnostics.readable": "Campo legible ({{source}}, {{length}} caracteres) — las sugerencias pueden funcionar.",
|
||
"input.diagnostics.notReadable": "Esta aplicación no expone su campo de texto: lo escrito no se puede leer y no se sugiere nada.",
|
||
"input.diagnostics.password": "Campo de contraseña: la lectura está bloqueada por diseño.",
|
||
"input.diagnostics.caretFallback": "Sin posición del cursor; se usa el final del documento.",
|
||
"input.diagnostics.composing": "Composición IME en curso: la sugerencia aparece un poco más tarde.",
|
||
"input.suggestion.onScreenLabel": "Estado del overlay",
|
||
"input.suggestion.onScreen": "En pantalla",
|
||
"input.suggestion.offScreen": "Oculto",
|
||
"input.suggestion.generating": "Generando…",
|
||
"input.kbView.knowledge": "Base de conocimiento",
|
||
"input.kbView.insights": "Análisis de entrada",
|
||
"input.insights.tabs.overview": "Resumen",
|
||
"input.insights.tabs.keyboard": "Teclado",
|
||
"input.insights.tabs.mouse": "Ratón",
|
||
"input.insights.tabs.apps": "Aplicaciones",
|
||
"input.insights.tabs.phrases": "Frases · sugerencias",
|
||
"input.insights.chars": "Caracteres escritos",
|
||
"input.insights.wordChars": "Caracteres",
|
||
"input.insights.backspaces": "Borrados",
|
||
"input.insights.shortcuts": "Atajos",
|
||
"input.insights.doubleClicks": "Doble clic",
|
||
"input.insights.scrollTicks": "Desplazamiento",
|
||
"input.insights.activeMinutes": "Tiempo activo",
|
||
"input.insights.activeDays": "Días registrados",
|
||
"input.insights.streak": "Racha más larga",
|
||
"input.insights.peakDay": "Día con más actividad",
|
||
"input.insights.perDayAverage": "Promedio diario",
|
||
"input.insights.mouseDistanceTotal": "Recorrido total del ratón",
|
||
"input.insights.hourlyTitle": "Por hora (0-23)",
|
||
"input.insights.dailyTitle": "Tendencia diaria",
|
||
"input.insights.wordsDailyTitle": "Palabras por día",
|
||
"input.insights.distanceDailyTitle": "Recorrido diario del ratón",
|
||
"input.insights.topHoursHint": "Busiest hours: {{hours}}",
|
||
"input.insights.mouseNote": "Mouse travel is the sum of per-axis absolute deltas (Manhattan), the same measure ActivityWatch uses.",
|
||
"input.insights.appsHint": "Top apps by typing volume. The bar is that app’s share of all keystrokes.",
|
||
"input.insights.suggestions": "Sugerencias",
|
||
"input.insights.suggestionsTotal": "Generadas",
|
||
"input.insights.suggestionsAccepted": "Aceptadas",
|
||
"input.insights.acceptRate": "Tasa de aceptación",
|
||
"input.insights.avgLatency": "Respuesta media",
|
||
"input.insights.suggestionHistory": "Sugerencias recientes",
|
||
"input.insights.accepted": "aceptada",
|
||
"input.insights.notAccepted": "no aceptada",
|
||
"input.insights.noSuggestions": "No suggestions recorded yet.",
|
||
"input.insights.samplesNote": "{{count}} learned samples.",
|
||
"input.insights.collectedAt": "Last capture {{at}}",
|
||
"input.insights.rangeLabel": "Rango",
|
||
"input.insights.rangeDays": "{{days}} días",
|
||
"input.insights.headerSummary": "Last {{days}} days · {{keys}} keystrokes · {{apps}} apps",
|
||
"input.insights.disabledHint": "Input collection is off. Turn it on in Settings > Input and statistics will collect here.",
|
||
"input.insights.statsMovedHint": "Las estadísticas detalladas están en Base de conocimiento > Análisis de entrada.",
|
||
"input.chart.max": "máx. {{value}}",
|
||
"input.chart.noData": "Aún no hay datos.",
|
||
"input.unit.perDay": "/día",
|
||
"input.unit.perDayMeters": "m/día",
|
||
"input.unit.meters": "m",
|
||
"input.unit.ms": "ms",
|
||
"input.unit.percent": "%",
|
||
"popup.suggestion.warming": "Preparando el modelo…",
|
||
"popup.suggestion.hintGenerating": "Generando…",
|
||
"keybinding.action.suggestionPrev": "Sugerencia anterior",
|
||
"keybinding.action.suggestionPrev.desc": "Pasa al candidato anterior.",
|
||
"input.insights.tabs.graph": "Grafo",
|
||
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
|
||
"input.graph.nodes": "Nodos de frase",
|
||
"input.graph.followsEdges": "Enlaces de continuación",
|
||
"input.graph.sharesEdges": "Enlaces por términos",
|
||
"input.graph.topEdges": "Enlaces más fuertes",
|
||
"input.graph.recentNodes": "Nodos recientes",
|
||
"input.graph.searchLabel": "Buscar una frase",
|
||
"input.graph.searchPlaceholder": "e.g. meeting schedule",
|
||
"input.graph.searchAction": "Buscar",
|
||
"input.graph.neighbors": "Frases conectadas",
|
||
"input.graph.empty": "The graph is empty. Enable \"Learn the text I type\" in Settings > Input and it fills up.",
|
||
"input.graph.kindFollows": "continúa",
|
||
"input.graph.kindShares": "comparte términos",
|
||
"popup.suggestion.generating": "Generando… ({{seconds}} s)",
|
||
"keybinding.ui.auditClear": "No hay conflictos ni ajustes de atajos no válidos.",
|
||
"keybinding.ui.auditIssues": "{{count}} problemas de atajos",
|
||
"keybinding.ui.auditInvalid": "{{action}}: {{reason}}",
|
||
"keybinding.ui.auditConflict": "{{action}} entra en conflicto con {{conflicts}}",
|
||
"keybinding.ui.auditUnknown": "Problema desconocido",
|
||
"input.flow.title": "Horas de mayor concentración",
|
||
"input.flow.empty": "Aún no hay suficientes datos horarios de escritura.",
|
||
"input.flow.hour": "{{hour}}:00",
|
||
"input.flow.window": "Puntuación {{score}} · {{minutes}} min activos/día · {{friction}} % de ediciones",
|
||
"input.friction.title": "Fricción de edición",
|
||
"input.friction.value": "{{count}} por 100 caracteres",
|
||
"input.friction.band.steady": "Estable",
|
||
"input.friction.band.watch": "Vigilar",
|
||
"input.friction.band.high": "Alta",
|
||
"input.appQuality.title": "Calidad de sugerencias por app",
|
||
"input.appQuality.empty": "Aún no hay historial de sugerencias por app.",
|
||
"input.appQuality.row": "{{accepted}}/{{total}} aceptadas · {{rate}} % · {{latency}} ms",
|
||
"input.phrases.metadata": "{{source}} · {{count}}× · {{app}}",
|
||
"input.phrases.appUnknown": "Compartido",
|
||
"input.privacy.title": "Recibo de datos locales",
|
||
"input.privacy.localOnly": "Estos datos permanecen en este dispositivo.",
|
||
"input.privacy.rawKeys": "No se conservan eventos individuales ni códigos de teclas. Las muestras de texto aprendido se muestran por separado abajo.",
|
||
"input.privacy.activityRetention": "Retención de actividad",
|
||
"input.privacy.suggestionRetention": "Retención de sugerencias",
|
||
"input.privacy.learnedRetention": "Retención de texto aprendido",
|
||
"input.privacy.activityBuckets": "Bloques de actividad",
|
||
"input.privacy.typingSamples": "Muestras de escritura",
|
||
"input.privacy.personalPhrases": "Frases personales",
|
||
"input.privacy.suggestions": "Registros de sugerencias",
|
||
"input.privacy.days": "{{days}} días",
|
||
"input.privacy.untilDeleted": "Hasta eliminarse",
|
||
"input.exclusion.recommendation": "{{app}} tuvo {{samples}} entradas repetidamente ilegibles ({{reason}}).",
|
||
"input.exclusion.reason.repeated-unreadable": "repetidamente ilegible",
|
||
"input.exclusion.reason.repeated-empty": "repetidamente vacía",
|
||
"input.exclusion.addButton": "Añadir {{app}} a exclusiones",
|
||
"input.feedback.recommendationSaved": "{{app}} se añadió a exclusiones.",
|
||
"popup.suggestion.sourceModel": "Modelo local",
|
||
"popup.suggestion.sourceMemory": "Memoria local",
|
||
"popup.suggestion.continuations": "continuaciones",
|
||
"popup.suggestion.related": "relacionadas",
|
||
"popup.suggestion.phrases": "frases",
|
||
"popup.suggestion.appPhrases": "frases de la app",
|
||
"input.privacy.typingSamplesRetention": "Retención de muestras de texto escrito",
|
||
"input.privacy.unavailable": "El recibo de datos locales no está disponible ahora. No se muestran cantidades ni retención.",
|
||
"input.feedback.clearFailed": "No se pudieron eliminar los datos recopilados.",
|
||
"input.feedback.excludedFailed": "No se pudieron guardar las exclusiones.",
|
||
"input.feedback.recommendationFailed": "No se pudo añadir {{app}} a las exclusiones."
|
||
}
|