{
  "app": {
    "name": "OpenKara"
  },
  "common": {
    "cancel": "Cancelar",
    "close": "Cerrar",
    "confirm": "Confirmar",
    "save": "Guardar",
    "saving": "Guardando...",
    "search": "Buscar",
    "retry": "Reintentar",
    "tryAgain": "Intentar de nuevo",
    "loading": "Cargando…",
    "deleting": "Eliminando...",
    "unknownTitle": "Título desconocido",
    "unknownArtist": "Artista desconocido"
  },
  "setup": {
    "welcome": "Configura tu biblioteca de karaoke",
    "description": "Elige dónde debe guardar OpenKara tus canciones y pistas de karaoke. Puedes mover esta biblioteca más tarde, incluso a una unidad externa.",
    "createNew": "Crear biblioteca nueva",
    "createNewDescription": "Elige una ubicación. OpenKara creará una carpeta nueva allí.",
    "openExisting": "Usar biblioteca existente",
    "openExistingDescription": "Elige una carpeta de biblioteca que ya hayas configurado.",
    "settingUp": "Configurando tu biblioteca…",
    "dialogTitleCreate": "Elige una ubicación para tu biblioteca de karaoke",
    "dialogTitleOpen": "Abrir una biblioteca de karaoke existente",
    "chooseLanguage": "Elige un idioma",
    "openRemoteLibrary": "Elige un proveedor remoto",
    "openRemoteLibraryDescription": "Conecta Google Drive, Dropbox o WebDAV a tu repositorio remoto.",
    "useRemoteRepository": "Usar repositorio remoto",
    "remoteProvider": {
      "googleDrive": {
        "title": "Google Drive",
        "description": "Conéctate mediante Google OAuth y mantén una biblioteca de OpenKara en My Drive."
      },
      "dropbox": {
        "title": "Dropbox",
        "description": "Conéctate mediante Dropbox OAuth y mantén una biblioteca de OpenKara en tu Dropbox."
      },
      "webdav": {
        "title": "WebDAV",
        "description": "Conéctate ahora mismo a una biblioteca de OpenKara alojada en WebDAV."
      },
      "availableNow": "Disponible en esta versión",
      "plannedLater": "Previsto para la próxima fase de proveedores"
    },
    "chooseStemMode": "Elige el modo de separación",
    "stemModeDescription": "Esto controla cómo se separan las canciones para el modo karaoke. Puedes cambiarlo más tarde en los ajustes.",
    "twoStem": "2 pistas",
    "twoStemSubtitle": "Voz + Acompañamiento",
    "twoStemDetail": "Procesamiento más rápido, menos espacio en disco",
    "fourStem": "4 pistas",
    "fourStemSubtitle": "Voz + Batería + Bajo + Otros",
    "fourStemDetail": "Más control sobre cada instrumento, ~2× de espacio en disco",
    "getStarted": "Comenzar",
    "back": "Atrás",
    "modelDownloadHint": "El modelo y su runtime se descargan automáticamente la primera vez que separas una canción."
  },
  "sidebar": {
    "library": "BIBLIOTECA",
    "allTracks": "Todas las canciones",
    "separated": "Separadas",
    "localMusic": "MÚSICA LOCAL",
    "sortMode": {
      "label": "Ordenar por",
      "recently_imported": "Importadas recientemente",
      "title_asc": "Título A–Z",
      "artist_asc": "Artista A–Z"
    },
    "alphabetRail": {
      "label": "Navegación alfabética",
      "jumpTo": "Ir a {{letter}}",
      "other": "Otros caracteres"
    },
    "separateAll": "Separar todo",
    "separating": "Separando {{current}}/{{total}}",
    "separationComplete": "Separación completa: {{done}} completadas",
    "skipped": "{{count}} omitidas",
    "failed": "{{count}} fallidas",
    "twoStem": "2 pistas",
    "fourStem": "4 pistas",
    "upgradeAll": "Actualizar todo a 4 pistas",
    "confirmUpgrade": {
      "title": "Actualizar todas las canciones a 4 pistas",
      "message": "Se volverán a separar todas las canciones en modo de 4 pistas. El espacio en disco usado por las pistas se duplicará aproximadamente.",
      "confirm": "Actualizar todo"
    }
  },
  "toolbar": {
    "import": "Importar",
    "toggleSidebar": "Mostrar/ocultar barra lateral",
    "settings": "Ajustes"
  },
  "windowChrome": {
    "file": "Archivo",
    "edit": "Editar",
    "window": "Ventana",
    "help": "Ayuda",
    "import": "Importar",
    "settings": "Ajustes",
    "about": "Acerca de OpenKara",
    "closeWindow": "Cerrar ventana",
    "minimize": "Minimizar",
    "maximize": "Maximizar",
    "restore": "Restaurar",
    "close": "Cerrar",
    "undo": "Deshacer",
    "redo": "Rehacer",
    "cut": "Cortar",
    "copy": "Copiar",
    "paste": "Pegar",
    "selectAll": "Seleccionar todo"
  },
  "library": {
    "noTracks": "Aún no hay canciones",
    "importMusic": "Importar música",
    "separate": "Separar",
    "instrumental": "Instrumental",
    "delete": "Eliminar",
    "deleteConfirm": "Eliminar",
    "deleteSelected": "Eliminar seleccionadas ({{count}})",
    "confirmDeleteTitle_one": "Eliminar {{count}} canción",
    "confirmDeleteTitle_many": "Eliminar {{count}} canciones",
    "confirmDeleteTitle_other": "Eliminar {{count}} canciones",
    "confirmDeleteMessage": "Se quitarán las canciones seleccionadas de la biblioteca y se eliminarán sus archivos gestionados.",
    "playNow": "Reproducir ahora",
    "playNext": "Reproducir a continuación",
    "addToQueue": "Agregar a la cola",
    "extractEmbeddedCoverArt": "Extraer carátula incrustada",
    "extractEmbeddedCoverArtSelected": "Extraer carátula incrustada ({{count}})",
    "extractEmbeddedLyrics": "Extraer letra incrustada",
    "fetchLyricsOnline": "Buscar letra en línea",
    "language": "Idioma de la letra",
    "languageAuto": "Detección automática",
    "language_mandarin": "Mandarín",
    "language_cantonese": "Cantonés",
    "language_japanese": "Japonés",
    "language_korean": "Coreano",
    "language_cyrillic": "Cirílico",
    "language_thai": "Tailandés",
    "language_devanagari": "Devanagari",
    "language_gujarati": "Gujarati",
    "language_gurmukhi": "Gurmukhi",
    "language_telugu": "Telugu",
    "language_kannada": "Kannada",
    "language_odia": "Odia",
    "language_tamil": "Tamil",
    "editInfo": "Editar información",
    "properties": "Propiedades",
    "queueAllSelected": "Agregar todas a la cola ({{count}})",
    "markInstrumentalSelected": "Marcar como instrumental ({{count}})",
    "separateAllSelected": "Separar todas las seleccionadas ({{count}})",
    "importCdgChoice": {
      "title": "Elige un archivo de audio CD+G",
      "message": "{{cdgName}} coincide con varios archivos de audio seleccionados. Elige qué canción debe usar este archivo de gráficos.",
      "skip": "Omitir emparejamiento de CD+G"
    },
    "importPrompt": {
      "confirmTitle": "Confirmar importación",
      "confirmMessage": "¿Importar {{songCount}} canciones?",
      "confirmOk": "Importar"
    },
    "modelPreparing": "Preparando el modelo de separación…",
    "cancelSeparation": "Cancelar separación",
    "usingCachedSeparation": "Usando separación en caché"
  },
  "player": {
    "previous": "Anterior",
    "play": "Reproducir",
    "loading": "Cargando",
    "pause": "Pausar",
    "next": "Siguiente",
    "mute": "Silenciar",
    "unmute": "Activar sonido",
    "volume": "Volumen",
    "seek": "Ir a posición",
    "selectMonitor": "Seleccionar monitor",
    "monitor": "Monitor {{index}}",
    "localDisplayOutput": "Salida de pantalla local",
    "airPlayOutput": "Salida AirPlay",
    "noDisplaysFound": "Aún no se encontraron pantallas.",
    "reconnecting": "Reconectando… ({{attempt}}/{{max}})",
    "resync": "Resincronizado −{{delta}} ms",
    "reconnectFailed": "Error al reconectar"
  },
  "progress": {
    "separating": "Separando: {{title}}",
    "uploadingToRemote": "Publicando en el repositorio remoto: {{title}}",
    "modelDownloadComplete": "Descarga del modelo completa"
  },
  "notifications": {
    "separationComplete": "Separación completada",
    "separationFailed": "Error en la separación",
    "batchSeparationComplete": "Separación por lotes completada",
    "batchSeparationSummary": "{{done}} completadas, {{failed}} con error"
  },
  "queue": {
    "title": "Cola",
    "upNext": "A continuación",
    "clearAll": "Vaciar todo",
    "empty": "La cola está vacía",
    "reorder": "Reordenar {{title}}",
    "remove": "Quitar {{title}} de la cola",
    "moveUp": "Subir",
    "moveDown": "Bajar",
    "dragInstructions": "Para reordenar la cola, enfoca un botón de reordenar, pulsa espacio o Enter para tomar la canción, usa las flechas para moverla y luego pulsa espacio o Enter de nuevo para soltarla.",
    "dragStart": "Se tomó {{title}}.",
    "dragOverBefore": "{{title}} se colocará antes de {{overTitle}}.",
    "dragOverAfter": "{{title}} se colocará después de {{overTitle}}.",
    "dragEndBefore": "Se soltó {{title}} antes de {{overTitle}}.",
    "dragEndAfter": "Se soltó {{title}} después de {{overTitle}}.",
    "dragCancel": "Se canceló el reordenamiento de la cola."
  },
  "stems": {
    "vocals": "Voz",
    "accompaniment": "Acompañamiento",
    "drums": "Batería",
    "bass": "Bajo",
    "other": "Otros",
    "mute": "Silenciar {{stem}}",
    "unmute": "Activar sonido de {{stem}}",
    "collapseStems": "Contraer pistas",
    "expandStems": "Expandir pistas"
  },
  "lyrics": {
    "noLyrics": "No hay letra disponible para esta canción",
    "addLyrics": "Agregar letra",
    "editLyrics": "Editar letra",
    "pastePlaceholder": "Pega o escribe la letra aquí...",
    "detectedTtml": "Formato TTML detectado",
    "detectedLys": "Formato Lyricify Syllable detectado",
    "detectedLrc": "Detectado: formato LRC",
    "detectedPlain": "Detectado: texto sin formato",
    "supportsFormats": "Admite los formatos LRC, TTML y Lyricify Syllable",
    "selectSong": "Selecciona una canción para empezar",
    "loadingLyrics": "Cargando letra...",
    "editTooltip": "Editar letra",
    "romanizeTooltip": "Letra romanizada",
    "previousPage": "Página anterior",
    "nextPage": "Página siguiente",
    "fontSizeDecrease": "Reducir el tamaño de la letra",
    "fontSizeIncrease": "Aumentar el tamaño de la letra",
    "fontSizeReset": "Restablecer el tamaño de la letra",
    "fontSizeResetShort": "Restablecer",
    "followPlaying": "Seguir la letra en reproducción",
    "matchedToast": "Letra emparejada con «{{song}}»",
    "unmatchedToast": "No se pudo emparejar el archivo de letra con una canción: {{file}}",
    "offsetDecrease": "Atrasar la letra 0.5 segundos",
    "offsetIncrease": "Adelantar la letra 0.5 segundos",
    "offsetReset": "Restablecer el desfase de la letra",
    "offsetResetShort": "Restablecer"
  },
  "songEdit": {
    "title": "Editar información de la canción",
    "titleLabel": "Título",
    "titlePlaceholder": "Título de la canción",
    "artistLabel": "Artista",
    "artistPlaceholder": "Nombre del artista"
  },
  "songProperties": {
    "title": "Propiedades de la canción",
    "format": "Formato",
    "duration": "Duración",
    "sampleRate": "Frecuencia de muestreo",
    "channels": "Canales",
    "channelsMono": "Mono (1)",
    "channelsStereo": "Estéreo (2)",
    "channelsOther": "{{count}} canales",
    "bitRate": "Tasa de bits",
    "fileSize": "Tamaño del archivo",
    "sha256": "SHA-256",
    "graphics": "Gráficos",
    "instrumental": "Instrumental",
    "mediaGPaired": "Archivos CD+G emparejados",
    "mediaGZip": "MP3+G ZIP",
    "notApplicable": "No aplicable",
    "separation": "Separación",
    "notSeparated": "Sin separar",
    "separating": "Separando…",
    "separationFailed": "Falló",
    "twoStem": "2 pistas",
    "fourStem": "4 pistas",
    "upgradeToFourStem": "Actualizar a 4 pistas",
    "downgradeToTwoStem": "Reducir a 2 pistas",
    "reSeparate": "Volver a separar",
    "reSeparateAs": "Volver a separar como:",
    "confirm": "Confirmar",
    "failedToLoad": "Error al cargar las propiedades"
  },
  "settings": {
    "title": "Preferencias",
    "library": {
      "label": "Biblioteca de karaoke",
      "noLibrary": "No hay ninguna biblioteca configurada",
      "newLibrary": "Biblioteca nueva",
      "openLibrary": "Abrir biblioteca",
      "addRemoteLibrary": "Agregar repositorio remoto",
      "addRemoteLibraryDescription": "Abre un repositorio remoto existente, o crea uno y replica la biblioteca local activa.",
      "openRemoteLibrary": "Abrir repositorio remoto",
      "openRemoteLibraryDescription": "Registra una copia de trabajo remota y cámbiate a ella.",
      "createAndMirrorActiveLocal": "Crear y replicar la local activa",
      "mirrorActiveLocalDescriptionWithName": "Replicar {{displayName}} en un nuevo repositorio remoto.",
      "mirrorActiveLocalDescriptionNoLocal": "Primero cambia a la biblioteca local que quieres replicar.",
      "displayName": "Nombre visible",
      "remoteLibraryDisplayName": "OpenKara",
      "renameLibrary": "Cambiar el nombre de la biblioteca",
      "renameLocalLibrary": "Cambiar el nombre de la biblioteca local",
      "renameRemoteRepository": "Cambiar el nombre del repositorio remoto",
      "removeLibrary": "Desconectar repositorio",
      "deleteLibrary": "Eliminar repositorio",
      "typeToConfirmDelete": "Escribe «{{displayName}}» para confirmar la eliminación permanente.",
      "refreshRemoteRepository": "Actualizar repositorio remoto",
      "reauthorizeRemoteRepository": "Reautorizar repositorio remoto",
      "reauthorizeRemoteRepositoryDescription": "Renueva el acceso a este repositorio remoto. Si el repositorio se movió, OpenKara preguntará antes de reemplazar la ubicación guardada.",
      "confirmRemoteRepositoryRelocation": "La ubicación del repositorio remoto seleccionado cambió. ¿Reemplazar la ubicación guardada de OpenKara por {{nextLocation}}? El contenido remoto anterior no se eliminará.",
      "googleDriveBundledDescription": "OpenKara usa su registro de aplicación de Google Drive incluido y creará o reutilizará una carpeta con este nombre visible en My Drive.",
      "dropboxBundledDescription": "OpenKara usa su registro de aplicación de Dropbox incluido y creará o reutilizará una carpeta con este nombre visible en Dropbox.",
      "webdavServerUrl": "URL del servidor",
      "webdavLibraryPath": "Ruta de la biblioteca",
      "webdavLibraryPathDescription": "Apunta esto a la ruta de un repositorio remoto existente, o escribe el nombre de una carpeta nueva y OpenKara la inicializará al crear un repositorio.",
      "webdavUsername": "Nombre de usuario",
      "webdavPassword": "Contraseña",
      "webdavEnterServerUrl": "Primero escribe la URL del servidor WebDAV.",
      "webdavEnterUsername": "Primero escribe el nombre de usuario de WebDAV.",
      "webdavEnterPassword": "Primero escribe la contraseña de WebDAV.",
      "connecting": "Conectando…",
      "waitingForGoogle": "Esperando a Google…",
      "waitingForDropbox": "Esperando a Dropbox…",
      "connectGoogleDrive": "Conectar Google Drive",
      "connectDropbox": "Conectar Dropbox",
      "connectWebdavLibrary": "Conectar biblioteca WebDAV",
      "openGoogleBrowserSignInAgain": "Abrir de nuevo el inicio de sesión de Google en el navegador",
      "openDropboxBrowserSignInAgain": "Abrir de nuevo el inicio de sesión de Dropbox en el navegador",
      "openBrowserSignInAgain": "Abrir de nuevo el inicio de sesión en el navegador",
      "googleSignInOpened": "Se abrió el inicio de sesión de Google en tu navegador. Completa el flujo de consentimiento y OpenKara continuará automáticamente.",
      "dropboxSignInOpened": "Se abrió el inicio de sesión de Dropbox en tu navegador. Completa el flujo de consentimiento y OpenKara continuará automáticamente.",
      "googleSignInTimedOut": "El inicio de sesión de Google agotó el tiempo de espera antes de que OpenKara recibiera la respuesta.",
      "dropboxSignInTimedOut": "El inicio de sesión de Dropbox agotó el tiempo de espera antes de que OpenKara recibiera la respuesta.",
      "remoteSignInTimedOut": "El inicio de sesión remoto agotó el tiempo de espera.",
      "remoteSignInFailedUnexpectedly": "El inicio de sesión remoto falló de forma inesperada.",
      "remoteLibraryMissingId": "El nuevo repositorio remoto se registró sin un ID.",
      "remoteLibraryConnected": "Repositorio remoto conectado.",
      "remoteLibraryCreatedAndMirroring": "Repositorio remoto creado y ahora replicando {{displayName}}.",
      "createRemoteLibraryAndStartMirror": "Crear repositorio remoto e iniciar réplica",
      "existingRemoteLibraries": "Repositorios remotos existentes",
      "connectRemoteGoogleDrive": "Conectar con Google Drive",
      "connectRemoteDropbox": "Conectar con Dropbox",
      "connectRemoteWebdav": "Conectar"
    },
    "stemMode": {
      "label": "Modo de separación de pistas",
      "description": "Controla cómo se separan las canciones nuevas. El modo de 4 pistas es el predeterminado: el modelo genera cuatro pistas de forma nativa en el mismo tiempo de procesamiento. Las separaciones existentes no se ven afectadas, y las canciones se pueden comprimir a dos pistas más tarde para ahorrar espacio.",
      "twoStem": "2 pistas",
      "twoStemDescription": "Voz + Acompañamiento",
      "fourStem": "4 pistas",
      "fourStemDescription": "Voz + Batería + Bajo + Otros"
    },
    "modelVariant": {
      "label": "Modelo de IA",
      "description": "Elige entre un procesamiento más rápido o una separación de mayor calidad.",
      "htdemucs": "Estándar",
      "htdemucsDescription": "Equilibrio predeterminado entre velocidad y calidad",
      "htdemucsFt": "Ajuste fino (experimental)",
      "htdemucsFtDescription": "Puede producir artefactos en las pistas de acompañamiento",
      "ftWarningTitle": "Modelo experimental",
      "ftWarningMessage": "El modelo de ajuste fino puede producir ruido o artefactos audibles en las pistas de acompañamiento de algunas canciones. La calidad de separación de la voz puede ser algo mejor. Úsalo bajo tu propio riesgo.",
      "ftWarningConfirm": "Usar el modelo de ajuste fino",
      "downloading": "Descargando...",
      "downloaded": "Descargado",
      "legacyOnDisk": "Versión antigua en disco: elimínala en la Zona de peligro y vuelve a descargarla",
      "notDownloaded": "No descargado",
      "runtimeRequired": "Se requiere ONNX Runtime",
      "delete": "Eliminar",
      "download": "Descargar"
    },
    "runtime": {
      "label": "ONNX Runtime",
      "description": "La biblioteca de runtime que impulsa la separación de pistas con IA.",
      "installRequired": "La biblioteca ONNX Runtime es necesaria para la separación de pistas con IA. Instálala para habilitar las descargas de modelos.",
      "installButton": "Instalar ONNX Runtime",
      "downloading": "Descargando ONNX Runtime...",
      "corrupt": "El ONNX Runtime instalado está dañado. Reinstálalo para habilitar las descargas de modelos.",
      "downloadFailed": "La descarga de ONNX Runtime falló. Comprueba tu conexión e inténtalo de nuevo.",
      "retryButton": "Reinstalar ONNX Runtime",
      "statusReady": "Instalado y listo.",
      "statusMissing": "No instalado.",
      "version": "Versión {{version}}",
      "checkButton": "Buscar actualizaciones",
      "checking": "Buscando actualizaciones...",
      "upToDate": "El runtime está actualizado.",
      "checkFailed": "La comprobación de actualizaciones falló.",
      "updateAvailable": "Actualización del runtime disponible ({{version}})",
      "updateButton": "Actualizar",
      "downloadingCandidate": "Descargando actualización del runtime...",
      "candidateReadyRestartRequired": "La actualización del runtime {{version}} está preparada. Reinicia para aplicarla.",
      "restartButton": "Reiniciar para aplicar",
      "activationFailedPreviousRestored": "La actualización preparada del runtime no se pudo activar; se restauró el runtime anterior.",
      "updatePolicy": {
        "label": "Actualizaciones del runtime",
        "description": "Elige cómo se gestionan las actualizaciones del runtime. Aplicar una actualización siempre requiere reiniciar.",
        "manual": "Manual",
        "manualDescription": "Solo buscar actualizaciones cuando lo pidas.",
        "notify": "Notificar",
        "notifyDescription": "Buscar al iniciar y avisarte cuando haya una actualización disponible.",
        "autoDownload": "Descarga automática",
        "autoDownloadDescription": "Descargar las actualizaciones automáticamente; se aplican en el próximo reinicio."
      },
      "banner": {
        "updateReady": "Hay una actualización del runtime lista: reinicia para aplicarla.",
        "activationFailed": "La actualización del runtime no se pudo activar; se restauró el runtime anterior.",
        "runtimeRequired": "Se requiere ONNX Runtime para la separación de pistas con IA.",
        "runtimeRequiredHint": "Se descarga automáticamente la primera vez que separas una canción.",
        "downloadingRuntime": "Descargando ONNX Runtime...",
        "downloadFailed": "La descarga de ONNX Runtime falló: {{error}}",
        "downloadFailedHint": "Comprueba tu conexión y luego reintenta la descarga.",
        "retryDownload": "Reintentar"
      }
    },
    "hideBatchSeparate": {
      "hide": "Ocultar «Separar todo»",
      "description": "Oculta el botón de la barra lateral que separa todas las canciones."
    },
    "coverArtBackdrop": {
      "hide": "Desactivar el fondo difuminado de la carátula",
      "description": "Quita la carátula difuminada detrás de la letra."
    },
    "appearance": {
      "label": "Apariencia",
      "description": "Elige el esquema de color de la aplicación. El escenario para el público permanece oscuro.",
      "system": "Sistema",
      "light": "Claro",
      "dark": "Oscuro"
    },
    "outputDevice": {
      "label": "Dispositivo de salida",
      "systemDefault": "Predeterminado del sistema"
    },
    "eq": {
      "label": "Ecualizador",
      "description": "Ecualizador de 5 bandas con limitador suave.",
      "enable": "Activar ecualizador",
      "reset": "Restablecer todas las bandas a 0 dB",
      "band60": "60 Hz",
      "band230": "230 Hz",
      "band910": "910 Hz",
      "band3600": "3.6 kHz",
      "band14000": "14 kHz",
      "bandNameBass": "Graves",
      "bandNameLowMid": "Medios bajos",
      "bandNameMid": "Medios",
      "bandNameHighMid": "Medios altos",
      "bandNameTreble": "Agudos",
      "presetLabel": "Preajuste",
      "presetCustom": "Personalizado",
      "presetFlat": "Plano",
      "presetVocalBoost": "Realce de voz",
      "presetBassBoost": "Realce de graves",
      "presetTrebleBoost": "Realce de agudos",
      "presetWarm": "Cálido",
      "presetBright": "Brillante",
      "presetRock": "Rock",
      "presetPop": "Pop"
    },
    "crossfade": {
      "label": "Fundido cruzado",
      "description": "Superpone el final de una canción con el inicio de la siguiente usando una curva de potencia constante.",
      "enable": "Activar fundido cruzado",
      "duration": "Duración"
    },
    "language": {
      "label": "Idioma"
    },
    "dangerZone": {
      "label": "Zona de peligro",
      "deleteStems": "Eliminar todas las pistas separadas",
      "deleteStemsDescription": "Quita todos los archivos de pistas en caché para liberar espacio en disco",
      "deleteStemsButton": "Eliminar pistas",
      "deleteLyrics": "Eliminar toda la letra en caché",
      "deleteLyricsDescription": "Quita toda la letra obtenida y en caché. La letra se volverá a obtener cuando se reproduzcan las canciones.",
      "deleteLyricsButton": "Eliminar letra",
      "downgradeStems": "Reducir todo a 2 pistas",
      "downgradeStemsDescription": "Quita las pistas de batería, bajo y otros de todas las canciones de 4 pistas. Se conservan la voz y el acompañamiento.",
      "downgradeStemsButton": "Reducir todo",
      "deleteModelStandard": "Eliminar modelo estándar",
      "deleteModelHQ": "Eliminar modelo de alta calidad",
      "deleteModelDescription": "Quita el archivo del modelo descargado para liberar espacio en disco. Deberás volver a descargarlo si seleccionas este modelo de nuevo.",
      "deleteModelButton": "Eliminar modelo",
      "deleteActiveModelBlockedTitle": "Cambia de modelo antes de eliminar este archivo",
      "deleteLegacyActiveModelTitle": "Elimina el archivo obsoleto para permitir la descarga de la actualización",
      "confirmDeleteModel": "¿Seguro que quieres eliminar este modelo? Deberás volver a descargarlo para usarlo de nuevo.",
      "deleteRuntime": "Eliminar ONNX Runtime",
      "deleteRuntimeDescription": "Quita la biblioteca ONNX Runtime para liberar espacio en disco. Se volverá a descargar cuando inicies una separación.",
      "deleteRuntimeButton": "Eliminar runtime"
    },
    "confirmDeleteStems": {
      "title": "Eliminar todas las pistas separadas",
      "message": "Se eliminarán permanentemente todos los archivos de pistas en caché. Habrá que volver a separar las canciones para usar el modo karaoke.",
      "detail": "Esto liberará aproximadamente {{size}}.",
      "confirm": "Eliminar todas las pistas"
    },
    "confirmDowngradeStems": {
      "title": "Reducir todas las canciones a 2 pistas",
      "message": "Se quitarán las pistas individuales de batería, bajo y otros de todas las canciones de 4 pistas. Se creará una pista de acompañamiento mezclándolas. Esto no se puede deshacer.",
      "detail": "Esto liberará aproximadamente {{size}}.",
      "confirm": "Reducir todo a 2 pistas"
    },
    "confirmDeleteLyrics": {
      "title": "Eliminar toda la letra en caché",
      "message": "Se eliminará permanentemente toda la letra en caché. La letra se volverá a obtener automáticamente cuando se reproduzcan las canciones.",
      "confirm": "Eliminar toda la letra"
    },
    "confirmDeleteRuntime": {
      "title": "Eliminar ONNX Runtime",
      "message": "Se eliminará la biblioteca ONNX Runtime. Se volverá a descargar automáticamente la próxima vez que inicies una separación.",
      "confirm": "Eliminar runtime"
    },
    "executionProvider": {
      "label": "Aceleración por hardware",
      "description": "Elige cómo ejecuta OpenKara la separación de pistas con IA en este dispositivo.",
      "cpu": "CPU",
      "cpuDescription": "Solo software: funciona en todos los dispositivos, el más lento",
      "xnnpack": "XNNPACK",
      "xnnpackDescription": "CPU acelerada con SIMD: más rápida en Apple Silicon y x86 moderno",
      "directml": "DirectML",
      "directmlDescription": "Aceleración por GPU DirectX 12 para Windows",
      "note": "Los cambios se aplican en la próxima separación."
    },
    "integrity": {
      "checkButton": "Comprobar la integridad de la biblioteca",
      "reportTitle": "Informe de integridad de la biblioteca",
      "checkedLocal": "{{count}} canciones locales comprobadas",
      "skippedRemote": "{{count}} canciones remotas omitidas",
      "allClean": "No se encontraron problemas",
      "missingPrimary": "Medio principal faltante",
      "emptyPrimary": "Medio principal vacío",
      "missingOptional": "Recursos opcionales faltantes",
      "emptyOptional": "Recursos opcionales vacíos",
      "orphanedFiles": "Archivos gestionados huérfanos",
      "noIssues": "Sin problemas",
      "emptyPath": "(sin ruta)",
      "removeSelected": "Quitar las entradas seleccionadas",
      "confirmCleanupTitle": "Quitar entradas de la biblioteca",
      "confirmCleanupMessage": "Se quitarán {{count}} entradas de la base de datos. Los archivos huérfanos del sistema de archivos no se modificarán.",
      "confirmCleanupButton": "Quitar entradas",
      "skippedNotice": "Se omitieron {{count}} entradas porque su estado cambió. Ejecuta la comprobación de nuevo.",
      "assetTypePrimaryMedia": "Medio principal",
      "assetTypeCdg": "CDG",
      "assetTypeStemVocals": "Pista: voz",
      "assetTypeStemAccomp": "Pista: acompañamiento",
      "assetTypeStemDrums": "Pista: batería",
      "assetTypeStemBass": "Pista: bajo",
      "assetTypeStemOther": "Pista: otros",
      "assetTypeArtworkThumb": "Carátula: miniatura",
      "assetTypeArtworkPreview": "Carátula: vista previa"
    },
    "remoteCache": {
      "label": "Caché de transmisión remota",
      "description": "Las descargas por rango de bytes de los archivos multimedia remotos se guardan en caché para reanudar la reproducción.",
      "used": "Usado",
      "entries": "Entradas",
      "pinned": "fijadas",
      "clearButton": "Vaciar caché",
      "evicted": "Se expulsaron {{count}} entradas."
    },
    "remoteDiagnostics": {
      "label": "Diagnóstico remoto",
      "description": "Estado del repositorio, generación y resultados de las operaciones recientes.",
      "state": "Estado del repositorio",
      "generation": "Generación confirmada",
      "repositoryId": "ID del repositorio",
      "lastError": "Último error",
      "recentOps": "Operaciones recientes",
      "refresh": "Actualizar",
      "conflictTitle": "Tu biblioteca cambió en el remoto antes de que estas ediciones se publicaran.",
      "conflictBody": "Mantener tus cambios los vuelve a publicar sobre la versión remota. Se rechaza cuando ambos lados cambiaron las mismas canciones, porque elegir un ganador automáticamente podría perder trabajo.",
      "conflictKeepLocal": "Mantener mis cambios",
      "conflictUseRemote": "Usar la versión remota"
    },
    "modelUpdate": {
      "checkButton": "Buscar actualizaciones",
      "checking": "Buscando actualizaciones...",
      "upToDate": "Todos los modelos están actualizados.",
      "checkFailed": "La comprobación de actualizaciones falló.",
      "updateAvailable": "Actualización de {{variant}} disponible ({{version}})",
      "updateButton": "Actualizar"
    },
    "about": {
      "label": "Acerca de",
      "description": "Detalles de versión y diagnóstico para incluir en los informes de errores.",
      "version": "Versión",
      "build": "compilación",
      "system": "Sistema",
      "catalog": "Catálogo",
      "model": "Modelo",
      "modelPath": "Archivo del modelo",
      "runtime": "Runtime",
      "executionProvider": "Proveedor de ejecución",
      "logFile": "Archivo de registro",
      "reportHint": "¿Vas a informar de un error? Copia esta información en tu informe y adjunta el archivo de registro que se muestra arriba.",
      "copyDebugInfo": "Copiar información de depuración",
      "copied": "¡Copiado!"
    },
    "hideUpgradeAll": {
      "hide": "Ocultar «Actualizar todo a 4-pistas»",
      "description": "Oculta el botón de la barra lateral que vuelve a separar todas las canciones en modo 4-pistas."
    }
  },
  "bootstrap": {
    "modelRequired": "Se requiere el modelo de separación con IA para el modo karaoke.",
    "downloadingBackground": "Descargando en segundo plano...",
    "downloadingModel": "Descargando el modelo de IA...",
    "downloadingRuntime": "Descargando el runtime...",
    "outdatedModel": "El archivo del modelo instalado es de una versión anterior y no se puede usar.",
    "outdatedModelHint": "Abre Ajustes → Zona de peligro, elimina el archivo del modelo y vuelve a descargarlo para actualizar.",
    "openSettingsToUpgrade": "Abrir Ajustes",
    "downloadFailed": "La descarga del modelo falló: {{error}}",
    "unknownError": "Error desconocido",
    "downloadFailedHint": "Comprueba tu conexión y luego reintenta la descarga.",
    "retryDownload": "Reintentar"
  },
  "playlist": {
    "create": "Nueva lista de reproducción",
    "name": "Nombre de la lista de reproducción",
    "rename": "Cambiar nombre",
    "delete": "Eliminar lista de reproducción",
    "empty": "Esta lista de reproducción está vacía. Agrega canciones desde tu biblioteca.",
    "addTo": "Agregar a la lista de reproducción…",
    "addedToast": "Se agregaron {{count}} canciones a la lista de reproducción.",
    "createdAndAddedToast": "Se creó la lista de reproducción y se agregaron {{count}} canciones.",
    "removedFromPlaylistToast": "Se quitaron {{count}} canciones de la lista de reproducción.",
    "section": "LISTAS DE REPRODUCCIÓN",
    "newPlaylist": "[+] Nueva lista de reproducción…",
    "removeFromPlaylist": "Quitar de la lista de reproducción"
  },
  "rotation": {
    "assignSinger": "Asignar cantante",
    "shuffle": "Mezclar",
    "singer": "Cantante",
    "singerName": "Nombre del cantante",
    "removeSinger": "Quitar cantante",
    "confirmRemoveSinger": "Quitar cantante",
    "confirmRemoveSingerMessage": "Este cantante está asignado a canciones de la cola. Al quitarlo, también se quitarán esas canciones de la cola."
  },
  "errors": {
    "database_unavailable": "Error de base de datos",
    "media_read_failed": "Error de importación",
    "song_not_found": "Canción no encontrada",
    "model_unavailable": "Modelo no disponible",
    "audio_decode_failed": "Error de decodificación de audio",
    "audio_output_unavailable": "Error de salida de audio",
    "karaoke_not_ready": "Karaoke no listo",
    "lyrics_not_ready": "Letra no disponible",
    "network_unavailable": "Error de red",
    "invalid_playback_state": "Error de reproducción",
    "separation_failed": "La separación falló",
    "internal": "Error interno",
    "somethingWentWrong": "Algo salió mal"
  },
  "updater": {
    "available": "La versión {{version}} está disponible",
    "update": "Actualizar",
    "downloading": "Descargando actualización… {{percent}}%",
    "installing": "Finalizando actualización…",
    "restartToApply": "Actualización lista: reinicia para aplicarla",
    "restart": "Reiniciar",
    "failed": "La actualización falló: descarga la última versión manualmente"
  }
}
