Files
SpotiFLAC-Mobile/lib/l10n/arb/app_es_ES.arb
T
Zarz Eleutherius e2b2e2aac6 New translations app_en.arb (Spanish)
[ci skip]
2026-07-07 05:19:13 +07:00

6208 lines
222 KiB
Plaintext

{
"@@locale": "es-ES",
"@@last_modified": "2026-04-28",
"appName": "SpotiFLAC Móvil",
"@appName": {
"description": "App name - DO NOT TRANSLATE"
},
"navHome": "Inicio",
"@navHome": {
"description": "Bottom navigation - Home tab"
},
"navLibrary": "Biblioteca",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
},
"navSettings": "Ajustes",
"@navSettings": {
"description": "Bottom navigation - Settings tab"
},
"navStore": "Repositorio",
"@navStore": {
"description": "Bottom navigation - Extension store tab"
},
"homeTitle": "Inicio",
"@homeTitle": {
"description": "Home screen title"
},
"homeSubtitle": "Pega una URL compatible o busca por nombre",
"@homeSubtitle": {
"description": "Subtitle shown below search box"
},
"homeEmptyTitle": "Aún no hay proveedores de búsqueda",
"@homeEmptyTitle": {
"description": "Title shown on home when no providers are available yet"
},
"homeEmptySubtitle": "Instalar una extensión para continuar.",
"@homeEmptySubtitle": {
"description": "Subtitle shown on home when no providers are available yet"
},
"homeSupports": "Compatible con: URL de pistas, álbumes, listas de reproducción y artistas",
"@homeSupports": {
"description": "Info text about supported URL types"
},
"homeRecent": "Recientes",
"@homeRecent": {
"description": "Section header for recent searches"
},
"historyFilterAll": "Todo",
"@historyFilterAll": {
"description": "Filter chip - show all items"
},
"historyFilterAlbums": "Álbumes",
"@historyFilterAlbums": {
"description": "Filter chip - show albums only"
},
"historyFilterSingles": "Pistas",
"@historyFilterSingles": {
"description": "Filter chip - show singles only"
},
"historySearchHint": "Buscar en historial...",
"@historySearchHint": {
"description": "Search bar placeholder in history"
},
"settingsTitle": "Ajustes",
"@settingsTitle": {
"description": "Settings screen title"
},
"settingsDownload": "Descargar",
"@settingsDownload": {
"description": "Settings section - download options"
},
"settingsAppearance": "Apariencia",
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Opciones",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensiones",
"@settingsExtensions": {
"description": "Settings section - extension management"
},
"settingsAbout": "Acerca de",
"@settingsAbout": {
"description": "Settings section - app info"
},
"downloadTitle": "Descargar",
"@downloadTitle": {
"description": "Download settings page title"
},
"downloadAskQualitySubtitle": "Mostrar selector de calidad para cada descarga",
"@downloadAskQualitySubtitle": {
"description": "Subtitle for ask quality toggle"
},
"downloadFilenameFormat": "Formato del nombre del archivo",
"@downloadFilenameFormat": {
"description": "Setting for output filename pattern"
},
"downloadSingleFilenameFormat": "Formato del nombre de archivo para pistas individuales",
"@downloadSingleFilenameFormat": {
"description": "Setting for output filename pattern for singles/EPs"
},
"downloadSingleFilenameFormatDescription": "Patrón de nombre de archivo para sencillos y EP. Utiliza las mismas etiquetas que el formato para álbumes.",
"@downloadSingleFilenameFormatDescription": {
"description": "Subtitle description for single filename format setting"
},
"downloadFolderOrganization": "Organización de carpetas",
"@downloadFolderOrganization": {
"description": "Title of the folder organization picker bottom sheet"
},
"appearanceTitle": "Apariencia",
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"appearanceThemeSystem": "Sistema",
"@appearanceThemeSystem": {
"description": "Follow system theme"
},
"appearanceThemeLight": "Claro",
"@appearanceThemeLight": {
"description": "Light theme"
},
"appearanceThemeDark": "Oscuro",
"@appearanceThemeDark": {
"description": "Dark theme"
},
"appearanceDynamicColor": "Color Dinámico",
"@appearanceDynamicColor": {
"description": "Material You dynamic colors"
},
"appearanceDynamicColorSubtitle": "Usar colores de tu fondo de pantalla",
"@appearanceDynamicColorSubtitle": {
"description": "Subtitle for dynamic color"
},
"appearanceHistoryView": "Vista del Historial",
"@appearanceHistoryView": {
"description": "Layout style for history"
},
"appearanceHistoryViewList": "Lista",
"@appearanceHistoryViewList": {
"description": "List layout option"
},
"appearanceHistoryViewGrid": "Cuadrícula",
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Opciones",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Proveedor Principal",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
},
"optionsPrimaryProviderSubtitle": "Servicio utilizado para buscar por nombre de pista o álbum",
"@optionsPrimaryProviderSubtitle": {
"description": "Subtitle for primary provider"
},
"optionsUsingExtension": "Usando la extensión: {extensionName}",
"@optionsUsingExtension": {
"description": "Shows active extension name",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"optionsDefaultSearchTab": "Pestaña de búsqueda predeterminada",
"@optionsDefaultSearchTab": {
"description": "Title for the preferred default search tab setting"
},
"optionsDefaultSearchTabSubtitle": "Elige qué pestaña se abre primero al mostrar nuevos resultados de búsqueda.",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Elija el proveedor de búsqueda por defecto para volver de una extensión",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Cambio automático",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
},
"optionsAutoFallbackSubtitle": "Probar otros servicios si la descarga falla",
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Usar proveedores de extensiones",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Proveedores de extensiones habilitados",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Proveedores de extensiones habilitados",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Incrustar letras",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
},
"optionsEmbedLyricsSubtitle": "Guarda las letras sincronizadas junto a las pistas descargadas",
"@optionsEmbedLyricsSubtitle": {
"description": "Subtitle for embed lyrics"
},
"optionsMaxQualityCover": "Máxima calidad de portada",
"@optionsMaxQualityCover": {
"description": "Download highest quality album art"
},
"optionsMaxQualityCoverSubtitle": "Descargar la portada en la mayor resolución",
"@optionsMaxQualityCoverSubtitle": {
"description": "Subtitle for max quality cover"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"optionsReplayGainSubtitleOn": "Analizar la sonoridad e incrustar etiquetas ReplayGain (EBU R128)",
"@optionsReplayGainSubtitleOn": {
"description": "Subtitle when ReplayGain is enabled"
},
"optionsReplayGainSubtitleOff": "Desactivado: no hay etiquetas de normalización de sonoridad",
"@optionsReplayGainSubtitleOff": {
"description": "Subtitle when ReplayGain is disabled"
},
"trackReplayGain": "Reescanear ReplayGain",
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analizar el volumen y guardar las etiquetas ReplayGain",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analizando el nivel de volumen...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
},
"trackReplayGainSuccess": "Etiquetas ReplayGain agregadas",
"@trackReplayGainSuccess": {
"description": "Snackbar message after ReplayGain tags written for a single track"
},
"trackReplayGainFailed": "No se pudieron agregar las etiquetas ReplayGain",
"@trackReplayGainFailed": {
"description": "Snackbar message when ReplayGain scan/write fails"
},
"selectionReplayGainCount": "ReplayGain ({count})",
"@selectionReplayGainCount": {
"description": "Batch selection action button label for ReplayGain",
"placeholders": {
"count": {
"type": "int"
}
}
},
"replayGainBatchConfirmTitle": "Agregar ReplayGain",
"@replayGainBatchConfirmTitle": {
"description": "Title of the batch ReplayGain confirmation dialog"
},
"replayGainBatchConfirmMessage": "¿Analizar el volumen y escribir las etiquetas ReplayGain en {count} pista(s)?",
"@replayGainBatchConfirmMessage": {
"description": "Message of the batch ReplayGain confirmation dialog",
"placeholders": {
"count": {
"type": "int"
}
}
},
"replayGainBatchAnalyzing": "Analizando ReplayGain...",
"@replayGainBatchAnalyzing": {
"description": "Progress dialog title while batch scanning ReplayGain"
},
"replayGainBatchSuccess": "Se agregaron las etiquetas ReplayGain a {success} de {total} pistas",
"@replayGainBatchSuccess": {
"description": "Snackbar after batch ReplayGain completes",
"placeholders": {
"success": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"optionsArtistTagMode": "Modo de etiqueta de artista",
"@optionsArtistTagMode": {
"description": "Setting title for how artist metadata is written into files"
},
"optionsArtistTagModeDescription": "Elige cómo se escriben varios artistas en las etiquetas incrustadas.",
"@optionsArtistTagModeDescription": {
"description": "Bottom-sheet description for artist tag mode setting"
},
"optionsArtistTagModeJoined": "Valor único combinado",
"@optionsArtistTagModeJoined": {
"description": "Artist tag mode option that joins multiple artists into one value"
},
"optionsArtistTagModeJoinedSubtitle": "Escribir un solo valor de ARTISTA como «Artista A, Artista B» para máxima compatibilidad con reproductores.",
"@optionsArtistTagModeJoinedSubtitle": {
"description": "Subtitle for joined artist tag mode"
},
"optionsArtistTagModeSplitVorbis": "Separar etiquetas para FLAC/Opus",
"@optionsArtistTagModeSplitVorbis": {
"description": "Artist tag mode option that writes repeated ARTIST tags for Vorbis formats"
},
"optionsArtistTagModeSplitVorbisSubtitle": "Escribe una etiqueta de artista por cada artista en FLAC y Opus; MP3 y M4A se mantienen combinados.",
"@optionsArtistTagModeSplitVorbisSubtitle": {
"description": "Subtitle for split Vorbis artist tag mode"
},
"optionsExtensionStore": "Repositorio de extensiones",
"@optionsExtensionStore": {
"description": "Show/hide store tab"
},
"optionsExtensionStoreSubtitle": "Mostrar la pestaña del repositorio en la navegación",
"@optionsExtensionStoreSubtitle": {
"description": "Subtitle for extension store toggle"
},
"optionsCheckUpdates": "Buscar actualizaciones",
"@optionsCheckUpdates": {
"description": "Auto update check toggle"
},
"optionsCheckUpdatesSubtitle": "Notificar cuando una nueva versión esté disponible",
"@optionsCheckUpdatesSubtitle": {
"description": "Subtitle for update check"
},
"optionsUpdateChannel": "Tipo de actualizaciones",
"@optionsUpdateChannel": {
"description": "Stable vs preview releases"
},
"optionsUpdateChannelStable": "Solo versiones estables",
"@optionsUpdateChannelStable": {
"description": "Only stable updates"
},
"optionsUpdateChannelPreview": "Obtener versiones preliminares",
"@optionsUpdateChannelPreview": {
"description": "Include beta/preview updates"
},
"optionsUpdateChannelWarning": "La versión preliminar puede contener errores o funciones incompletas",
"@optionsUpdateChannelWarning": {
"description": "Warning about preview channel"
},
"optionsClearHistory": "Borrar historial de descargas",
"@optionsClearHistory": {
"description": "Delete all download history"
},
"optionsClearHistorySubtitle": "Eliminar todas las pistas descargadas del historial",
"@optionsClearHistorySubtitle": {
"description": "Subtitle for clear history"
},
"optionsDetailedLogging": "Registro detallado",
"@optionsDetailedLogging": {
"description": "Enable verbose logs for debugging"
},
"optionsDetailedLoggingOn": "Se están registrando logs detallados",
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"optionsDetailedLoggingOff": "Activar para informes de errores",
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Credenciales de Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "ID de cliente: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Requerido: toca para configurar",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requiere tus propias credenciales de API. Consíguelas gratis en developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "La búsqueda de Spotify quedará obsoleta el 3 de marzo de 2026 debido a cambios en la API de Spotify. Por favor, cambia a Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensiones",
"@extensionsTitle": {
"description": "Extensions page title"
},
"extensionsDisabled": "Desactivado",
"@extensionsDisabled": {
"description": "Extension status - inactive"
},
"extensionsVersion": "Versión {version}",
"@extensionsVersion": {
"description": "Extension version display",
"placeholders": {
"version": {
"type": "String"
}
}
},
"extensionsAuthor": "por {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Desinstalar",
"@extensionsUninstall": {
"description": "Uninstall extension button"
},
"storeTitle": "Repositorio de extensiones",
"@storeTitle": {
"description": "Store screen title"
},
"storeSearch": "Buscar extensiones...",
"@storeSearch": {
"description": "Store search placeholder"
},
"storeInstall": "Instalar",
"@storeInstall": {
"description": "Install extension button"
},
"storeInstalled": "Instalada",
"@storeInstalled": {
"description": "Already installed badge"
},
"storeUpdate": "Actualizar",
"@storeUpdate": {
"description": "Update available button"
},
"aboutTitle": "Acerca de",
"@aboutTitle": {
"description": "About page title"
},
"aboutContributors": "Colaboradores",
"@aboutContributors": {
"description": "Section for contributors"
},
"aboutMobileDeveloper": "Desarrollador de versiones móviles",
"@aboutMobileDeveloper": {
"description": "Role description for mobile dev"
},
"aboutOriginalCreator": "Creador original de SpotiFLAC",
"@aboutOriginalCreator": {
"description": "Role description for original creator"
},
"aboutLogoArtist": "¡El talentoso artista que creó el hermoso logo de nuestra app!",
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"aboutTranslators": "Traductores",
"@aboutTranslators": {
"description": "Section for translators"
},
"aboutSpecialThanks": "Agradecimientos especiales",
"@aboutSpecialThanks": {
"description": "Section for special thanks"
},
"aboutLinks": "Enlaces",
"@aboutLinks": {
"description": "Section for external links"
},
"aboutMobileSource": "Código fuente de la versión móvil",
"@aboutMobileSource": {
"description": "Link to mobile GitHub repo"
},
"aboutPCSource": "Código fuente de la versión para PC",
"@aboutPCSource": {
"description": "Link to PC GitHub repo"
},
"aboutKeepAndroidOpen": "Mantener Android activo",
"@aboutKeepAndroidOpen": {
"description": "Link to Keep Android Open campaign website"
},
"aboutReportIssue": "Reportar un problema",
"@aboutReportIssue": {
"description": "Link to report bugs"
},
"aboutReportIssueSubtitle": "Reporta cualquier problema que encuentres",
"@aboutReportIssueSubtitle": {
"description": "Subtitle for report issue"
},
"aboutFeatureRequest": "Sugerir una función",
"@aboutFeatureRequest": {
"description": "Link to suggest features"
},
"aboutFeatureRequestSubtitle": "Sugerir nuevas funciones para la aplicación",
"@aboutFeatureRequestSubtitle": {
"description": "Subtitle for feature request"
},
"aboutTelegramChannel": "Canal de Telegram",
"@aboutTelegramChannel": {
"description": "Link to Telegram channel"
},
"aboutTelegramChannelSubtitle": "Anuncios y actualizaciones",
"@aboutTelegramChannelSubtitle": {
"description": "Subtitle for Telegram channel"
},
"aboutTelegramChat": "Comunidad de Telegram",
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"aboutTelegramChatSubtitle": "Chatear con otros usuarios",
"@aboutTelegramChatSubtitle": {
"description": "Subtitle for Telegram chat"
},
"aboutSocial": "Redes sociales",
"@aboutSocial": {
"description": "Section for social links"
},
"aboutApp": "Aplicación",
"@aboutApp": {
"description": "Section for app info"
},
"aboutVersion": "Versión",
"@aboutVersion": {
"description": "Version info label"
},
"aboutBinimumDesc": "El creador de QQDL & HiFi API. Este proyecto ayudó a impulsar el soporte para descargas sin pérdida de calidad.",
"@aboutBinimumDesc": {
"description": "Credit description for binimum"
},
"aboutSachinsenalDesc": "El creador del proyecto HiFi original. Sentó las bases para la integración de fuentes de audio sin pérdida de calidad.",
"@aboutSachinsenalDesc": {
"description": "Credit description for sachinsenal0x64"
},
"aboutSjdonadoDesc": "Creador de I No tengo Spotify (IDHS). ¡La solución de enlace de reserva que salva el día!",
"@aboutSjdonadoDesc": {
"description": "Credit description for sjdonado"
},
"aboutAppDescription": "Busca información musical, gestiona extensiones y organiza tu biblioteca.",
"@aboutAppDescription": {
"description": "App description in header card"
},
"artistAlbums": "Álbumes",
"@artistAlbums": {
"description": "Section header for artist albums"
},
"artistSingles": "Pistas y mini-álbumes",
"@artistSingles": {
"description": "Section header for singles/EPs"
},
"artistCompilations": "Compilaciones",
"@artistCompilations": {
"description": "Section header for compilations"
},
"artistPopular": "Populares",
"@artistPopular": {
"description": "Section header for popular/top tracks"
},
"artistMonthlyListeners": "{count} oyentes mensuales",
"@artistMonthlyListeners": {
"description": "Monthly listener count display",
"placeholders": {
"count": {
"type": "String",
"description": "Formatted listener count"
}
}
},
"trackMetadataService": "Servicio",
"@trackMetadataService": {
"description": "Metadata field - download service used"
},
"trackMetadataPlay": "Reproducir",
"@trackMetadataPlay": {
"description": "Action button - play track"
},
"trackMetadataShare": "Compartir",
"@trackMetadataShare": {
"description": "Action button - share track"
},
"trackMetadataDelete": "Eliminar",
"@trackMetadataDelete": {
"description": "Action button - delete track"
},
"setupGrantPermission": "Conceder permiso",
"@setupGrantPermission": {
"description": "Button to request permission"
},
"setupSkip": "Omitir por ahora",
"@setupSkip": {
"description": "Skip current step button"
},
"setupStorageAccessRequired": "Acceso al almacenamiento requerido",
"@setupStorageAccessRequired": {
"description": "Title when storage access needed"
},
"setupStorageAccessMessageAndroid11": "Android 11+ requiere permiso \"Todos los archivos de acceso\" para guardar los archivos en la carpeta de descargas elegida.",
"@setupStorageAccessMessageAndroid11": {
"description": "Android 11+ specific explanation"
},
"setupOpenSettings": "Abrir ajustes",
"@setupOpenSettings": {
"description": "Button to open system settings"
},
"setupPermissionDeniedMessage": "Permiso denegado. Por favor, conceda todos los permisos para continuar.",
"@setupPermissionDeniedMessage": {
"description": "Error when permission denied"
},
"setupPermissionRequired": "Permiso de {permissionType} requerido",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
"permissionType": {
"type": "String",
"description": "Type of permission (Storage/Notification)"
}
}
},
"setupPermissionRequiredMessage": "Se requiere un permiso {permissionType} para la mejor experiencia. Puedes cambiar esto más tarde en ajustes.",
"@setupPermissionRequiredMessage": {
"description": "Generic permission required message",
"placeholders": {
"permissionType": {
"type": "String"
}
}
},
"setupUseDefaultFolder": "¿Usar carpeta por defecto?",
"@setupUseDefaultFolder": {
"description": "Dialog title for default folder"
},
"setupNoFolderSelected": "No se ha seleccionado ninguna carpeta. ¿Desea utilizar la carpeta por defecto?",
"@setupNoFolderSelected": {
"description": "Prompt when no folder selected"
},
"setupUseDefault": "Usar por defecto",
"@setupUseDefault": {
"description": "Button to use default folder"
},
"setupDownloadLocationTitle": "Ubicación de descarga",
"@setupDownloadLocationTitle": {
"description": "Download location dialog title"
},
"setupDownloadLocationIosMessage": "En iOS, las descargas se guardan en la carpeta de documentos de la aplicación. Puede acceder a ellas desde la aplicación Archivos.",
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"setupAppDocumentsFolder": "Carpeta de documentos de App",
"@setupAppDocumentsFolder": {
"description": "iOS documents folder option"
},
"setupAppDocumentsFolderSubtitle": "Recomendado - accesible desde la aplicación Archivos",
"@setupAppDocumentsFolderSubtitle": {
"description": "Subtitle for documents folder"
},
"setupChooseFromFiles": "Elegir de archivos",
"@setupChooseFromFiles": {
"description": "iOS file picker option"
},
"setupChooseFromFilesSubtitle": "Seleccione iCloud u otra ubicación",
"@setupChooseFromFilesSubtitle": {
"description": "Subtitle for file picker"
},
"setupIosEmptyFolderWarning": "Limitación de iOS: No se pueden seleccionar carpetas vacías. Elige una carpeta con al menos un archivo.",
"@setupIosEmptyFolderWarning": {
"description": "iOS folder selection warning"
},
"setupIcloudNotSupported": "iCloud Drive no es compatible. Utilice la carpeta Documentos de la aplicación.",
"@setupIcloudNotSupported": {
"description": "Error when user selects iCloud Drive on iOS"
},
"setupDownloadInFlac": "Descargar pistas de Spotify en FLAC",
"@setupDownloadInFlac": {
"description": "App tagline in setup"
},
"setupStorageGranted": "¡Permiso de almacenamiento concedido!",
"@setupStorageGranted": {
"description": "Success message for storage permission"
},
"setupStorageRequired": "Permiso de almacenamiento requerido",
"@setupStorageRequired": {
"description": "Title when storage permission needed"
},
"setupStorageDescription": "SpotiFLAC necesita permiso de almacenamiento para guardar sus archivos de música descargados.",
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
"setupNotificationGranted": "¡Acceso a las notificaciones permitido!",
"@setupNotificationGranted": {
"description": "Success message for notification permission"
},
"setupNotificationEnable": "Activar notificaciones",
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"setupFolderChoose": "Cambiar carpeta de descargas",
"@setupFolderChoose": {
"description": "Button to choose folder"
},
"setupFolderDescription": "Seleccione una carpeta donde se guardará la música descargada.",
"@setupFolderDescription": {
"description": "Explanation for folder selection"
},
"setupSelectFolder": "Seleccionar Carpeta",
"@setupSelectFolder": {
"description": "Button to select folder"
},
"setupEnableNotifications": "Activar notificaciones",
"@setupEnableNotifications": {
"description": "Button to enable notifications"
},
"setupNotificationBackgroundDescription": "Recibe notificaciones sobre el progreso de la descarga y la finalización. Esto te ayuda a rastrear las descargas cuando la aplicación está en segundo plano.",
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"setupSkipForNow": "Omitir por ahora",
"@setupSkipForNow": {
"description": "Skip button text"
},
"setupNext": "Siguiente",
"@setupNext": {
"description": "Next button text"
},
"setupGetStarted": "Empezar",
"@setupGetStarted": {
"description": "Final setup button"
},
"setupAllowAccessToManageFiles": "Por favor, activa \"Permitir el acceso para gestionar todos los archivos\" en la siguiente pantalla.",
"@setupAllowAccessToManageFiles": {
"description": "Instruction for file access permission"
},
"setupLanguageTitle": "Elegir idioma",
"@setupLanguageTitle": {
"description": "Title for the language selection step in setup"
},
"setupLanguageDescription": "Selecciona tu idioma preferido para la aplicación. Puedes cambiar esto luego en Configuración.",
"@setupLanguageDescription": {
"description": "Description for the language selection step in setup"
},
"setupLanguageSystemDefault": "Idioma predeterminado",
"@setupLanguageSystemDefault": {
"description": "Option to use the system language"
},
"dialogCancel": "Cancelar",
"@dialogCancel": {
"description": "Dialog button - cancel action"
},
"dialogSave": "Guardar",
"@dialogSave": {
"description": "Dialog button - save changes"
},
"dialogDelete": "Eliminar",
"@dialogDelete": {
"description": "Dialog button - delete item"
},
"dialogRetry": "Volver a intentar",
"@dialogRetry": {
"description": "Dialog button - retry action"
},
"dialogClear": "Borrar",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"dialogDone": "Hecho",
"@dialogDone": {
"description": "Dialog button - action completed"
},
"dialogImport": "Importar",
"@dialogImport": {
"description": "Dialog button - import data"
},
"dialogDownload": "Descargar",
"@dialogDownload": {
"description": "Confirm button in Download All dialog"
},
"previewPlay": "Reproducir vista previa",
"@previewPlay": {
"description": "Tooltip for the button that plays a short track preview snippet"
},
"previewStop": "Detener vista previa",
"@previewStop": {
"description": "Tooltip for the button that stops the playing track preview snippet"
},
"previewUnavailable": "Vista previa no disponible",
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"dialogDiscard": "Descartar",
"@dialogDiscard": {
"description": "Dialog button - discard changes"
},
"dialogRemove": "Eliminar",
"@dialogRemove": {
"description": "Dialog button - remove item"
},
"dialogUninstall": "Desinstalar",
"@dialogUninstall": {
"description": "Dialog button - uninstall extension"
},
"dialogDiscardChanges": "¿Descartar cambios?",
"@dialogDiscardChanges": {
"description": "Dialog title - unsaved changes warning"
},
"dialogUnsavedChanges": "Tienes cambios sin guardar. ¿Quieres descartarlos?",
"@dialogUnsavedChanges": {
"description": "Dialog message - unsaved changes"
},
"dialogClearAll": "Eliminar todo",
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"dialogRemoveExtension": "Eliminar extensión",
"@dialogRemoveExtension": {
"description": "Dialog title - uninstall extension"
},
"dialogRemoveExtensionMessage": "¿Estás seguro de que quieres eliminar esta extensión? Esto no se puede deshacer.",
"@dialogRemoveExtensionMessage": {
"description": "Dialog message - uninstall confirmation"
},
"dialogUninstallExtension": "¿Desinstalar extensión?",
"@dialogUninstallExtension": {
"description": "Dialog title - uninstall extension"
},
"dialogUninstallExtensionMessage": "¿Estás seguro de que quieres eliminar {extensionName}?",
"@dialogUninstallExtensionMessage": {
"description": "Dialog message - uninstall specific extension",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"dialogClearHistoryTitle": "Borrar historial",
"@dialogClearHistoryTitle": {
"description": "Dialog title - clear download history"
},
"dialogClearHistoryMessage": "¿Estás seguro de que quieres borrar todo el historial de descargas? Esta acción no se puede deshacer.",
"@dialogClearHistoryMessage": {
"description": "Dialog message - clear history confirmation"
},
"dialogDeleteSelectedTitle": "Borrar Seleccionados",
"@dialogDeleteSelectedTitle": {
"description": "Dialog title - delete selected items"
},
"dialogDeleteSelectedMessage": "¿Eliminar {count} {count, plural, =1{pista} other{pistas}} del historial?\n\nEsto también eliminará los archivos del almacenamiento.",
"@dialogDeleteSelectedMessage": {
"description": "Dialog message - delete selected tracks",
"placeholders": {
"count": {
"type": "int"
}
}
},
"dialogImportPlaylistTitle": "Importar lista de reproducción",
"@dialogImportPlaylistTitle": {
"description": "Dialog title - import CSV playlist"
},
"dialogImportPlaylistMessage": "Se han encontrado pistas {count} en CSV. ¿Añadirlas para descargar la cola?",
"csvImportTracks": "{count} pistas de CSV",
"@csvImportTracks": {
"description": "Label shown in quality picker for CSV import",
"placeholders": {
"count": {
"type": "int"
}
}
},
"@dialogImportPlaylistMessage": {
"description": "Dialog message - import playlist confirmation",
"placeholders": {
"count": {
"type": "int"
}
}
},
"snackbarAddedToQueue": "Añadido \"{trackName}\" a la cola",
"@snackbarAddedToQueue": {
"description": "Snackbar - track added to download queue",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"snackbarAddedTracksToQueue": "Añadidas pistas {count} a la cola",
"@snackbarAddedTracksToQueue": {
"description": "Snackbar - multiple tracks added to queue",
"placeholders": {
"count": {
"type": "int"
}
}
},
"snackbarAlreadyDownloaded": "\"{trackName}\" ya descargado",
"@snackbarAlreadyDownloaded": {
"description": "Snackbar - track already exists",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"snackbarAlreadyInLibrary": "\"{trackName}\" ya existe en tu biblioteca",
"@snackbarAlreadyInLibrary": {
"description": "Snackbar - track already exists in local library",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"snackbarHistoryCleared": "Historial borrado",
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credenciales guardadas",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credenciales borradas",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Eliminado {count} {count, plural, =1{pista} other{pistas}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
"placeholders": {
"count": {
"type": "int"
}
}
},
"snackbarCannotOpenFile": "No se puede abrir el archivo: {error}",
"@snackbarCannotOpenFile": {
"description": "Snackbar - file open error",
"placeholders": {
"error": {
"type": "String"
}
}
},
"snackbarFillAllFields": "Por favor, completa todos los campos",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "Ver cola",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
},
"snackbarUrlCopied": "URL {platform} copiada al portapapeles",
"@snackbarUrlCopied": {
"description": "Snackbar - URL copied",
"placeholders": {
"platform": {
"type": "String",
"description": "Platform name (Spotify/Deezer)"
}
}
},
"snackbarFileNotFound": "Archivo no encontrado",
"@snackbarFileNotFound": {
"description": "Snackbar - file doesn't exist"
},
"snackbarSelectExtFile": "Por favor, seleccione un archivo .spotiflac-ext",
"@snackbarSelectExtFile": {
"description": "Snackbar - wrong file type selected"
},
"snackbarProviderPrioritySaved": "Prioridad de proveedor guardada",
"@snackbarProviderPrioritySaved": {
"description": "Snackbar - provider order saved"
},
"snackbarMetadataProviderSaved": "Prioridad de proveedor de información guardada",
"@snackbarMetadataProviderSaved": {
"description": "Snackbar - metadata provider order saved"
},
"snackbarExtensionInstalled": "{extensionName} instalado.",
"@snackbarExtensionInstalled": {
"description": "Snackbar - extension installed successfully",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"snackbarExtensionUpdated": "{extensionName} actualizada.",
"@snackbarExtensionUpdated": {
"description": "Snackbar - extension updated successfully",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"snackbarFailedToInstall": "Fallo al instalar la extensión",
"@snackbarFailedToInstall": {
"description": "Snackbar - extension install error"
},
"snackbarFailedToUpdate": "Error al actualizar la extensión",
"@snackbarFailedToUpdate": {
"description": "Snackbar - extension update error"
},
"errorRateLimited": "Límite excedido",
"@errorRateLimited": {
"description": "Error title - too many requests"
},
"errorRateLimitedMessage": "Demasiadas solicitudes. Por favor, espere un momento antes de buscar de nuevo.",
"@errorRateLimitedMessage": {
"description": "Error message - rate limit explanation"
},
"errorNoTracksFound": "No se encontraron pistas",
"@errorNoTracksFound": {
"description": "Error - search returned no results"
},
"searchEmptyResultSubtitle": "Prueba con otra palabra clave",
"@searchEmptyResultSubtitle": {
"description": "Subtitle shown under the empty search result state on the home screen"
},
"errorUrlNotRecognized": "Enlace no reconocido",
"@errorUrlNotRecognized": {
"description": "Error title - URL not handled by any extension or service"
},
"errorUrlNotRecognizedMessage": "Este enlace no es compatible. Asegúrate de que la URL sea correcta y de tener instalada una extensión compatible.",
"@errorUrlNotRecognizedMessage": {
"description": "Error message - URL not recognized explanation"
},
"errorUrlFetchFailed": "No se ha podido cargar el contenido de este enlace. Inténtalo de nuevo.",
"@errorUrlFetchFailed": {
"description": "Error message - generic URL fetch failure"
},
"errorMissingExtensionSource": "No se puede cargar {item}: falta una fuente de extensión",
"@errorMissingExtensionSource": {
"description": "Error - extension source not available",
"placeholders": {
"item": {
"type": "String"
}
}
},
"actionPause": "Pausar",
"@actionPause": {
"description": "Action button - pause download"
},
"actionResume": "Reanudar",
"@actionResume": {
"description": "Action button - resume download"
},
"actionCancel": "Cancelar",
"@actionCancel": {
"description": "Action button - cancel operation"
},
"actionSelectAll": "Seleccionar Todo",
"@actionSelectAll": {
"description": "Action button - select all items"
},
"actionDeselect": "Deseleccionar",
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Eliminar credenciales",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Guardar credenciales",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} seleccionado",
"@selectionSelected": {
"description": "Selection count indicator",
"placeholders": {
"count": {
"type": "int"
}
}
},
"selectionAllSelected": "Todas las pistas seleccionadas",
"@selectionAllSelected": {
"description": "Status - all items selected"
},
"selectionSelectToDelete": "Seleccionar pistas a eliminar",
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"progressFetchingMetadata": "Obteniendo información... {current}/{total}",
"@progressFetchingMetadata": {
"description": "Progress indicator - loading track info",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"progressReadingCsv": "Leyendo CSV...",
"@progressReadingCsv": {
"description": "Progress indicator - parsing CSV file"
},
"searchSongs": "Canciones",
"@searchSongs": {
"description": "Search result category - songs"
},
"searchArtists": "Artistas",
"@searchArtists": {
"description": "Search result category - artists"
},
"searchAlbums": "Álbumes",
"@searchAlbums": {
"description": "Search result category - albums"
},
"searchPlaylists": "Listas de reproducción",
"@searchPlaylists": {
"description": "Search result category - playlists"
},
"searchSortTitle": "Ordenar resultados",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
},
"searchSortDefault": "Por defecto",
"@searchSortDefault": {
"description": "Sort option - default API order"
},
"searchSortTitleAZ": "Nombre (A-Z)",
"@searchSortTitleAZ": {
"description": "Sort option - title ascending"
},
"searchSortTitleZA": "Nombre (Z-A)",
"@searchSortTitleZA": {
"description": "Sort option - title descending"
},
"searchSortArtistAZ": "Artista (A-Z)",
"@searchSortArtistAZ": {
"description": "Sort option - artist ascending"
},
"searchSortArtistZA": "Artista (Z-A)",
"@searchSortArtistZA": {
"description": "Sort option - artist descending"
},
"searchSortDurationShort": "Duración (más corto)",
"@searchSortDurationShort": {
"description": "Sort option - shortest duration first"
},
"searchSortDurationLong": "Duración (más largo)",
"@searchSortDurationLong": {
"description": "Sort option - longest duration first"
},
"searchSortDateOldest": "Fecha de lanzamiento (antiguo)",
"@searchSortDateOldest": {
"description": "Sort option - oldest release first"
},
"searchSortDateNewest": "Fecha de lanzamiento (reciente)",
"@searchSortDateNewest": {
"description": "Sort option - newest release first"
},
"tooltipPlay": "Reproducir",
"@tooltipPlay": {
"description": "Tooltip - play button"
},
"filenameFormat": "Formato del nombre del archivo",
"@filenameFormat": {
"description": "Setting title - filename pattern"
},
"filenameShowAdvancedTags": "Mostrar etiquetas avanzadas",
"@filenameShowAdvancedTags": {
"description": "Toggle label for showing advanced filename tags"
},
"filenameShowAdvancedTagsDescription": "Habilitar etiquetas con formato para el relleno de pistas y los formatos de fecha",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
},
"folderOrganizationNone": "Ninguna organización",
"@folderOrganizationNone": {
"description": "Folder option - flat structure"
},
"folderOrganizationByPlaylist": "Por lista de reproducción",
"@folderOrganizationByPlaylist": {
"description": "Folder option - playlist folders"
},
"folderOrganizationByPlaylistSubtitle": "Una carpeta independiente para cada lista de reproducción",
"@folderOrganizationByPlaylistSubtitle": {
"description": "Subtitle for playlist folder option"
},
"folderOrganizationByArtist": "Por Artista",
"@folderOrganizationByArtist": {
"description": "Folder option - artist folders"
},
"folderOrganizationByAlbum": "Por Álbum",
"@folderOrganizationByAlbum": {
"description": "Folder option - album folders"
},
"folderOrganizationByArtistAlbum": "Artista/Álbum",
"@folderOrganizationByArtistAlbum": {
"description": "Folder option - nested folders"
},
"folderOrganizationDescription": "Organizar los archivos descargados en carpetas",
"@folderOrganizationDescription": {
"description": "Folder organization sheet description"
},
"folderOrganizationNoneSubtitle": "Todos los archivos de la carpeta de descargas",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
},
"folderOrganizationByArtistSubtitle": "Carpeta separada para cada artista",
"@folderOrganizationByArtistSubtitle": {
"description": "Subtitle for artist folder option"
},
"folderOrganizationByAlbumSubtitle": "Carpeta separada para cada artista",
"@folderOrganizationByAlbumSubtitle": {
"description": "Subtitle for album folder option"
},
"folderOrganizationByArtistAlbumSubtitle": "Carpetas organizadas por artista y álbum",
"@folderOrganizationByArtistAlbumSubtitle": {
"description": "Subtitle for nested folder option"
},
"updateAvailable": "Actualización Disponible",
"@updateAvailable": {
"description": "Update dialog title"
},
"updateLater": "Más tarde",
"@updateLater": {
"description": "Update button - dismiss"
},
"updateStartingDownload": "Iniciando descarga...",
"@updateStartingDownload": {
"description": "Update status - initializing"
},
"updateDownloadFailed": "Descarga fallida",
"@updateDownloadFailed": {
"description": "Update error title"
},
"updateFailedMessage": "Error al descargar la actualización",
"@updateFailedMessage": {
"description": "Update error message"
},
"updateNewVersionReady": "Una nueva versión está lista",
"@updateNewVersionReady": {
"description": "Update subtitle"
},
"updateCurrent": "Actual",
"@updateCurrent": {
"description": "Label for current version"
},
"updateNew": "Nuevo",
"@updateNew": {
"description": "Label for new version"
},
"updateDownloading": "Descargando...",
"@updateDownloading": {
"description": "Update status - downloading"
},
"updateWhatsNew": "Novedades",
"@updateWhatsNew": {
"description": "Changelog section title"
},
"updateDownloadInstall": "Descargar & Instalar",
"@updateDownloadInstall": {
"description": "Update button - download and install"
},
"updateDontRemind": "No recordar",
"@updateDontRemind": {
"description": "Update button - skip this version"
},
"providerPriorityTitle": "Prioridad del proveedor",
"@providerPriorityTitle": {
"description": "Provider priority page title"
},
"providerPriorityDescription": "Arrastra para reordenar los proveedores de descarga. La aplicación intentará usar los proveedores de arriba hacia abajo al descargar las pistas.",
"@providerPriorityDescription": {
"description": "Provider priority page description"
},
"providerPriorityInfo": "Si una pista no está disponible en el primer proveedor, la aplicación intentará automáticamente el siguiente.",
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Respaldo de extensión",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Elija las extensiones de descarga que se usarán como respaldo automático.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
},
"providerPriorityFallbackExtensionsHint": "Solo las extensiones activas con proveedor de descarga se listan aquí.",
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Heredado",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extensión",
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"metadataProviderPriorityTitle": "Prioridad de la información",
"@metadataProviderPriorityTitle": {
"description": "Metadata priority page title"
},
"metadataProviderPriorityDescription": "Arrastra para reordenar los proveedores de información. La aplicación probará los proveedores de arriba hacia abajo al buscar pistas y obtener la información.",
"@metadataProviderPriorityDescription": {
"description": "Metadata priority page description"
},
"metadataProviderPriorityInfo": "Deezer no tiene límites de tasa y se recomienda como principal. Spotify puede valorar el límite después de muchas solicitudes.",
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "Sin límites de tasa",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "Sin límites de tasa",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Registros",
"@logTitle": {
"description": "Logs screen title"
},
"logCopied": "Registros copiados al portapapeles",
"@logCopied": {
"description": "Snackbar - logs copied"
},
"logSearchHint": "Buscar registros...",
"@logSearchHint": {
"description": "Log search placeholder"
},
"logFilterLevel": "Nivel",
"@logFilterLevel": {
"description": "Filter by log level"
},
"logFilterSection": "Filtrar",
"@logFilterSection": {
"description": "Filter section title"
},
"logShareLogs": "Compartir registros",
"@logShareLogs": {
"description": "Share button tooltip"
},
"logClearLogs": "Borrar registros",
"@logClearLogs": {
"description": "Clear button tooltip"
},
"logClearLogsTitle": "Limpiar registros",
"@logClearLogsTitle": {
"description": "Clear logs dialog title"
},
"logClearLogsMessage": "¿Estás seguro qué deseas limpiar todos los registros?",
"@logClearLogsMessage": {
"description": "Clear logs confirmation message"
},
"logFilterBySeverity": "Filtrar los registros por gravedad",
"@logFilterBySeverity": {
"description": "Filter dialog title"
},
"logNoLogsYet": "No hay registros aún",
"@logNoLogsYet": {
"description": "Empty state title"
},
"logNoLogsYetSubtitle": "Los registros aparecerán aquí mientras usas la aplicación",
"@logNoLogsYetSubtitle": {
"description": "Empty state subtitle"
},
"logEntriesFiltered": "Entradas ({count} filtradas)",
"@logEntriesFiltered": {
"description": "Log count with filter active",
"placeholders": {
"count": {
"type": "int"
}
}
},
"logEntries": "Entradas ({count})",
"@logEntries": {
"description": "Total log count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"credentialsTitle": "Credenciales de Spotify",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Introduzca su ID de cliente y secreto para utilizar su propia cuota de aplicación de Spotify.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "ID del cliente",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Pegar ID de cliente",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Cliente Secreto",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Pegar Cliente Secreto",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Estable",
"@channelStable": {
"description": "Update channel - stable releases"
},
"channelPreview": "Vista previa",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"sectionSearchSource": "Buscar Fuente",
"@sectionSearchSource": {
"description": "Settings section header"
},
"sectionDownload": "Descargar",
"@sectionDownload": {
"description": "Settings section header"
},
"sectionPerformance": "Alto rendimiento",
"@sectionPerformance": {
"description": "Settings section header"
},
"sectionApp": "Aplicación",
"@sectionApp": {
"description": "Settings section header"
},
"sectionData": "Datos",
"@sectionData": {
"description": "Settings section header"
},
"sectionDebug": "Depuración",
"@sectionDebug": {
"description": "Settings section header"
},
"sectionService": "Servicio",
"@sectionService": {
"description": "Settings section header"
},
"sectionAudioQuality": "Calidad de Sonido",
"@sectionAudioQuality": {
"description": "Settings section header"
},
"sectionFileSettings": "Ajustes del archivo",
"@sectionFileSettings": {
"description": "Settings section header"
},
"sectionLyrics": "Letras",
"@sectionLyrics": {
"description": "Settings section header"
},
"lyricsMode": "Modo Letras",
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
"lyricsModeDescription": "Elige cómo se guardan las letras de tus descargas",
"@lyricsModeDescription": {
"description": "Lyrics mode picker description"
},
"lyricsModeEmbed": "Insertar en archivo",
"@lyricsModeEmbed": {
"description": "Lyrics mode option - embed in audio file"
},
"lyricsModeEmbedSubtitle": "Letras almacenadas en la información FLAC",
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"lyricsModeExternal": "Archivo .lrc externo",
"@lyricsModeExternal": {
"description": "Lyrics mode option - separate LRC file"
},
"lyricsModeExternalSubtitle": "Archivo .lrc separado para reproductores como Samsung Music",
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"lyricsModeBoth": "Ambos",
"@lyricsModeBoth": {
"description": "Lyrics mode option - embed and external"
},
"lyricsModeBothSubtitle": "Insertar y guardar archivo .lrc",
"@lyricsModeBothSubtitle": {
"description": "Subtitle for both option"
},
"sectionColor": "Colores",
"@sectionColor": {
"description": "Settings section header"
},
"sectionTheme": "Tema",
"@sectionTheme": {
"description": "Settings section header"
},
"sectionLayout": "Diseño",
"@sectionLayout": {
"description": "Settings section header"
},
"sectionLanguage": "Idioma",
"@sectionLanguage": {
"description": "Settings section header for language"
},
"appearanceLanguage": "Idioma de la aplicación",
"@appearanceLanguage": {
"description": "Language setting title"
},
"settingsAppearanceSubtitle": "Tema, colores, pantalla",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
},
"settingsDownloadSubtitle": "Servicio, calidad, respaldo",
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Respaldo, meta datos, letras, portada",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Administrar proveedores de descarga",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
"settingsLogsSubtitle": "Ver registros de aplicaciones para depuración",
"@settingsLogsSubtitle": {
"description": "Logs settings description"
},
"loadingSharedLink": "Cargando enlace compartido...",
"@loadingSharedLink": {
"description": "Status when opening shared URL"
},
"pressBackAgainToExit": "Presione de nuevo para salir",
"@pressBackAgainToExit": {
"description": "Exit confirmation message"
},
"downloadAllCount": "Descargar todo ({count})",
"@downloadAllCount": {
"description": "Download all button with count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"tracksCount": "{count, plural, =1{1 pista} other{{count} pistas}}",
"@tracksCount": {
"description": "Track count display",
"placeholders": {
"count": {
"type": "int"
}
}
},
"trackCopyFilePath": "Copiar ruta de archivo",
"@trackCopyFilePath": {
"description": "Action - copy file path"
},
"trackRemoveFromDevice": "Eliminar del dispositivo",
"@trackRemoveFromDevice": {
"description": "Action - delete downloaded file"
},
"trackLoadLyrics": "Cargar letras",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
},
"trackMetadata": "Información",
"@trackMetadata": {
"description": "Tab title - track metadata"
},
"trackFileInfo": "Información de archivo",
"@trackFileInfo": {
"description": "Tab title - file information"
},
"trackLyrics": "Letras",
"@trackLyrics": {
"description": "Tab title - lyrics"
},
"trackFileNotFound": "Archivo no encontrado",
"@trackFileNotFound": {
"description": "Error - file doesn't exist"
},
"trackOpenInDeezer": "Abrir en Deezer",
"@trackOpenInDeezer": {
"description": "Action - open track in Deezer app"
},
"trackOpenInSpotify": "Abrir en Spotify",
"@trackOpenInSpotify": {
"description": "Action - open track in Spotify app"
},
"trackTrackName": "Nombre de pista",
"@trackTrackName": {
"description": "Metadata label - track title"
},
"trackArtist": "Artista",
"@trackArtist": {
"description": "Metadata label - artist name"
},
"trackAlbumArtist": "Artista del álbum",
"@trackAlbumArtist": {
"description": "Metadata label - album artist"
},
"trackAlbum": "Álbum",
"@trackAlbum": {
"description": "Metadata label - album name"
},
"trackTrackNumber": "Número de pista",
"@trackTrackNumber": {
"description": "Metadata label - track number"
},
"trackDiscNumber": "Número de disco",
"@trackDiscNumber": {
"description": "Metadata label - disc number"
},
"trackDuration": "Duración",
"@trackDuration": {
"description": "Metadata label - track length"
},
"trackAudioQuality": "Calidad del sonido",
"@trackAudioQuality": {
"description": "Metadata label - audio quality"
},
"trackReleaseDate": "Fecha de lanzamiento",
"@trackReleaseDate": {
"description": "Metadata label - release date"
},
"trackGenre": "Género",
"@trackGenre": {
"description": "Metadata label - music genre"
},
"trackLabel": "Etiqueta",
"@trackLabel": {
"description": "Metadata label - record label"
},
"trackCopyright": "Derechos de autor",
"@trackCopyright": {
"description": "Metadata label - copyright information"
},
"trackDownloaded": "Descargado",
"@trackDownloaded": {
"description": "Metadata label - download date"
},
"trackCopyLyrics": "Copiar letras",
"@trackCopyLyrics": {
"description": "Action - copy lyrics to clipboard"
},
"trackLyricsSource": "Fuente: {source}",
"@trackLyricsSource": {
"description": "Label showing the lyrics source/provider",
"placeholders": {
"source": {
"type": "String"
}
}
},
"trackLyricsNotAvailable": "Letras no disponibles para este tema",
"@trackLyricsNotAvailable": {
"description": "Message when lyrics not found"
},
"trackLyricsNotInFile": "No se encontraron letras",
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"trackFetchOnlineLyrics": "Obtener en línea",
"@trackFetchOnlineLyrics": {
"description": "Action - fetch lyrics from online providers"
},
"trackLyricsTimeout": "Tiempo de espera agotado. Inténtalo de nuevo más tarde.",
"@trackLyricsTimeout": {
"description": "Message when lyrics request times out"
},
"trackLyricsLoadFailed": "Error al cargar la letra",
"@trackLyricsLoadFailed": {
"description": "Message when lyrics loading fails"
},
"trackEmbedLyrics": "Incrustar Letras",
"@trackEmbedLyrics": {
"description": "Action - embed lyrics into audio file"
},
"trackLyricsEmbedded": "Letra incrustada con éxito",
"@trackLyricsEmbedded": {
"description": "Snackbar - lyrics saved to file"
},
"trackInstrumental": "Pista instrumental",
"@trackInstrumental": {
"description": "Message when track is instrumental (no lyrics)"
},
"trackCopiedToClipboard": "Copiado al portapapeles",
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
"trackDeleteConfirmTitle": "¿Eliminar del dispositivo?",
"@trackDeleteConfirmTitle": {
"description": "Delete confirmation title"
},
"trackDeleteConfirmMessage": "Esto eliminará permanentemente el archivo descargado y lo eliminará de tu historial.",
"@trackDeleteConfirmMessage": {
"description": "Delete confirmation message"
},
"dateToday": "Hoy",
"@dateToday": {
"description": "Relative date - today"
},
"dateYesterday": "Ayer",
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"dateDaysAgo": "Hace {count} días",
"@dateDaysAgo": {
"description": "Relative date - days ago",
"placeholders": {
"count": {
"type": "int"
}
}
},
"dateWeeksAgo": "{count} semanas antes",
"@dateWeeksAgo": {
"description": "Relative date - weeks ago",
"placeholders": {
"count": {
"type": "int"
}
}
},
"dateMonthsAgo": "{count} meses atrás",
"@dateMonthsAgo": {
"description": "Relative date - months ago",
"placeholders": {
"count": {
"type": "int"
}
}
},
"storeFilterAll": "Todo",
"@storeFilterAll": {
"description": "Store filter - all extensions"
},
"storeFilterMetadata": "Información",
"@storeFilterMetadata": {
"description": "Store filter - metadata providers"
},
"storeFilterDownload": "Descargar",
"@storeFilterDownload": {
"description": "Store filter - download providers"
},
"storeFilterUtility": "Utilidad",
"@storeFilterUtility": {
"description": "Store filter - utility extensions"
},
"storeFilterLyrics": "Letras",
"@storeFilterLyrics": {
"description": "Store filter - lyrics providers"
},
"storeFilterIntegration": "Integración",
"@storeFilterIntegration": {
"description": "Store filter - integrations"
},
"storeClearFilters": "Limpiar filtros",
"@storeClearFilters": {
"description": "Button to clear all filters"
},
"storeAddRepoTitle": "Añadir repositorio de extensiones",
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"storeAddRepoDescription": "Introduzca una URL de repositorio de GitHub que contenga un archivo registry.json para navegar e instalar extensiones.",
"@storeAddRepoDescription": {
"description": "Store setup screen - explanatory text"
},
"storeRepoUrlLabel": "URL del repositorio",
"@storeRepoUrlLabel": {
"description": "Label for the repository URL input field"
},
"storeRepoUrlHint": "https://github.com/user/repo",
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.j. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Añadir repositorio",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
},
"storeChangeRepoTooltip": "Cambiar repositorio",
"@storeChangeRepoTooltip": {
"description": "Tooltip for the change-repository icon button in the app bar"
},
"storeRepoDialogTitle": "Repositorio de extensiones",
"@storeRepoDialogTitle": {
"description": "Title of the change/remove repository dialog"
},
"storeRepoDialogCurrent": "Repositorio actual:",
"@storeRepoDialogCurrent": {
"description": "Label shown above the current repository URL in the dialog"
},
"storeNewRepoUrlLabel": "Nueva URL del repositorio",
"@storeNewRepoUrlLabel": {
"description": "Label for the new repository URL field inside the dialog"
},
"storeLoadError": "Falló al cargar repositorio",
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
"storeEmptyNoExtensions": "No hay extensiones disponibles",
"@storeEmptyNoExtensions": {
"description": "Message when store has no extensions"
},
"storeEmptyNoResults": "No se encontraron extensiones",
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Búsqueda predeterminada",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Usar la búsqueda de metadatos predeterminada",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Autor/a",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
},
"extensionError": "Error",
"@extensionError": {
"description": "Extension detail - error message"
},
"extensionCapabilities": "Recursos",
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"extensionMetadataProvider": "Proveedor de información",
"@extensionMetadataProvider": {
"description": "Capability - provides metadata"
},
"extensionDownloadProvider": "Proveedor de descargas",
"@extensionDownloadProvider": {
"description": "Capability - provides downloads"
},
"extensionLyricsProvider": "Proveedor de letras",
"@extensionLyricsProvider": {
"description": "Capability - provides lyrics"
},
"extensionUrlHandler": "Gestor de URL",
"@extensionUrlHandler": {
"description": "Capability - handles URLs"
},
"extensionQualityOptions": "Opciones de calidad",
"@extensionQualityOptions": {
"description": "Capability - quality selection"
},
"extensionPostProcessingHooks": "Post-procesamiento de hooks",
"@extensionPostProcessingHooks": {
"description": "Capability - post-processing"
},
"extensionPermissions": "Permisos",
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"extensionSettings": "Ajustes",
"@extensionSettings": {
"description": "Section header - extension settings"
},
"extensionRemoveButton": "Eliminar extensión",
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"extensionUpdated": "Actualizado",
"@extensionUpdated": {
"description": "Extension detail - last update"
},
"extensionMinAppVersion": "Versión Mínima de la aplicación",
"@extensionMinAppVersion": {
"description": "Extension detail - minimum app version"
},
"extensionCustomTrackMatching": "Coincidencia de pista personalizada",
"@extensionCustomTrackMatching": {
"description": "Capability - custom track matching algorithm"
},
"extensionPostProcessing": "Post-Procesamiento",
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
"extensionHooksAvailable": "{count} hook(s) disponibles",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"extensionPatternsCount": "Patrón(es) {count}",
"@extensionPatternsCount": {
"description": "URL patterns count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"extensionStrategy": "Estrategia: {strategy}",
"@extensionStrategy": {
"description": "Track matching strategy name",
"placeholders": {
"strategy": {
"type": "String"
}
}
},
"extensionsProviderPrioritySection": "Prioridad del proveedor",
"@extensionsProviderPrioritySection": {
"description": "Section header - provider priority"
},
"extensionsInstalledSection": "Extensiones instaladas",
"@extensionsInstalledSection": {
"description": "Section header - installed extensions"
},
"extensionsNoExtensions": "No hay extensiones instaladas",
"@extensionsNoExtensions": {
"description": "Empty state - no extensions"
},
"extensionsNoExtensionsSubtitle": "Instalar archivos .spotiflac-ext para añadir nuevos proveedores",
"@extensionsNoExtensionsSubtitle": {
"description": "Empty state subtitle"
},
"extensionsInstallButton": "Instalar extensión",
"@extensionsInstallButton": {
"description": "Button to install extension from file"
},
"extensionsInfoTip": "Las extensiones pueden añadir nueva información y proveedores de descargas. Solo instalar extensiones desde fuentes confiables.",
"@extensionsInfoTip": {
"description": "Security warning about extensions"
},
"extensionsInstalledSuccess": "Extensión instalada correctamente",
"@extensionsInstalledSuccess": {
"description": "Success message after install"
},
"extensionsInstalledCount": "{count} Extensiones instaladas correctamente",
"@extensionsInstalledCount": {
"description": "Success message after installing multiple extensions",
"placeholders": {
"count": {
"type": "int",
"description": "Number of installed extensions"
}
}
},
"extensionsInstallPartialSuccess": "{installed} Instalados de {attempted} extensiones",
"@extensionsInstallPartialSuccess": {
"description": "Message when installing multiple extensions partially succeeds",
"placeholders": {
"installed": {
"type": "int",
"description": "Number of successfully installed extensions"
},
"attempted": {
"type": "int",
"description": "Number of selected extensions"
}
}
},
"extensionsDownloadPriority": "Prioridad de descarga",
"@extensionsDownloadPriority": {
"description": "Setting - download provider order"
},
"extensionsDownloadPrioritySubtitle": "Establecer orden de servicio de descarga",
"@extensionsDownloadPrioritySubtitle": {
"description": "Subtitle for download priority"
},
"extensionsFallbackTitle": "Respaldo de extensiones",
"@extensionsFallbackTitle": {
"description": "Setting and page title for choosing which download extensions can be used during fallback"
},
"extensionsFallbackSubtitle": "Elija que extensiones pueden usarse como reserva",
"@extensionsFallbackSubtitle": {
"description": "Subtitle for download fallback extensions menu"
},
"extensionsNoDownloadProvider": "No hay extensiones con proveedor de descargas",
"@extensionsNoDownloadProvider": {
"description": "Empty state - no download providers"
},
"extensionsMetadataPriority": "Prioridad de la información",
"@extensionsMetadataPriority": {
"description": "Setting - metadata provider order"
},
"extensionsMetadataPrioritySubtitle": "Establecer orden de búsqueda y información",
"@extensionsMetadataPrioritySubtitle": {
"description": "Subtitle for metadata priority"
},
"extensionsNoMetadataProvider": "No hay extensiones con el proveedor de información",
"@extensionsNoMetadataProvider": {
"description": "Empty state - no metadata providers"
},
"extensionsSearchProvider": "Proveedor de búsqueda",
"@extensionsSearchProvider": {
"description": "Setting - search provider selection"
},
"extensionsNoCustomSearch": "No hay extensiones con búsqueda personalizada",
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"extensionsSearchProviderDescription": "Elegir qué servicio usar para buscar pistas",
"@extensionsSearchProviderDescription": {
"description": "Search provider setting description"
},
"extensionsCustomSearch": "Búsqueda personalizada",
"@extensionsCustomSearch": {
"description": "Label for custom search provider"
},
"extensionsErrorLoading": "Error al cargar la extensión",
"@extensionsErrorLoading": {
"description": "Error message when extension fails to load"
},
"qualityFlacLossless": "FLAC sin pérdida",
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
"qualityFlacLosslessSubtitle": "16-bit / 44,1 kHz",
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"qualityHiResFlac": "FLAC de alta resolución",
"@qualityHiResFlac": {
"description": "Quality option - high resolution FLAC"
},
"qualityHiResFlacSubtitle": "24-bit / hasta 96 kHz",
"@qualityHiResFlacSubtitle": {
"description": "Technical spec for hi-res"
},
"qualityHiResFlacMax": "Hi-Res FLAC Max",
"@qualityHiResFlacMax": {
"description": "Quality option - maximum resolution FLAC"
},
"qualityHiResFlacMaxSubtitle": "24-bit / hasta 192 kHz",
"@qualityHiResFlacMaxSubtitle": {
"description": "Technical spec for hi-res max"
},
"downloadLossy320": "Con pérdida, 320 kbps",
"@downloadLossy320": {
"description": "Quality option label for lossy 320kbps"
},
"downloadLossyFormat": "Formato con pérdida",
"@downloadLossyFormat": {
"description": "Setting title to pick output format for lossy downloads"
},
"downloadLossy320Format": "Formato con pérdida a 320 kbps",
"@downloadLossy320Format": {
"description": "Title of the lossy format picker bottom sheet"
},
"downloadLossy320FormatDesc": "Elige el formato de salida para las descargas con pérdida de calidad a 320 kbps. Cuando sea necesario, el audio original se convertirá al formato seleccionado.",
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
"downloadLossyMp3": "MP3 (320 kbps)",
"@downloadLossyMp3": {
"description": "Lossy format option - MP3 320kbps"
},
"downloadLossyMp3Subtitle": "Mejor compatibilidad, ~10 MB por pista",
"@downloadLossyMp3Subtitle": {
"description": "Subtitle for MP3 320kbps lossy option"
},
"downloadLossyAac": "AAC/M4A (320 kbps)",
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
"downloadLossyAacSubtitle": "La mejor compatibilidad con dispositivos móviles, formato M4A",
"@downloadLossyAacSubtitle": {
"description": "Subtitle for AAC/M4A 320kbps lossy option"
},
"downloadLossyOpus256": "OPUS (256 kbps)",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
},
"downloadLossyOpus256Subtitle": "Mejor calidad de OPUS, ~8 MB por pista",
"@downloadLossyOpus256Subtitle": {
"description": "Subtitle for Opus 256kbps lossy option"
},
"downloadLossyOpus128": "OPUS (128 kbps)",
"@downloadLossyOpus128": {
"description": "Lossy format option - Opus 128kbps"
},
"downloadLossyOpus128Subtitle": "Tamaño mínimo: ~4 MB por pista",
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "La calidad real depende de la disponibilidad de la pista del servicio",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Preguntar antes de descargar",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
},
"downloadDirectory": "Carpeta de descarga",
"@downloadDirectory": {
"description": "Setting - download folder"
},
"downloadSeparateSinglesFolder": "Carpeta separada para pistas",
"@downloadSeparateSinglesFolder": {
"description": "Setting - separate folder for singles"
},
"downloadAlbumFolderStructure": "Estructura de carpeta del álbum",
"@downloadAlbumFolderStructure": {
"description": "Setting - album folder organization"
},
"albumFolderStructureDescription": "Elige cómo se estructuran las carpetas de los álbumes",
"@albumFolderStructureDescription": {
"description": "Album folder structure picker description"
},
"downloadUseAlbumArtistForFolders": "Usar álbum de artista cómo carpeta",
"@downloadUseAlbumArtistForFolders": {
"description": "Setting - choose whether artist folders use Album Artist or Track Artist"
},
"downloadUsePrimaryArtistOnly": "Artista principal solo para carpetas",
"@downloadUsePrimaryArtistOnly": {
"description": "Setting - strip featured artists from folder name"
},
"downloadUsePrimaryArtistOnlyEnabled": "Se han eliminado los nombres de los artistas destacados del nombre de la carpeta (p. ej., Justin Bieber, Quavo → Justin Bieber)",
"@downloadUsePrimaryArtistOnlyEnabled": {
"description": "Subtitle when primary artist only is enabled"
},
"downloadUsePrimaryArtistOnlyDisabled": "Se utiliza el nombre completo del artista como nombre de la carpeta",
"@downloadUsePrimaryArtistOnlyDisabled": {
"description": "Subtitle when primary artist only is disabled"
},
"downloadSelectQuality": "Seleccionar Calidad",
"@downloadSelectQuality": {
"description": "Dialog title - choose audio quality"
},
"downloadFrom": "Descargar Desde",
"@downloadFrom": {
"description": "Label - download source"
},
"appearanceAmoledDark": "AMOLED Oscuro",
"@appearanceAmoledDark": {
"description": "Theme option - pure black"
},
"appearanceAmoledDarkSubtitle": "Fondo negro puro",
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"queueClearAll": "Eliminar todo",
"@queueClearAll": {
"description": "Button - clear all queue items"
},
"queueClearAllMessage": "¿Estás seguro de que quieres borrar todas las descargas?",
"@queueClearAllMessage": {
"description": "Clear queue confirmation"
},
"settingsAutoExportFailed": "Autoexportar descargas fallidas",
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"settingsAutoExportFailedSubtitle": "Guardar descargas fallidas en el archivo TXT automáticamente",
"@settingsAutoExportFailedSubtitle": {
"description": "Subtitle for auto-export setting"
},
"settingsDownloadNetwork": "Red de descarga",
"@settingsDownloadNetwork": {
"description": "Setting for network type preference"
},
"settingsDownloadNetworkAny": "Wi-Fi + Datos móviles",
"@settingsDownloadNetworkAny": {
"description": "Network option - use any connection"
},
"settingsDownloadNetworkWifiOnly": "Iniciar solo por Wi-Fi",
"@settingsDownloadNetworkWifiOnly": {
"description": "Network option - only use WiFi"
},
"settingsDownloadNetworkSubtitle": "Elegir qué red usar para descargas. Cuando se establece en Wi-Fi solamente, las descargas se detendrán en los datos móviles.",
"@settingsDownloadNetworkSubtitle": {
"description": "Subtitle explaining network preference"
},
"albumFolderArtistAlbum": "Artista / Álbum",
"@albumFolderArtistAlbum": {
"description": "Album folder option"
},
"albumFolderArtistAlbumSubtitle": "Álbumes/Nombre del Artista/Nombre del Álbum/",
"@albumFolderArtistAlbumSubtitle": {
"description": "Folder structure example"
},
"albumFolderArtistYearAlbum": "Artista / [Año] Álbum",
"@albumFolderArtistYearAlbum": {
"description": "Album folder option with year"
},
"albumFolderArtistYearAlbumSubtitle": "Álbumes/Nombre del Artista /[2005] Nombre del Álbum/",
"@albumFolderArtistYearAlbumSubtitle": {
"description": "Folder structure example"
},
"albumFolderAlbumOnly": "Sólo álbum",
"@albumFolderAlbumOnly": {
"description": "Album folder option"
},
"albumFolderAlbumOnlySubtitle": "Álbumes/Nombre del Álbum/",
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
"albumFolderYearAlbum": "Álbum [Año]",
"@albumFolderYearAlbum": {
"description": "Album folder option with year"
},
"albumFolderYearAlbumSubtitle": "Álbumes/[2005] Nombre del Álbum/",
"@albumFolderYearAlbumSubtitle": {
"description": "Folder structure example"
},
"albumFolderArtistAlbumSingles": "Artista / Álbum + Pistas",
"@albumFolderArtistAlbumSingles": {
"description": "Album folder option with singles inside artist"
},
"albumFolderArtistAlbumSinglesSubtitle": "Artista/Álbum/ y Artista/pistas/",
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
"albumFolderArtistAlbumFlat": "Artista / Álbum (sencillos planos)",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
"albumFolderArtistAlbumFlatSubtitle": "Artista/Álbum/ y Artista/canción.flac",
"@albumFolderArtistAlbumFlatSubtitle": {
"description": "Folder structure example for flat singles"
},
"downloadedAlbumDeleteSelected": "Borrar seleccionados",
"@downloadedAlbumDeleteSelected": {
"description": "Button - delete selected tracks"
},
"downloadedAlbumDeleteMessage": "¿Eliminar {count} {count, plural, =1{pista} other{pistas}} del historial?\n\nEsto también eliminará los archivos del almacenamiento.",
"@downloadedAlbumDeleteMessage": {
"description": "Delete confirmation with count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedAlbumSelectedCount": "{count} seleccionado",
"@downloadedAlbumSelectedCount": {
"description": "Selection count indicator",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedAlbumAllSelected": "Todas las pistas seleccionadas",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Toca las pistas para seleccionar",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
"downloadedAlbumDeleteCount": "¡Eliminar {count} {count, plural, =1{pista} other{pistas}}",
"@downloadedAlbumDeleteCount": {
"description": "Delete button text with count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedAlbumSelectToDelete": "Seleccionar pistas a eliminar",
"@downloadedAlbumSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"downloadedAlbumDiscHeader": "Disco {discNumber}",
"@downloadedAlbumDiscHeader": {
"description": "Header for disc separator in multi-disc albums",
"placeholders": {
"discNumber": {
"type": "int",
"example": "1"
}
}
},
"recentTypeArtist": "Artista",
"@recentTypeArtist": {
"description": "Recent access item type - artist"
},
"recentTypeAlbum": "Álbum",
"@recentTypeAlbum": {
"description": "Recent access item type - album"
},
"recentTypeSong": "Canción",
"@recentTypeSong": {
"description": "Recent access item type - song/track"
},
"recentTypePlaylist": "Lista de reproducción",
"@recentTypePlaylist": {
"description": "Recent access item type - playlist"
},
"recentEmpty": "Aún no hay entradas recientes",
"@recentEmpty": {
"description": "Empty state text for recent access list"
},
"recentShowAllDownloads": "Mostrar todas las descargas",
"@recentShowAllDownloads": {
"description": "Button label to unhide hidden downloads in recent access"
},
"recentPlaylistInfo": "Lista de reproducción: {name}",
"@recentPlaylistInfo": {
"description": "Snackbar message when tapping playlist in recent access",
"placeholders": {
"name": {
"type": "String",
"description": "Playlist name"
}
}
},
"discographyDownload": "Descargar Discografía",
"@discographyDownload": {
"description": "Button - download artist discography"
},
"discographyDownloadAll": "Descargar Todo",
"@discographyDownloadAll": {
"description": "Option - download entire discography"
},
"discographyDownloadAllSubtitle": "{count} pistas de {albumCount} lanzamientos",
"@discographyDownloadAllSubtitle": {
"description": "Subtitle showing total tracks and albums",
"placeholders": {
"count": {
"type": "int"
},
"albumCount": {
"type": "int"
}
}
},
"discographyAlbumsOnly": "Sólo álbumes",
"@discographyAlbumsOnly": {
"description": "Option - download only albums"
},
"discographyAlbumsOnlySubtitle": "{count} pistas de {albumCount} álbumes",
"@discographyAlbumsOnlySubtitle": {
"description": "Subtitle showing album tracks count",
"placeholders": {
"count": {
"type": "int"
},
"albumCount": {
"type": "int"
}
}
},
"discographySinglesOnly": "Solo sencillos & mini-álbum",
"@discographySinglesOnly": {
"description": "Option - download only singles"
},
"discographySinglesOnlySubtitle": "{count} Pistas de {albumCount} sencillos",
"@discographySinglesOnlySubtitle": {
"description": "Subtitle showing singles tracks count",
"placeholders": {
"count": {
"type": "int"
},
"albumCount": {
"type": "int"
}
}
},
"discographySelectAlbums": "Seleccionar álbumes...",
"@discographySelectAlbums": {
"description": "Option - manually select albums to download"
},
"discographySelectAlbumsSubtitle": "Elige álbumes o sencillos concretos",
"@discographySelectAlbumsSubtitle": {
"description": "Subtitle for select albums option"
},
"discographyFetchingTracks": "Cargando canciones...",
"@discographyFetchingTracks": {
"description": "Progress - fetching album tracks"
},
"discographyFetchingAlbum": "Cargando {current} de {total}...",
"@discographyFetchingAlbum": {
"description": "Progress - fetching specific album",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"discographySelectedCount": "{count} seleccionados",
"@discographySelectedCount": {
"description": "Selection count badge",
"placeholders": {
"count": {
"type": "int"
}
}
},
"discographyDownloadSelected": "Descargar seleccionados",
"@discographyDownloadSelected": {
"description": "Button - download selected albums"
},
"discographyAddedToQueue": "Se agregaron {count} canciones a la lista de espera",
"@discographyAddedToQueue": {
"description": "Snackbar - tracks added from discography",
"placeholders": {
"count": {
"type": "int"
}
}
},
"discographySkippedDownloaded": "{added} añadidas, {skipped} ya fueron descargadas",
"@discographySkippedDownloaded": {
"description": "Snackbar - with skipped tracks count",
"placeholders": {
"added": {
"type": "int"
},
"skipped": {
"type": "int"
}
}
},
"discographyNoAlbums": "No hay álbumes disponibles",
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"discographyFailedToFetch": "Hubo un error para encontrar algunos álbumes",
"@discographyFailedToFetch": {
"description": "Error - some albums failed to load"
},
"sectionStorageAccess": "Permiso de almacenamiento",
"@sectionStorageAccess": {
"description": "Section header for storage access settings"
},
"allFilesAccess": "Acceso a todos los archivos",
"@allFilesAccess": {
"description": "Toggle for MANAGE_EXTERNAL_STORAGE permission"
},
"allFilesAccessEnabledSubtitle": "Puede escribir en cualquier carpeta",
"@allFilesAccessEnabledSubtitle": {
"description": "Subtitle when all files access is enabled"
},
"allFilesAccessDisabledSubtitle": "Limitado a carpetas de media",
"@allFilesAccessDisabledSubtitle": {
"description": "Subtitle when all files access is disabled"
},
"allFilesAccessDescription": "Habilite esto si tiene problemas de escritura al guardar en carpetas personalizadas. Android 13+ restringe el acceso a ciertas carpetas por defecto.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
},
"allFilesAccessDeniedMessage": "Permiso denegado. Por favor habilite 'Acceso a todos los archivos' de manera manual en la configuración del sistema.",
"@allFilesAccessDeniedMessage": {
"description": "Message when permission is permanently denied"
},
"allFilesAccessDisabledMessage": "Acceso a todos los archivos desactivado. La aplicación usará acceso limitado al almacenamiento.",
"@allFilesAccessDisabledMessage": {
"description": "Snackbar message when user disables all files access"
},
"settingsLocalLibrary": "Librería local",
"@settingsLocalLibrary": {
"description": "Settings menu item - local library"
},
"settingsLocalLibrarySubtitle": "Escanear música y detectar duplicados",
"@settingsLocalLibrarySubtitle": {
"description": "Subtitle for local library settings"
},
"settingsCache": "Almacenamiento & caché",
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"settingsCacheSubtitle": "Ver tamaño y borrar datos en caché",
"@settingsCacheSubtitle": {
"description": "Subtitle for cache management menu"
},
"libraryTitle": "Librería local",
"@libraryTitle": {
"description": "Library settings page title"
},
"libraryScanSettings": "Configuración de escaneo",
"@libraryScanSettings": {
"description": "Section header for scan settings"
},
"libraryEnableLocalLibrary": "Habilitar librería local",
"@libraryEnableLocalLibrary": {
"description": "Toggle to enable library scanning"
},
"libraryEnableLocalLibrarySubtitle": "Escanea y rastrea tu música existente",
"@libraryEnableLocalLibrarySubtitle": {
"description": "Subtitle for enable toggle"
},
"libraryFolder": "Carpeta de la librería",
"@libraryFolder": {
"description": "Folder selection setting"
},
"libraryFolderHint": "Toque para seleccionar la carpeta",
"@libraryFolderHint": {
"description": "Placeholder when no folder selected"
},
"libraryShowDuplicateIndicator": "Mostrar indicador de duplicados",
"@libraryShowDuplicateIndicator": {
"description": "Toggle for duplicate indicator in search"
},
"libraryShowDuplicateIndicatorSubtitle": "Mostrar al buscar canciones existentes",
"@libraryShowDuplicateIndicatorSubtitle": {
"description": "Subtitle for duplicate indicator toggle"
},
"libraryAutoScan": "Escaneo automático",
"@libraryAutoScan": {
"description": "Setting for automatic library scanning"
},
"libraryAutoScanSubtitle": "Escanear automáticamente tu librería por nuevos archivos",
"@libraryAutoScanSubtitle": {
"description": "Subtitle for auto scan setting"
},
"libraryAutoScanOff": "Apagado",
"@libraryAutoScanOff": {
"description": "Auto scan disabled"
},
"libraryAutoScanOnOpen": "Cada vez que la aplicación se abra",
"@libraryAutoScanOnOpen": {
"description": "Auto scan when app opens"
},
"libraryAutoScanDaily": "Diariamente",
"@libraryAutoScanDaily": {
"description": "Auto scan once per day"
},
"libraryAutoScanWeekly": "Semanalmente",
"@libraryAutoScanWeekly": {
"description": "Auto scan once per week"
},
"libraryActions": "Acciones",
"@libraryActions": {
"description": "Section header for library actions"
},
"libraryScan": "Escanear librería",
"@libraryScan": {
"description": "Button to start library scan"
},
"libraryScanSubtitle": "Escanear archivos de audio",
"@libraryScanSubtitle": {
"description": "Subtitle for scan button"
},
"libraryScanSelectFolderFirst": "Primero seleccione una carpeta",
"@libraryScanSelectFolderFirst": {
"description": "Message when trying to scan without folder"
},
"libraryCleanupMissingFiles": "Limpiar archivos faltantes",
"@libraryCleanupMissingFiles": {
"description": "Button to remove entries for missing files"
},
"libraryCleanupMissingFilesSubtitle": "Remover entradas para archivos que ya no existen",
"@libraryCleanupMissingFilesSubtitle": {
"description": "Subtitle for cleanup button"
},
"libraryClear": "Limpiar librería",
"@libraryClear": {
"description": "Button to clear all library entries"
},
"libraryClearSubtitle": "Remover todas las canciones escaneadas",
"@libraryClearSubtitle": {
"description": "Subtitle for clear button"
},
"libraryClearConfirmTitle": "Limpiar librería",
"@libraryClearConfirmTitle": {
"description": "Dialog title for clear confirmation"
},
"libraryClearConfirmMessage": "Esto removerá todas las canciones escaneadas de tu librería. Los archivos de música no serán eliminados.",
"@libraryClearConfirmMessage": {
"description": "Dialog message for clear confirmation"
},
"libraryAbout": "Acerca de la librería local",
"@libraryAbout": {
"description": "Section header for about info"
},
"libraryAboutDescription": "Escanea tu colección de música para detectar duplicados al descargar. Permite formatos FLAC, M4A, MP3, Opus, y OGG. La meta data será leída de los archivos cuando sea posible.",
"@libraryAboutDescription": {
"description": "Description of local library feature"
},
"libraryTracksUnit": "{count, plural, =1{pista} other{pistas}}",
"@libraryTracksUnit": {
"description": "Unit label for tracks count (without the number itself)",
"placeholders": {
"count": {
"type": "int"
}
}
},
"libraryFilesUnit": "{count, plural, =1{archivo} other{archivos}}",
"@libraryFilesUnit": {
"description": "Unit label for files count during library scanning",
"placeholders": {
"count": {
"type": "int"
}
}
},
"libraryLastScanned": "Último escaneo: {time}",
"@libraryLastScanned": {
"description": "Last scan time display",
"placeholders": {
"time": {
"type": "String"
}
}
},
"libraryLastScannedNever": "Nunca",
"@libraryLastScannedNever": {
"description": "Shown when library has never been scanned"
},
"libraryScanning": "Escaneando...",
"@libraryScanning": {
"description": "Status during scan"
},
"libraryScanFinalizing": "Finalizando la biblioteca...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
},
"libraryScanProgress": "{progress}% de {total} archivos",
"@libraryScanProgress": {
"description": "Scan progress display",
"placeholders": {
"progress": {
"type": "String"
},
"total": {
"type": "int"
}
}
},
"libraryInLibrary": "En la biblioteca",
"@libraryInLibrary": {
"description": "Badge shown on tracks that exist in local library"
},
"libraryRemovedMissingFiles": "Eliminados {count} archivos faltantes de la biblioteca",
"@libraryRemovedMissingFiles": {
"description": "Snackbar after cleanup",
"placeholders": {
"count": {
"type": "int"
}
}
},
"libraryCleared": "Biblioteca vaciada",
"@libraryCleared": {
"description": "Snackbar after clearing library"
},
"libraryStorageAccessRequired": "Permiso de acceso al almacenamiento requerido",
"@libraryStorageAccessRequired": {
"description": "Dialog title for storage permission"
},
"libraryStorageAccessMessage": "SpotiFLAC necesita acceso al almacenamiento para escanear tu biblioteca musical. Por favor, concede el permiso en los ajustes.",
"@libraryStorageAccessMessage": {
"description": "Dialog message for storage permission"
},
"libraryFolderNotExist": "La carpeta seleccionada no existe",
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"librarySourceDownloaded": "Descargado",
"@librarySourceDownloaded": {
"description": "Badge for tracks downloaded via SpotiFLAC"
},
"librarySourceLocal": "En el dispositivo",
"@librarySourceLocal": {
"description": "Badge for tracks from local library scan"
},
"libraryFilterAll": "Todos",
"@libraryFilterAll": {
"description": "Filter chip - show all library items"
},
"libraryFilterDownloaded": "Descargado",
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
"libraryFilterLocal": "En el dispositivo",
"@libraryFilterLocal": {
"description": "Filter chip - show only local library items"
},
"libraryFilterTitle": "Filtros",
"@libraryFilterTitle": {
"description": "Filter bottom sheet title"
},
"libraryFilterReset": "Restablecer",
"@libraryFilterReset": {
"description": "Reset all filters button"
},
"libraryFilterApply": "Aplicar",
"@libraryFilterApply": {
"description": "Apply filters button"
},
"libraryFilterSource": "Fuente",
"@libraryFilterSource": {
"description": "Filter section - source type"
},
"libraryFilterQuality": "Calidad",
"@libraryFilterQuality": {
"description": "Filter section - audio quality"
},
"libraryFilterQualityHiRes": "Hi-Res (24-bit)",
"@libraryFilterQualityHiRes": {
"description": "Filter option - high resolution audio"
},
"libraryFilterQualityCD": "CD (16-bit)",
"@libraryFilterQualityCD": {
"description": "Filter option - CD quality audio"
},
"libraryFilterQualityLossy": "Con pérdida",
"@libraryFilterQualityLossy": {
"description": "Filter option - lossy compressed audio"
},
"libraryFilterFormat": "Formato",
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"libraryFilterMetadata": "Información",
"@libraryFilterMetadata": {
"description": "Filter section - metadata completeness"
},
"libraryFilterMetadataComplete": "Información completa",
"@libraryFilterMetadataComplete": {
"description": "Filter option - items with complete metadata"
},
"libraryFilterMetadataMissingAny": "Falta información (meta-data)",
"@libraryFilterMetadataMissingAny": {
"description": "Filter option - items missing any tracked metadata field"
},
"libraryFilterMetadataMissingYear": "Falta año",
"@libraryFilterMetadataMissingYear": {
"description": "Filter option - items missing release year/date"
},
"libraryFilterMetadataMissingGenre": "Falta género",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
"libraryFilterMetadataMissingAlbumArtist": "Falta artiste de álbum",
"@libraryFilterMetadataMissingAlbumArtist": {
"description": "Filter option - items missing album artist"
},
"libraryFilterSort": "Ordenar",
"@libraryFilterSort": {
"description": "Filter section - sort order"
},
"libraryFilterSortLatest": "Reciente",
"@libraryFilterSortLatest": {
"description": "Sort option - newest first"
},
"libraryFilterSortOldest": "Más antiguo",
"@libraryFilterSortOldest": {
"description": "Sort option - oldest first"
},
"libraryFilterSortAlbumAsc": "Álbum (A-Z)",
"@libraryFilterSortAlbumAsc": {
"description": "Sort option - album ascending"
},
"libraryFilterSortAlbumDesc": "Álbum (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
},
"libraryFilterSortGenreAsc": "Género (A-Z)",
"@libraryFilterSortGenreAsc": {
"description": "Sort option - genre ascending"
},
"libraryFilterSortGenreDesc": "Género (Z-A)",
"@libraryFilterSortGenreDesc": {
"description": "Sort option - genre descending"
},
"timeJustNow": "Hace un momento",
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"timeMinutesAgo": "{count, plural, =1{hace 1 minuto} other{{count} minutos atrás}}",
"@timeMinutesAgo": {
"description": "Relative time - minutes ago",
"placeholders": {
"count": {
"type": "int"
}
}
},
"timeHoursAgo": "{count, plural, =1{1 hora atrás} other{{count} horas atrás}}",
"@timeHoursAgo": {
"description": "Relative time - hours ago",
"placeholders": {
"count": {
"type": "int"
}
}
},
"tutorialWelcomeTitle": "¡Bienvenido a SpotiFLAC!",
"@tutorialWelcomeTitle": {
"description": "Tutorial welcome page title"
},
"tutorialWelcomeDesc": "Aprende cómo descargar tu música favorita en excelente calidad. Este tutorial te mostrará lo básico.",
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
"tutorialWelcomeTip1": "Descarga música de Spotify, Deezer, o pega cualquier URL soportada",
"@tutorialWelcomeTip1": {
"description": "Tutorial welcome tip 1"
},
"tutorialWelcomeTip2": "Obtén audio de calidad FLAC mediante las extensiones de descarga instaladas",
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"tutorialWelcomeTip3": "Información automática, portadas y letras integradas",
"@tutorialWelcomeTip3": {
"description": "Tutorial welcome tip 3"
},
"tutorialSearchTitle": "Buscando música",
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"tutorialSearchDesc": "Hay dos maneras fáciles de encontrar la música que quieres descargar.",
"@tutorialSearchDesc": {
"description": "Tutorial search page description"
},
"tutorialDownloadTitle": "Descargando música",
"@tutorialDownloadTitle": {
"description": "Tutorial download page title"
},
"tutorialDownloadDesc": "Descargar música es simple y rápido. Así es como funciona.",
"@tutorialDownloadDesc": {
"description": "Tutorial download page description"
},
"tutorialLibraryTitle": "Tu biblioteca",
"@tutorialLibraryTitle": {
"description": "Tutorial library page title"
},
"tutorialLibraryDesc": "Toda tu música descargada está organizada en la pestaña Biblioteca.",
"@tutorialLibraryDesc": {
"description": "Tutorial library page description"
},
"tutorialLibraryTip1": "Ver progreso de descarga y cola en la pestaña de biblioteca",
"@tutorialLibraryTip1": {
"description": "Tutorial library tip 1"
},
"tutorialLibraryTip2": "Pulsa cualquier pista para abrirla con tu reproductor multimedia",
"@tutorialLibraryTip2": {
"description": "Tutorial library tip 2"
},
"tutorialLibraryTip3": "Cambiar modo de vista entre modo lista y cuadrícula para mejorar navegación",
"@tutorialLibraryTip3": {
"description": "Tutorial library tip 3"
},
"tutorialExtensionsTitle": "Extensiones",
"@tutorialExtensionsTitle": {
"description": "Tutorial extensions page title"
},
"tutorialExtensionsDesc": "Extiende las capacidades de la aplicación con extensiones creadas por la comunidad.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
},
"tutorialExtensionsTip1": "Navega por la pestaña de repo para descubrir extensiones",
"@tutorialExtensionsTip1": {
"description": "Tutorial extensions tip 1"
},
"tutorialExtensionsTip2": "Añadir nuevos proveedores de descargas o fuentes de búsqueda",
"@tutorialExtensionsTip2": {
"description": "Tutorial extensions tip 2"
},
"tutorialExtensionsTip3": "Obtén letras, información mejorada y más características",
"@tutorialExtensionsTip3": {
"description": "Tutorial extensions tip 3"
},
"tutorialSettingsTitle": "Personaliza tu experiencia",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
},
"tutorialSettingsDesc": "Personaliza la aplicación en Ajustes según tus preferencias.",
"@tutorialSettingsDesc": {
"description": "Tutorial settings page description"
},
"tutorialSettingsTip1": "Cambia la ubicación de las descargas y la organización de las carpetas",
"@tutorialSettingsTip1": {
"description": "Tutorial settings tip 1"
},
"tutorialSettingsTip2": "Configura la calidad de audio predeterminada y las preferencias de formato",
"@tutorialSettingsTip2": {
"description": "Tutorial settings tip 2"
},
"tutorialSettingsTip3": "Personaliza el tema y el aspecto de la aplicación",
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"tutorialReadyMessage": "¡Todo preparado!, puedes descargar tu música favorita.",
"@tutorialReadyMessage": {
"description": "Tutorial completion message"
},
"libraryForceFullScan": "Forzar análisis completo",
"@libraryForceFullScan": {
"description": "Button to force a complete rescan of library"
},
"libraryForceFullScanSubtitle": "Volver a escanear archivos, ignorando caché",
"@libraryForceFullScanSubtitle": {
"description": "Subtitle for force full scan button"
},
"cleanupOrphanedDownloads": "Borrar descargar huérfanas",
"@cleanupOrphanedDownloads": {
"description": "Button to remove history entries for deleted files"
},
"cleanupOrphanedDownloadsSubtitle": "Borrar historial de archivos que no existen",
"@cleanupOrphanedDownloadsSubtitle": {
"description": "Subtitle for orphaned cleanup button"
},
"cleanupOrphanedDownloadsResult": "Se removieron {count} entradas huérfanas del historial.",
"@cleanupOrphanedDownloadsResult": {
"description": "Snackbar after orphan cleanup",
"placeholders": {
"count": {
"type": "int"
}
}
},
"cleanupOrphanedDownloadsNone": "Sin entradas huérfanas encontradas",
"@cleanupOrphanedDownloadsNone": {
"description": "Snackbar when no orphans found"
},
"cacheTitle": "Almacenamiento y caché",
"@cacheTitle": {
"description": "Cache management page title"
},
"cacheSummaryTitle": "Resumen de la caché",
"@cacheSummaryTitle": {
"description": "Heading for cache summary card"
},
"cacheSummarySubtitle": "Limpiar la caché no eliminará los archivos de música descargados.",
"@cacheSummarySubtitle": {
"description": "Helper text for cache summary card"
},
"cacheEstimatedTotal": "Uso estimado de caché: {size}",
"@cacheEstimatedTotal": {
"description": "Total cache size shown in summary",
"placeholders": {
"size": {
"type": "String"
}
}
},
"cacheSectionStorage": "Datos almacenados en caché",
"@cacheSectionStorage": {
"description": "Section header for cache entries"
},
"cacheSectionMaintenance": "Mantenimiento",
"@cacheSectionMaintenance": {
"description": "Section header for cleanup actions"
},
"cacheAppDirectory": "Directorio de caché",
"@cacheAppDirectory": {
"description": "Cache item title for app cache directory"
},
"cacheAppDirectoryDesc": "Respuestas HTTP, datos WebView y otros datos temporales.",
"@cacheAppDirectoryDesc": {
"description": "Description of what app cache directory contains"
},
"cacheTempDirectory": "Directorio temporal",
"@cacheTempDirectory": {
"description": "Cache item title for temporary files directory"
},
"cacheTempDirectoryDesc": "Archivos temporales de descargas y conversión de audio.",
"@cacheTempDirectoryDesc": {
"description": "Description of what temporary directory contains"
},
"cacheCoverImage": "Caché de imágenes de portada",
"@cacheCoverImage": {
"description": "Cache item title for persistent cover images"
},
"cacheCoverImageDesc": "Álbum descargado y portada de pista. Se volverá a descargar cuando se vea.",
"@cacheCoverImageDesc": {
"description": "Description of what cover image cache contains"
},
"cacheLibraryCover": "Caché de portada (biblioteca)",
"@cacheLibraryCover": {
"description": "Cache item title for local library cover art images"
},
"cacheLibraryCoverDesc": "Portada extraída de archivos locales. Se extraerá de nuevo en el próximo escaneo.",
"@cacheLibraryCoverDesc": {
"description": "Description of what library cover cache contains"
},
"cacheExploreFeed": "Explorar caché de inicio",
"@cacheExploreFeed": {
"description": "Cache item title for explore home feed cache"
},
"cacheExploreFeedDesc": "Explorar contenido de pestaña (nuevas versiones, tendencias). Se actualiza en cada visita.",
"@cacheExploreFeedDesc": {
"description": "Description of what explore feed cache contains"
},
"cacheTrackLookup": "Caché de búsqueda",
"@cacheTrackLookup": {
"description": "Cache item title for track ID lookup cache"
},
"cacheTrackLookupDesc": "Búsqueda de ID de Spotify/Deezer. Limpiar podría ralentizar algunas búsquedas.",
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"cacheCleanupUnusedDesc": "Borre el historial de archivos huérfanos y las entradas en la biblioteca.",
"@cacheCleanupUnusedDesc": {
"description": "Description of what cleanup unused data does"
},
"cacheNoData": "No hay datos en caché",
"@cacheNoData": {
"description": "Label when cache category has no data"
},
"cacheSizeWithFiles": "{size} en {count} archivos",
"@cacheSizeWithFiles": {
"description": "Cache size and file count",
"placeholders": {
"size": {
"type": "String"
},
"count": {
"type": "int"
}
}
},
"cacheSizeOnly": "{size}",
"@cacheSizeOnly": {
"description": "Cache size only",
"placeholders": {
"size": {
"type": "String"
}
}
},
"cacheEntries": "{count} registros",
"@cacheEntries": {
"description": "Track cache entry count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"cacheClearSuccess": "Limpiado: {target}",
"@cacheClearSuccess": {
"description": "Snackbar after clearing selected cache",
"placeholders": {
"target": {
"type": "String"
}
}
},
"cacheClearConfirmTitle": "¿Limpiar caché?",
"@cacheClearConfirmTitle": {
"description": "Dialog title before clearing one cache category"
},
"cacheClearConfirmMessage": "Esto borrará los datos en caché para {target}. Los archivos descargados no se eliminan.",
"@cacheClearConfirmMessage": {
"description": "Dialog message before clearing selected cache",
"placeholders": {
"target": {
"type": "String"
}
}
},
"cacheClearAllConfirmTitle": "¿Quieres limpiar todas las cachés?",
"@cacheClearAllConfirmTitle": {
"description": "Dialog title before clearing all caches"
},
"cacheClearAllConfirmMessage": "Esto borrará todo el caché de categorías en esta página. Los archivos descargados no se eliminan.",
"@cacheClearAllConfirmMessage": {
"description": "Dialog message before clearing all caches"
},
"cacheClearAll": "Borrar todo el caché",
"@cacheClearAll": {
"description": "Button label to clear all caches"
},
"cacheCleanupUnused": "Limpiar datos sin usar",
"@cacheCleanupUnused": {
"description": "Action title for cleaning unused entries"
},
"cacheCleanupUnusedSubtitle": "Borrar historial de descargas huérfanas y entradas faltantes en biblioteca",
"@cacheCleanupUnusedSubtitle": {
"description": "Subtitle for cleanup unused data action"
},
"cacheCleanupResult": "Limpieza copletada: {downloadCount} descargas huéranas, {libraryCount} entradas faltantes de librería",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
"placeholders": {
"downloadCount": {
"type": "int"
},
"libraryCount": {
"type": "int"
}
}
},
"cacheRefreshStats": "Actualizar estadisticas",
"@cacheRefreshStats": {
"description": "Button label to refresh cache statistics"
},
"trackSaveCoverArt": "Guardar portada",
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Guardar imagen del álbum como archivo .jpg",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Guardar letra (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Buscar y guardar letras como archivo .lrc",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Guardando letra...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
},
"trackReEnrich": "Volver a enriquecer",
"@trackReEnrich": {
"description": "Menu action - re-embed metadata into audio file"
},
"trackReEnrichOnlineSubtitle": "Buscar información en línea y incrustar al archivo",
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Campos a actualizar",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Carátula",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
},
"trackReEnrichFieldLyrics": "Letra",
"@trackReEnrichFieldLyrics": {
"description": "Checkbox label for lyrics field in re-enrich"
},
"trackReEnrichFieldBasicTags": "Álbum, Artista del Álbum",
"@trackReEnrichFieldBasicTags": {
"description": "Checkbox label for basic tags in re-enrich (title/artist are never overwritten)"
},
"trackReEnrichFieldTrackInfo": "Número de pista(s) y disco(s).",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
"trackReEnrichFieldReleaseInfo": "Fecha e ISRC",
"@trackReEnrichFieldReleaseInfo": {
"description": "Checkbox label for release info in re-enrich"
},
"trackReEnrichFieldExtra": "Género, etiqueta, derechos de autor",
"@trackReEnrichFieldExtra": {
"description": "Checkbox label for extra metadata in re-enrich"
},
"trackReEnrichSelectAll": "Seleccionar todos",
"@trackReEnrichSelectAll": {
"description": "Select all fields checkbox in re-enrich"
},
"trackEditMetadata": "Editar información",
"@trackEditMetadata": {
"description": "Menu action - edit embedded metadata"
},
"trackCoverSaved": "Carátula guardada en {fileName}",
"@trackCoverSaved": {
"description": "Snackbar after cover art saved",
"placeholders": {
"fileName": {
"type": "String"
}
}
},
"trackCoverNoSource": "No hay fuente de portadas disponible",
"@trackCoverNoSource": {
"description": "Snackbar when no cover art URL or embedded cover"
},
"trackLyricsSaved": "Letra guardada en {fileName}",
"@trackLyricsSaved": {
"description": "Snackbar after lyrics saved",
"placeholders": {
"fileName": {
"type": "String"
}
}
},
"trackReEnrichProgress": "Obteniendo información...",
"@trackReEnrichProgress": {
"description": "Snackbar while re-enriching metadata"
},
"trackReEnrichSearching": "Buscando información en línea...",
"@trackReEnrichSearching": {
"description": "Snackbar while searching metadata from internet for local items"
},
"trackReEnrichSuccess": "Información ",
"@trackReEnrichSuccess": {
"description": "Snackbar after successful re-enrichment"
},
"trackReEnrichFfmpegFailed": "Información incrustada con FFmpeg falló",
"@trackReEnrichFfmpegFailed": {
"description": "Snackbar when FFmpeg embed fails for MP3/Opus"
},
"queueFlacAction": "Encolar FLAC",
"@queueFlacAction": {
"description": "Action/button label for queueing FLAC redownloads for local tracks"
},
"queueFlacConfirmMessage": "Buscar coincidencias en línea para las pistas seleccionadas y en cola de descargas\n\nArchivos existentes no serán afectados o borrados.\n\nSolo coincidencia de alta confianza serán puestas automáticamente.\n\n{count} seleccionado",
"@queueFlacConfirmMessage": {
"description": "Confirmation dialog body before queueing FLAC redownloads for local tracks",
"placeholders": {
"count": {
"type": "int"
}
}
},
"queueFlacFindingProgress": "Buscando coincidencias FLAC",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "Sin coincidencias en línea de confianza",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
},
"queueFlacQueuedWithSkipped": "Añadido {addedCount} pistas a la cola, omitidas {skippedCount}",
"@queueFlacQueuedWithSkipped": {
"description": "Snackbar when some selected local tracks were queued for FLAC redownload and some were skipped",
"placeholders": {
"addedCount": {
"type": "int"
},
"skippedCount": {
"type": "int"
}
}
},
"trackSaveFailed": "Error: {error}",
"@trackSaveFailed": {
"description": "Snackbar when save operation fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"trackConvertFormat": "Convertir formato",
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convertir a AAC/M4A, MP3, Opus, ALAC, o FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convertir audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
},
"trackConvertTargetFormat": "Formato de destino",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
},
"trackConvertBitrate": "Tasa de bits",
"@trackConvertBitrate": {
"description": "Label for bitrate selection"
},
"trackConvertConfirmTitle": "Confirmar conversión",
"@trackConvertConfirmTitle": {
"description": "Confirmation dialog title"
},
"trackConvertConfirmMessage": "¿Convertir desde {sourceFormat} a {targetFormat} a {bitrate}?",
"@trackConvertConfirmMessage": {
"description": "Confirmation dialog message",
"placeholders": {
"sourceFormat": {
"type": "String"
},
"targetFormat": {
"type": "String"
},
"bitrate": {
"type": "String"
}
}
},
"trackConvertConfirmMessageLossless": "Convertir de {sourceFormat} a {targetFormat}? \n(Sin pérdidas)\n\nEl archivo original será eliminado después de la conversión.",
"@trackConvertConfirmMessageLossless": {
"description": "Confirmation dialog message for lossless-to-lossless conversion",
"placeholders": {
"sourceFormat": {
"type": "String"
},
"targetFormat": {
"type": "String"
}
}
},
"trackConvertLosslessHint": "Conversión sin pérdidas — sin pérdida de calidad",
"@trackConvertLosslessHint": {
"description": "Hint shown when converting between lossless formats"
},
"trackConvertConverting": "Convirtiendo Audio...",
"@trackConvertConverting": {
"description": "Snackbar while converting"
},
"trackConvertSuccess": "Convertido a {format} con éxito",
"@trackConvertSuccess": {
"description": "Snackbar after successful conversion",
"placeholders": {
"format": {
"type": "String"
}
}
},
"trackConvertFailed": "La conversión ha fallado",
"@trackConvertFailed": {
"description": "Snackbar when conversion fails"
},
"cueSplitTitle": "Dividir hoja CUE",
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Dividir CUE + FLAC en pistas individuales",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Álbum: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
"placeholders": {
"album": {
"type": "String"
}
}
},
"cueSplitArtist": "Artista: {artist}",
"@cueSplitArtist": {
"description": "Artist name in CUE split sheet",
"placeholders": {
"artist": {
"type": "String"
}
}
},
"cueSplitTrackCount": "{count} pistas",
"@cueSplitTrackCount": {
"description": "Number of tracks in CUE sheet",
"placeholders": {
"count": {
"type": "int"
}
}
},
"cueSplitConfirmTitle": "Dividir álbum CUE",
"@cueSplitConfirmTitle": {
"description": "CUE split confirmation dialog title"
},
"cueSplitConfirmMessage": "¿Dividir \"{album}\" en archivos FLAC individuales {count}?\n\nLos archivos se guardarán en el mismo directorio.",
"@cueSplitConfirmMessage": {
"description": "CUE split confirmation dialog message",
"placeholders": {
"album": {
"type": "String"
},
"count": {
"type": "int"
}
}
},
"cueSplitSplitting": "¿Dividir \"{album}\" en archivos FLAC individuales {count} ?\n\nLos archivos se guardarán en el mismo directorio.",
"@cueSplitSplitting": {
"description": "Snackbar while splitting CUE",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"cueSplitSuccess": "Se dividió correctamente en {count} pistas",
"@cueSplitSuccess": {
"description": "Snackbar after successful CUE split",
"placeholders": {
"count": {
"type": "int"
}
}
},
"cueSplitFailed": "Fallo al dividir CUE",
"@cueSplitFailed": {
"description": "Snackbar when CUE split fails"
},
"cueSplitNoAudioFile": "No se encontró el archivo de audio para esta hoja CUE",
"@cueSplitNoAudioFile": {
"description": "Error when CUE audio file is missing"
},
"cueSplitButton": "Dividir en pistas",
"@cueSplitButton": {
"description": "Button text to start CUE splitting"
},
"actionCreate": "Crear",
"@actionCreate": {
"description": "Generic action button - create"
},
"collectionFoldersTitle": "Mis carpetas",
"@collectionFoldersTitle": {
"description": "Library section title for custom folders"
},
"collectionWishlist": "Lista de deseos",
"@collectionWishlist": {
"description": "Custom folder for saved tracks to download later"
},
"collectionLoved": "Me gusta",
"@collectionLoved": {
"description": "Custom folder for favorite tracks"
},
"collectionFavoriteArtists": "Artistas favoritos",
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Listas de reproducción",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Lista de reproducción",
"@collectionPlaylist": {
"description": "Single playlist label"
},
"collectionAddToPlaylist": "Añadir a la lista",
"@collectionAddToPlaylist": {
"description": "Action to add a track to user playlist"
},
"collectionCreatePlaylist": "Crear lista de reproducción",
"@collectionCreatePlaylist": {
"description": "Action to create a new playlist"
},
"collectionNoPlaylistsYet": "Aún no hay listas de reproducción",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Crear una lista de reproducción para empezar a categorizar pistas",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 pista} other{{count} pistas}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"collectionArtistCount": "{count, plural, =1{1 artista} other{{count} artistas}}",
"@collectionArtistCount": {
"description": "Artist count label for favorite artists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"collectionAddedToPlaylist": "Añadida a \"{playlistName}\"",
"@collectionAddedToPlaylist": {
"description": "Snackbar after adding track to playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionAlreadyInPlaylist": "Ya está en \"{playlistName}\"",
"@collectionAlreadyInPlaylist": {
"description": "Snackbar when track already exists in playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistCreated": "Lista de reproducción creada",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Nombre de la lista de reproducción",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
},
"collectionPlaylistNameRequired": "El nombre de la lista de reproducción es obligatorio",
"@collectionPlaylistNameRequired": {
"description": "Validation error for empty playlist name"
},
"collectionRenamePlaylist": "Renombrar lista de reproducción",
"@collectionRenamePlaylist": {
"description": "Action to rename playlist"
},
"collectionDeletePlaylist": "Eliminar lista de reproducción",
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "¿Eliminar \"{playlistName}\" y todas las pistas que contiene?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Lista de reproducción eliminada",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Lista de reproducción renombrada",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
},
"collectionWishlistEmptyTitle": "La lista de deseos está vacía",
"@collectionWishlistEmptyTitle": {
"description": "Wishlist empty state title"
},
"collectionWishlistEmptySubtitle": "Toca el botón + en las pistas para guardar las que quieras descargar más tarde",
"@collectionWishlistEmptySubtitle": {
"description": "Wishlist empty state subtitle"
},
"collectionLovedEmptyTitle": "La carpeta «Me gusta» está vacía",
"@collectionLovedEmptyTitle": {
"description": "Loved empty state title"
},
"collectionLovedEmptySubtitle": "Toca «Me gusta» en las pistas para guardar tus favoritas.",
"@collectionLovedEmptySubtitle": {
"description": "Loved empty state subtitle"
},
"collectionFavoriteArtistsEmptyTitle": "Aún no hay artistas favoritos",
"@collectionFavoriteArtistsEmptyTitle": {
"description": "Favorite artists empty state title"
},
"collectionFavoriteArtistsEmptySubtitle": "Toca el corazón en la página del artista para guardarlo aquí",
"@collectionFavoriteArtistsEmptySubtitle": {
"description": "Favorite artists empty state subtitle"
},
"collectionPlaylistEmptyTitle": "La lista de reproducción está vacía",
"@collectionPlaylistEmptyTitle": {
"description": "Playlist empty state title"
},
"collectionPlaylistEmptySubtitle": "Mantén presionado el botón + en cualquier pista para añadirla aquí",
"@collectionPlaylistEmptySubtitle": {
"description": "Playlist empty state subtitle"
},
"collectionRemoveFromPlaylist": "Quitar de la lista de reproducción",
"@collectionRemoveFromPlaylist": {
"description": "Tooltip for removing track from playlist"
},
"collectionRemoveFromFolder": "Quitar de la carpeta",
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "Se eliminó \"{trackName}\"",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" se agregó a «Me gusta»",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionRemovedFromLoved": "\"{trackName}\" se eliminó de «Me gusta»",
"@collectionRemovedFromLoved": {
"description": "Snackbar after removing track from loved folder",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToWishlist": "\"{trackName}\" se agregó a la lista de deseos",
"@collectionAddedToWishlist": {
"description": "Snackbar after adding track to wishlist",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionRemovedFromWishlist": "\"{trackName}\" se eliminó de la lista de deseos",
"@collectionRemovedFromWishlist": {
"description": "Snackbar after removing track from wishlist",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToFavoriteArtists": "\"{artistName}\" se agregó a Artistas favoritos",
"@collectionAddedToFavoriteArtists": {
"description": "Snackbar after adding artist to favorite artists",
"placeholders": {
"artistName": {
"type": "String"
}
}
},
"collectionRemovedFromFavoriteArtists": "\"{artistName}\" se eliminó de Artistas favoritos",
"@collectionRemovedFromFavoriteArtists": {
"description": "Snackbar after removing artist from favorite artists",
"placeholders": {
"artistName": {
"type": "String"
}
}
},
"trackOptionAddToLoved": "Agregar a «Me gusta»",
"@trackOptionAddToLoved": {
"description": "Bottom sheet action label - add track to loved folder"
},
"trackOptionRemoveFromLoved": "Quitar de «Me gusta»",
"@trackOptionRemoveFromLoved": {
"description": "Bottom sheet action label - remove track from loved folder"
},
"trackOptionAddToWishlist": "Añadir a la lista de deseos",
"@trackOptionAddToWishlist": {
"description": "Bottom sheet action label - add track to wishlist"
},
"trackOptionRemoveFromWishlist": "Quitar de la lista de deseos",
"@trackOptionRemoveFromWishlist": {
"description": "Bottom sheet action label - remove track from wishlist"
},
"artistOptionAddToFavorites": "Añadir a artistas favoritos",
"@artistOptionAddToFavorites": {
"description": "Action label - add artist to favorite artists"
},
"artistOptionRemoveFromFavorites": "Quitar de Artistas favoritos",
"@artistOptionRemoveFromFavorites": {
"description": "Action label - remove artist from favorite artists"
},
"collectionPlaylistChangeCover": "Cambiar imagen de portada",
"@collectionPlaylistChangeCover": {
"description": "Bottom sheet action to pick a custom cover image for a playlist"
},
"collectionPlaylistRemoveCover": "Eliminar imagen de portada",
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"selectionShareCount": "Compartir {count} {count, plural, =1{pista} other{pistas}}",
"@selectionShareCount": {
"description": "Share button text with count in selection mode",
"placeholders": {
"count": {
"type": "int"
}
}
},
"selectionShareNoFiles": "No se encontraron archivos para compartir",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
},
"selectionConvertCount": "Convertir {count} {count, plural, =1{pista} other{pistas}}",
"@selectionConvertCount": {
"description": "Convert button text with count in selection mode",
"placeholders": {
"count": {
"type": "int"
}
}
},
"selectionConvertNoConvertible": "No se seleccionaron pistas que se puedan convertir",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
"selectionBatchConvertConfirmTitle": "Conversión por lotes",
"@selectionBatchConvertConfirmTitle": {
"description": "Confirmation dialog title for batch conversion"
},
"selectionBatchConvertConfirmMessage": "¿Convertir {count} {count, plural, =1{pista} other{pistas}} a {format} con una tasa de bits de {bitrate}?\n\nLos archivos originales se eliminarán después de la conversión.",
"@selectionBatchConvertConfirmMessage": {
"description": "Confirmation dialog message for batch conversion",
"placeholders": {
"count": {
"type": "int"
},
"format": {
"type": "String"
},
"bitrate": {
"type": "String"
}
}
},
"selectionBatchConvertConfirmMessageLossless": "¿Convertir {count} {count, plural, =1{pista} other{pistas}} a {format}? (Sin pérdida — no hay pérdida de calidad)\n\nLos archivos originales se eliminarán después de la conversión.",
"@selectionBatchConvertConfirmMessageLossless": {
"description": "Confirmation dialog message for lossless batch conversion",
"placeholders": {
"count": {
"type": "int"
},
"format": {
"type": "String"
}
}
},
"selectionBatchConvertProgress": "Convirtiendo {current} de {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Se convirtieron {success} de {total} pistas a {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
"placeholders": {
"success": {
"type": "int"
},
"total": {
"type": "int"
},
"format": {
"type": "String"
}
}
},
"downloadedAlbumDownloadedCount": "{count} descargado",
"@downloadedAlbumDownloadedCount": {
"description": "Downloaded tracks count badge",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Carpeta nombrada según la etiqueta Artista del álbum",
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"downloadUseAlbumArtistForFoldersTrackSubtitle": "Carpeta nombrada según la etiqueta Artista de la pista",
"@downloadUseAlbumArtistForFoldersTrackSubtitle": {
"description": "Subtitle when track artist is used for folder names"
},
"lyricsProvidersTitle": "Prioridad de proveedores de letras",
"@lyricsProvidersTitle": {
"description": "Settings item title for lyrics provider order"
},
"lyricsProvidersDescription": "Activa, desactiva y reordena las fuentes de letras. Los proveedores se prueban de arriba hacia abajo hasta encontrar letras.",
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
"lyricsProvidersInfoText": "Los proveedores de letras de extensiones se ejecutan antes que los proveedores integrados. Debe permanecer habilitado al menos un proveedor.",
"@lyricsProvidersInfoText": {
"description": "Info tip on lyrics provider priority page"
},
"lyricsProvidersEnabledSection": "Activados ({count})",
"@lyricsProvidersEnabledSection": {
"description": "Section header for enabled providers",
"placeholders": {
"count": {
"type": "int"
}
}
},
"lyricsProvidersDisabledSection": "Desactivados ({count})",
"@lyricsProvidersDisabledSection": {
"description": "Section header for disabled providers",
"placeholders": {
"count": {
"type": "int"
}
}
},
"lyricsProvidersAtLeastOne": "Debe permanecer habilitado al menos un proveedor",
"@lyricsProvidersAtLeastOne": {
"description": "Snackbar when user tries to disable the last enabled provider"
},
"lyricsProvidersSaved": "Prioridad de proveedores de letras guardada",
"@lyricsProvidersSaved": {
"description": "Snackbar after saving lyrics provider priority"
},
"lyricsProvidersDiscardContent": "Tienes cambios sin guardar que se perderán.",
"@lyricsProvidersDiscardContent": {
"description": "Body text of the discard-changes dialog on lyrics provider page"
},
"lyricsProviderLrclibDesc": "Base de datos de letras sincronizadas de código abierto",
"@lyricsProviderLrclibDesc": {
"description": "Description for LRCLIB provider"
},
"lyricsProviderNeteaseDesc": "NetEase Cloud Music (buena para canciones asiáticas)",
"@lyricsProviderNeteaseDesc": {
"description": "Description for Netease provider"
},
"lyricsProviderMusixmatchDesc": "La base de datos de letras más grande (multilingüe)",
"@lyricsProviderMusixmatchDesc": {
"description": "Description for Musixmatch provider"
},
"lyricsProviderAppleMusicDesc": "Letras sincronizadas palabra por palabra (a través de proxy)",
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"lyricsProviderQqMusicDesc": "QQ Music (buena para canciones chinas, a\ntravés de proxy)",
"@lyricsProviderQqMusicDesc": {
"description": "Description for QQ Music provider"
},
"lyricsProviderLyricsPlusDesc": "Letras tipo karaoke palabra por palabra (Apple/ Musixmatch/Spotify/QQ, a través de proxy)",
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"lyricsProviderExtensionDesc": "Proveedor de extensiones",
"@lyricsProviderExtensionDesc": {
"description": "Generic description for extension-based lyrics providers"
},
"safMigrationTitle": "Se requiere actualización del almacenamiento",
"@safMigrationTitle": {
"description": "Title of SAF migration dialog"
},
"safMigrationMessage1": "SpotiFLAC ahora utiliza el Android Storage Access Framework (SAF) para las descargas. Esto soluciona los errores de «permiso denegado» en Android 10 y versiones posteriores.",
"@safMigrationMessage1": {
"description": "First paragraph of SAF migration dialog"
},
"safMigrationMessage2": "Por favor, vuelve a seleccionar la carpeta de descargas para cambiar al nuevo sistema de almacenamiento.",
"@safMigrationMessage2": {
"description": "Second paragraph of SAF migration dialog"
},
"safMigrationSuccess": "Carpeta de descargas actualizada al modo SAF",
"@safMigrationSuccess": {
"description": "Snackbar after successfully migrating to SAF"
},
"settingsDonate": "Apoya el desarrollo",
"@settingsDonate": {
"description": "Settings menu item - donate page"
},
"settingsDonateSubtitle": "Compra un café al desarrollador",
"@settingsDonateSubtitle": {
"description": "Subtitle for donate menu item"
},
"settingsBackup": "Copia de seguridad y Restauración",
"@settingsBackup": {
"description": "Settings menu item - backup and restore page"
},
"settingsBackupSubtitle": "Transfiere tu biblioteca, historial y configuración a un nuevo dispositivo",
"@settingsBackupSubtitle": {
"description": "Subtitle for backup and restore settings item"
},
"backupTitle": "Copia de seguridad y Restauración",
"@backupTitle": {
"description": "App bar title for the backup and restore page"
},
"backupExportSectionTitle": "Crear copia de seguridad",
"@backupExportSectionTitle": {
"description": "Section title for the export/backup card"
},
"backupExportSectionDescription": "Guarda tu configuración, historial de descargas, pistas con «Me gusta», lista de deseos, artistas favoritos y listas de reproducción en un solo archivo que puedes conservar o transferir a otro teléfono.",
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
"backupExportButton": "Crear archivo de copia de seguridad",
"@backupExportButton": {
"description": "Button to create and share a backup file"
},
"backupImportSectionTitle": "Restaurar copia de seguridad",
"@backupImportSectionTitle": {
"description": "Section title for the import/restore card"
},
"backupImportSectionDescription": "Selecciona un archivo de copia de seguridad para restaurar tus datos. Esto reemplazará la configuración, el historial y la biblioteca actuales en este dispositivo.",
"@backupImportSectionDescription": {
"description": "Description for the restore action"
},
"backupImportButton": "Elegir archivo de copia de seguridad",
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creando copia de seguridad...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Copia de seguridad creada",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
},
"backupCreateFailed": "No se pudo crear la copia de seguridad",
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "Aún no hay nada que respaldar",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "¿Restaurar esta copia de seguridad?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
},
"backupRestoreConfirmMessage": "Esto reemplazará tu configuración actual, historial de descargas, pistas con «Me gusta», lista de deseos y listas de reproducción con el contenido de la copia de seguridad. Esto no se puede deshacer.",
"@backupRestoreConfirmMessage": {
"description": "Confirmation dialog message before restoring a backup"
},
"backupRestoreConfirmButton": "Restaurar",
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restaurando copia de seguridad...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Copia de seguridad restaurada correctamente",
"@backupRestored": {
"description": "Snackbar after a successful restore"
},
"backupRestoreFailed": "Fallo al restaurar la copia de seguridad",
"@backupRestoreFailed": {
"description": "Snackbar when restore fails"
},
"backupInvalidFile": "Este archivo no es una copia de seguridad válida de SpotiFLAC",
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"backupRestoreRestartHint": "Reinicie la aplicación para asegurarse de que cada cambio se aplique.",
"@backupRestoreRestartHint": {
"description": "Hint shown after restoring that an app restart is recommended"
},
"backupContentsTitle": "Contenido de la copia de seguridad",
"@backupContentsTitle": {
"description": "Header above the list summarizing what the backup contains"
},
"backupContentsSettings": "Configuración de la aplicación",
"@backupContentsSettings": {
"description": "Backup contents row label for settings"
},
"backupContentsHistory": "{count} historial {count, plural, =1{item} other{items}}",
"@backupContentsHistory": {
"description": "Backup contents row for history count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupContentsLiked": "{count} {count, plural, =1{pista con «Me gusta»} other{pistas con «Me gusta»}}",
"@backupContentsLiked": {
"description": "Backup contents row for liked tracks count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupContentsWishlist": "{count} {count, plural, =1{pista en la lista de deseos} other{pistas en la lista de deseos}}",
"@backupContentsWishlist": {
"description": "Backup contents row for wishlist tracks count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupContentsPlaylists": "{count, plural, =1{1 lista de reproducción} other{{count} listas de reproducción}}",
"@backupContentsPlaylists": {
"description": "Backup contents row for playlist count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupContentsArtists": "{count, plural, =1{1 artista favorito} other{{count} artistas favoritos}}",
"@backupContentsArtists": {
"description": "Backup contents row for favorite artists count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupContentsExtensions": "{count, plural, =1{1 extensión} other{{count} extensiones}}",
"@backupContentsExtensions": {
"description": "Backup contents row for installed extensions count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"backupIncludeSecrets": "Include extension credentials",
"@backupIncludeSecrets": {
"description": "Toggle to include secret extension settings (tokens, API keys) in the backup"
},
"backupIncludeSecretsDescription": "Los tokens y las claves API de las extensiones se guardarán en el archivo de copia de seguridad. Mantenga el archivo privado. Cuando está desactivado, volverá a introducirlos después de restaurar.",
"@backupIncludeSecretsDescription": {
"description": "Explanation for the include-credentials toggle"
},
"backupExtensionsRestoreFailed": "{count} {count, plural, =1{extension} other{extensions}} could not be reinstalled. Install them manually from the store.",
"@backupExtensionsRestoreFailed": {
"description": "Snackbar/hint when some extensions failed to reinstall during restore",
"placeholders": {
"count": {
"type": "int"
}
}
},
"tooltipLoveAll": "Favoritos",
"@tooltipLoveAll": {
"description": "Tooltip for the Love All button on album/playlist screens"
},
"tooltipAddToPlaylist": "Añadir a la lista de reproducción",
"@tooltipAddToPlaylist": {
"description": "Tooltip for the Add to Playlist button"
},
"snackbarRemovedTracksFromLoved": "Eliminadas {count} pistas de Favoritos",
"@snackbarRemovedTracksFromLoved": {
"description": "Snackbar after removing multiple tracks from Loved folder",
"placeholders": {
"count": {
"type": "int"
}
}
},
"snackbarAddedTracksToLoved": "Agregadas {count} pistas de Favoritos",
"@snackbarAddedTracksToLoved": {
"description": "Snackbar after adding multiple tracks to Loved folder",
"placeholders": {
"count": {
"type": "int"
}
}
},
"dialogDownloadAllTitle": "Descargar todo",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
"dialogDownloadAllMessage": "¿Descargar {count} pistas?",
"@dialogDownloadAllMessage": {
"description": "Body of the Download All confirmation dialog",
"placeholders": {
"count": {
"type": "int"
}
}
},
"homeSkipAlreadyDownloaded": "Omitir canciones ya descargadas",
"@homeSkipAlreadyDownloaded": {
"description": "Checkbox label in import dialog to skip already-downloaded songs"
},
"homeGoToAlbum": "Ir al álbum",
"@homeGoToAlbum": {
"description": "Context menu item to navigate to the album page"
},
"homeAlbumInfoUnavailable": "La información del álbum no está disponible",
"@homeAlbumInfoUnavailable": {
"description": "Snackbar when album info cannot be loaded"
},
"snackbarLoadingCueSheet": "Cargando hoja CUE...",
"@snackbarLoadingCueSheet": {
"description": "Snackbar while loading a CUE sheet file"
},
"snackbarMetadataSaved": "Metadatos guardados correctamente",
"@snackbarMetadataSaved": {
"description": "Snackbar after successfully saving track metadata"
},
"snackbarFailedToEmbedLyrics": "Error al incrustar letras",
"@snackbarFailedToEmbedLyrics": {
"description": "Snackbar when lyrics embedding fails"
},
"snackbarFailedToWriteStorage": "Error al escribir de vuelta al almacenamiento",
"@snackbarFailedToWriteStorage": {
"description": "Snackbar when writing metadata back to file fails"
},
"snackbarError": "Error: {error}",
"@snackbarError": {
"description": "Generic error snackbar with error detail",
"placeholders": {
"error": {
"type": "String"
}
}
},
"snackbarNoActionDefined": "Ninguna acción definida para este botón",
"@snackbarNoActionDefined": {
"description": "Snackbar when an extension button has no action configured"
},
"noTracksFoundForAlbum": "No se encontraron pistas para este álbum",
"@noTracksFoundForAlbum": {
"description": "Empty state message when an album has no tracks"
},
"downloadLocationSubtitle": "Elige dónde guardar tus pistas descargadas",
"@downloadLocationSubtitle": {
"description": "Subtitle shown in the download location picker sheet"
},
"storageModeAppFolder": "Carpeta de la App (Recomendado)",
"@storageModeAppFolder": {
"description": "Storage mode option - app-managed folder"
},
"storageModeAppFolderSubtitle": "Guarda en Music/SpotiFLAC por defecto",
"@storageModeAppFolderSubtitle": {
"description": "Subtitle for app folder storage mode"
},
"storageModeSaf": "Carpeta personalizada (SAF)",
"@storageModeSaf": {
"description": "Storage mode option - Storage Access Framework"
},
"storageModeSafSubtitle": "Escoge cualquier carpeta, incluyendo la tarjeta SD",
"@storageModeSafSubtitle": {
"description": "Subtitle for SAF storage mode"
},
"downloadFilenameDescription": "Usa {artist}, {title}, {album}, {track}, {year}, {date}, {disc} como marcadores de posición.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
},
"downloadFilenameInsertTag": "Toca para insertar etiqueta:",
"@downloadFilenameInsertTag": {
"description": "Label above filename tag chips"
},
"downloadSeparateSinglesEnabled": "Sencillos y EPs guardados en una carpeta separada",
"@downloadSeparateSinglesEnabled": {
"description": "Subtitle when separate singles folder is on"
},
"downloadSeparateSinglesDisabled": "Sencillos y álbumes guardados en la misma carpeta",
"@downloadSeparateSinglesDisabled": {
"description": "Subtitle when separate singles folder is off"
},
"downloadArtistNameFilters": "Filtros de Nombre del Artista",
"@downloadArtistNameFilters": {
"description": "Setting title for artist folder filter options"
},
"downloadCreatePlaylistSourceFolder": "Playlist Source Folder",
"@downloadCreatePlaylistSourceFolder": {
"description": "Setting to create a subfolder per playlist source"
},
"downloadCreatePlaylistSourceFolderEnabled": "A subfolder is created for each playlist",
"@downloadCreatePlaylistSourceFolderEnabled": {
"description": "Subtitle when playlist folder is enabled"
},
"downloadCreatePlaylistSourceFolderDisabled": "All tracks saved directly to download folder",
"@downloadCreatePlaylistSourceFolderDisabled": {
"description": "Subtitle when playlist folder is disabled"
},
"downloadCreatePlaylistSourceFolderRedundant": "Handled by folder organization setting",
"@downloadCreatePlaylistSourceFolderRedundant": {
"description": "Subtitle when folder organization is already set to playlist"
},
"downloadSongLinkRegion": "Región de SongLink",
"@downloadSongLinkRegion": {
"description": "Setting for SongLink region used during fallback resolution"
},
"downloadNetworkCompatibilityMode": "Modo de compatibilidad de red",
"@downloadNetworkCompatibilityMode": {
"description": "Setting for legacy TLS/network handling"
},
"downloadNetworkCompatibilityModeEnabled": "Using legacy TLS settings for older networks",
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"downloadNetworkCompatibilityModeDisabled": "Utilizando ajustes de red estándar",
"@downloadNetworkCompatibilityModeDisabled": {
"description": "Subtitle when network compatibility mode is off"
},
"downloadAllowLocalNetwork": "Allow Local Network Access",
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"downloadAllowLocalNetworkEnabled": "Requests to local/private addresses are allowed (for local proxy or custom DNS)",
"@downloadAllowLocalNetworkEnabled": {
"description": "Subtitle when allow local network access is on"
},
"downloadAllowLocalNetworkDisabled": "Local/private addresses are blocked for security",
"@downloadAllowLocalNetworkDisabled": {
"description": "Subtitle when allow local network access is off"
},
"downloadSelectServiceToEnable": "Select a provider with quality options to enable this option",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
},
"downloadNeteaseIncludeTranslation": "Netease: Include Translation",
"@downloadNeteaseIncludeTranslation": {
"description": "Setting to include translated lyrics from Netease"
},
"downloadNeteaseIncludeTranslationEnabled": "Chinese translation lines included",
"@downloadNeteaseIncludeTranslationEnabled": {
"description": "Subtitle when Netease translation is on"
},
"downloadNeteaseIncludeTranslationDisabled": "Solo letras originales",
"@downloadNeteaseIncludeTranslationDisabled": {
"description": "Subtitle when Netease translation is off"
},
"downloadNeteaseIncludeRomanization": "Netease: Include Romanization",
"@downloadNeteaseIncludeRomanization": {
"description": "Setting to include romanized lyrics from Netease"
},
"downloadNeteaseIncludeRomanizationEnabled": "Romanization lines included",
"@downloadNeteaseIncludeRomanizationEnabled": {
"description": "Subtitle when Netease romanization is on"
},
"downloadNeteaseIncludeRomanizationDisabled": "No romanization",
"@downloadNeteaseIncludeRomanizationDisabled": {
"description": "Subtitle when Netease romanization is off"
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"@downloadAppleQqMultiPerson": {
"description": "Setting for word-by-word multi-person lyrics from Apple Music and QQ Music"
},
"downloadAppleQqMultiPersonEnabled": "Speaker labels included for duets and group tracks",
"@downloadAppleQqMultiPersonEnabled": {
"description": "Subtitle when multi-person lyrics is on"
},
"downloadAppleQqMultiPersonDisabled": "Standard lyrics without speaker labels",
"@downloadAppleQqMultiPersonDisabled": {
"description": "Subtitle when multi-person lyrics is off"
},
"downloadAppleElrcWordSync": "Apple Music eLRC Word Sync",
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"downloadAppleElrcWordSyncEnabled": "Raw word-by-word timestamps preserved",
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"@downloadAppleElrcWordSyncDisabled": {
"description": "Subtitle when Apple Music eLRC word sync is disabled"
},
"downloadMusixmatchLanguage": "Idioma de Musixmatch",
"@downloadMusixmatchLanguage": {
"description": "Setting for Musixmatch lyrics translation language"
},
"downloadMusixmatchLanguageAuto": "Auto (original language)",
"@downloadMusixmatchLanguageAuto": {
"description": "Subtitle when no language is set"
},
"downloadFilterContributing": "Filter Contributing Artists",
"@downloadFilterContributing": {
"description": "Setting to strip contributing artists from Album Artist folder name"
},
"downloadFilterContributingEnabled": "Contributing artists removed from Album Artist folder name",
"@downloadFilterContributingEnabled": {
"description": "Subtitle when contributing artist filter is on"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"@downloadFilterContributingDisabled": {
"description": "Subtitle when contributing artist filter is off"
},
"downloadProvidersNoneEnabled": "No hay proveedores activos",
"@downloadProvidersNoneEnabled": {
"description": "Shown when no lyrics providers are active"
},
"downloadMusixmatchLanguageCode": "Código de idioma",
"@downloadMusixmatchLanguageCode": {
"description": "Label for Musixmatch language input field"
},
"downloadMusixmatchLanguageHint": "e.g. en, de, ja",
"@downloadMusixmatchLanguageHint": {
"description": "Placeholder for Musixmatch language input"
},
"downloadMusixmatchLanguageDesc": "Introduce un código de idioma BCP-47 (por ejemplo, en, de, ja) para solicitar letras traducidas desde Musixmatch.",
"@downloadMusixmatchLanguageDesc": {
"description": "Description in Musixmatch language picker"
},
"downloadMusixmatchAuto": "Automático",
"@downloadMusixmatchAuto": {
"description": "Button to clear Musixmatch language (use auto)"
},
"downloadNetworkAnySubtitle": "Usar Wi-Fi o datos móviles",
"@downloadNetworkAnySubtitle": {
"description": "Subtitle for any-network option in picker"
},
"downloadNetworkWifiOnlySubtitle": "Las descargas se pausan con datos móviles",
"@downloadNetworkWifiOnlySubtitle": {
"description": "Subtitle for WiFi-only option in picker"
},
"downloadSongLinkRegionDesc": "Región usada al resolver enlaces de pistas mediante SongLink. Elige el país donde estén disponibles tus servicios de streaming.",
"@downloadSongLinkRegionDesc": {
"description": "Description in SongLink region picker"
},
"snackbarUnsupportedAudioFormat": "Formato de audio no soportado",
"@snackbarUnsupportedAudioFormat": {
"description": "Snackbar when the audio format is not supported for the requested operation"
},
"cacheRefresh": "Actualizar",
"@cacheRefresh": {
"description": "Tooltip for refresh button on cache management page"
},
"dialogDownloadPlaylistsMessage": "¿Descargar {trackCount} {trackCount, plural, =1{pista} other{pistas}} de {playlistCount} {playlistCount, plural, =1{lista de reproducción} other{listas de reproducción}}?",
"@dialogDownloadPlaylistsMessage": {
"description": "Dialog message for bulk playlist download confirmation",
"placeholders": {
"trackCount": {
"type": "int"
},
"playlistCount": {
"type": "int"
}
}
},
"bulkDownloadPlaylistsButton": "Descargar {count} {count, plural, =1{lista de reproducción} other{listas de reproducción}}",
"@bulkDownloadPlaylistsButton": {
"description": "Button label for bulk downloading selected playlists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"bulkDownloadSelectPlaylists": "Selecciona listas de reproducción para descargar",
"@bulkDownloadSelectPlaylists": {
"description": "Button label when no playlists are selected for download"
},
"snackbarSelectedPlaylistsEmpty": "Las listas de reproducción seleccionadas no tienen pistas",
"@snackbarSelectedPlaylistsEmpty": {
"description": "Snackbar when selected playlists contain no tracks"
},
"playlistsCount": "{count, plural, =1{1 lista de reproducción} other{{count} listas de reproducción}}",
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
"count": {
"type": "int"
}
}
},
"editMetadataAutoFill": "Autocompletar desde internet",
"@editMetadataAutoFill": {
"description": "Section title for selective online metadata auto-fill in the edit metadata sheet"
},
"editMetadataAutoFillDesc": "Selecciona los campos para rellenar automáticamente con metadatos en línea",
"@editMetadataAutoFillDesc": {
"description": "Description for the auto-fill section"
},
"editMetadataAutoFillFetch": "Recuperar y llenar",
"@editMetadataAutoFillFetch": {
"description": "Button label to fetch online metadata and fill selected fields"
},
"editMetadataAutoFillSearching": "Buscando en línea...",
"@editMetadataAutoFillSearching": {
"description": "Snackbar shown while searching for online metadata"
},
"editMetadataAutoFillNoResults": "No hay información coincidente en línea",
"@editMetadataAutoFillNoResults": {
"description": "Snackbar when online metadata search returns no results"
},
"editMetadataAutoFillDone": "Se completaron {count} {count, plural, =1{campo} other{campos}} con metadatos en línea",
"@editMetadataAutoFillDone": {
"description": "Snackbar confirming how many fields were auto-filled",
"placeholders": {
"count": {
"type": "int"
}
}
},
"editMetadataAutoFillNoneSelected": "Selecciona al menos un campo para autocompletar",
"@editMetadataAutoFillNoneSelected": {
"description": "Snackbar when user taps Fetch without selecting any fields"
},
"editMetadataFieldTitle": "Título",
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"editMetadataFieldArtist": "Artista",
"@editMetadataFieldArtist": {
"description": "Chip label for artist field in auto-fill selector"
},
"editMetadataFieldAlbum": "Álbum",
"@editMetadataFieldAlbum": {
"description": "Chip label for album field in auto-fill selector"
},
"editMetadataFieldAlbumArtist": "Artista del álbum",
"@editMetadataFieldAlbumArtist": {
"description": "Chip label for album artist field in auto-fill selector"
},
"editMetadataFieldDate": "Fecha",
"@editMetadataFieldDate": {
"description": "Chip label for date field in auto-fill selector"
},
"editMetadataFieldTrackNum": "Pista #",
"@editMetadataFieldTrackNum": {
"description": "Chip label for track number field in auto-fill selector"
},
"editMetadataFieldDiscNum": "Disco #",
"@editMetadataFieldDiscNum": {
"description": "Chip label for disc number field in auto-fill selector"
},
"editMetadataFieldGenre": "Género",
"@editMetadataFieldGenre": {
"description": "Chip label for genre field in auto-fill selector"
},
"editMetadataFieldIsrc": "ISRC",
"@editMetadataFieldIsrc": {
"description": "Chip label for ISRC field in auto-fill selector"
},
"editMetadataFieldLabel": "Discográfica",
"@editMetadataFieldLabel": {
"description": "Chip label for label field in auto-fill selector"
},
"editMetadataFieldCopyright": "Derechos de autor",
"@editMetadataFieldCopyright": {
"description": "Chip label for copyright field in auto-fill selector"
},
"editMetadataFieldCover": "Carátula",
"@editMetadataFieldCover": {
"description": "Chip label for cover art field in auto-fill selector"
},
"editMetadataSelectAll": "Todos",
"@editMetadataSelectAll": {
"description": "Button to select all fields for auto-fill"
},
"editMetadataSelectEmpty": "Solo vacíos",
"@editMetadataSelectEmpty": {
"description": "Button to select only fields that are currently empty"
},
"queueDownloadingCount": "Descargando ({count})",
"@queueDownloadingCount": {
"description": "Header for active downloads section with count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"queueDownloadedHeader": "Descargadas",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtrando...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"queueTrackCount": "{count, plural, =1{1 pista} other{{count} pistas}}",
"@queueTrackCount": {
"description": "Track count label with plural support",
"placeholders": {
"count": {
"type": "int"
}
}
},
"queueAlbumCount": "{count, plural, =1{1 álbum} other{{count} álbumes}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
"placeholders": {
"count": {
"type": "int"
}
}
},
"queueEmptyAlbums": "No se han descargado álbumes",
"@queueEmptyAlbums": {
"description": "Empty state title when no album downloads exist"
},
"queueEmptyAlbumsSubtitle": "Descarga varias canciones de un álbum para verlas aquí",
"@queueEmptyAlbumsSubtitle": {
"description": "Empty state subtitle for album downloads"
},
"queueEmptySingles": "No hay descargas",
"@queueEmptySingles": {
"description": "Empty state title when no single track downloads exist"
},
"queueEmptySinglesSubtitle": "Las descargas de pistas individuales aparecerán aquí",
"@queueEmptySinglesSubtitle": {
"description": "Empty state subtitle for single track downloads"
},
"queueEmptyHistory": "No hay historial de descargas",
"@queueEmptyHistory": {
"description": "Empty state title when download history is empty"
},
"queueEmptyHistorySubtitle": "Downloaded tracks will appear here",
"@queueEmptyHistorySubtitle": {
"description": "Empty state subtitle for download history"
},
"selectionAllPlaylistsSelected": "Todas las listas seleccionadas",
"@selectionAllPlaylistsSelected": {
"description": "Shown when all playlists are selected in selection mode"
},
"selectionTapPlaylistsToSelect": "Pulsa listas de reproducción para seleccionar",
"@selectionTapPlaylistsToSelect": {
"description": "Hint shown in playlist selection mode"
},
"selectionSelectPlaylistsToDelete": "Select playlists to delete",
"@selectionSelectPlaylistsToDelete": {
"description": "Hint shown when no playlists are selected for deletion"
},
"audioAnalysisTitle": "Audio Quality Analysis",
"@audioAnalysisTitle": {
"description": "Title for audio analysis section"
},
"audioAnalysisDescription": "Verify lossless quality with spectrum analysis",
"@audioAnalysisDescription": {
"description": "Description for audio analysis tap-to-analyze prompt"
},
"audioAnalysisAnalyzing": "Analizando audio...",
"@audioAnalysisAnalyzing": {
"description": "Loading text while analyzing audio"
},
"audioAnalysisSampleRate": "Frecuencia de muestreo",
"@audioAnalysisSampleRate": {
"description": "Sample rate metric label"
},
"audioAnalysisCodec": "Códec",
"@audioAnalysisCodec": {
"description": "Audio codec metric label"
},
"audioAnalysisContainer": "Contenedor",
"@audioAnalysisContainer": {
"description": "Audio container metric label"
},
"audioAnalysisDecodedFormat": "Formato decodificado",
"@audioAnalysisDecodedFormat": {
"description": "Decoded sample format metric label"
},
"audioAnalysisBitDepth": "Profundidad de bits",
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
"audioAnalysisChannels": "Canales",
"@audioAnalysisChannels": {
"description": "Channels metric label"
},
"audioAnalysisDuration": "Duración",
"@audioAnalysisDuration": {
"description": "Duration metric label"
},
"audioAnalysisNyquist": "Nyquist",
"@audioAnalysisNyquist": {
"description": "Nyquist frequency metric label"
},
"audioAnalysisFileSize": "Tamaño",
"@audioAnalysisFileSize": {
"description": "File size metric label"
},
"audioAnalysisDynamicRange": "Rango dinámico",
"@audioAnalysisDynamicRange": {
"description": "Dynamic range metric label"
},
"audioAnalysisPeak": "Peak",
"@audioAnalysisPeak": {
"description": "Peak amplitude metric label"
},
"audioAnalysisRms": "RMS",
"@audioAnalysisRms": {
"description": "RMS level metric label"
},
"audioAnalysisLufs": "LUFS",
"@audioAnalysisLufs": {
"description": "Integrated loudness metric label"
},
"audioAnalysisTruePeak": "True Peak",
"@audioAnalysisTruePeak": {
"description": "True peak metric label"
},
"audioAnalysisClipping": "Clipping",
"@audioAnalysisClipping": {
"description": "Clipping metric label"
},
"audioAnalysisNoClipping": "No clipping",
"@audioAnalysisNoClipping": {
"description": "Displayed when no clipped samples were detected"
},
"audioAnalysisSpectralCutoff": "Spectral Cutoff",
"@audioAnalysisSpectralCutoff": {
"description": "Estimated spectral cutoff metric label"
},
"audioAnalysisChannelStats": "Per-channel Stats",
"@audioAnalysisChannelStats": {
"description": "Per-channel audio analysis section label"
},
"audioAnalysisSamples": "Muestras",
"@audioAnalysisSamples": {
"description": "Total samples metric label"
},
"audioAnalysisRescan": "Volver a analizar",
"@audioAnalysisRescan": {
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
},
"audioAnalysisRescanning": "Volviendo a analizar audio...",
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Buscar con {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
},
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"@extensionsHomeFeedDescription": {
"description": "Extensions page - description for home feed provider picker"
},
"extensionsHomeFeedAuto": "Auto",
"@extensionsHomeFeedAuto": {
"description": "Label for auto-selected search provider"
},
"extensionsHomeFeedAutoSubtitle": "Seleccionar automáticamente la mejor disponible",
"@extensionsHomeFeedAutoSubtitle": {
"description": "Extensions page - subtitle for auto home feed option"
},
"extensionsHomeFeedOff": "Desactivado",
"@extensionsHomeFeedOff": {
"description": "Extensions page - home feed provider option: off"
},
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"extensionsHomeFeedUse": "Use {extensionName} home feed",
"@extensionsHomeFeedUse": {
"description": "Extensions page - subtitle for a specific extension home feed option",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"extensionsNoHomeFeedExtensions": "No extensions with home feed",
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "¿Cancelar descarga?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
},
"cancelDownloadContent": "This will cancel the active download for \"{trackName}\".",
"@cancelDownloadContent": {
"description": "Dialog body when confirming cancellation of an active download",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"cancelDownloadKeep": "Mantener",
"@cancelDownloadKeep": {
"description": "Dialog button - keep the active download (do not cancel)"
},
"metadataSaveFailedFfmpeg": "Failed to save metadata via FFmpeg",
"@metadataSaveFailedFfmpeg": {
"description": "Snackbar error when FFmpeg fails to write metadata"
},
"metadataSaveFailedStorage": "Failed to write metadata back to storage",
"@metadataSaveFailedStorage": {
"description": "Snackbar error when writing metadata file back to storage fails"
},
"snackbarFolderPickerFailed": "Failed to open folder picker: {error}",
"@snackbarFolderPickerFailed": {
"description": "Snackbar shown when folder picker fails to open",
"placeholders": {
"error": {
"type": "String"
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Muestra el progreso de la descarga para las pistas",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Escaneo de biblioteca",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"notifFinalizingTrack": "Finalizando {trackName}",
"@notifFinalizingTrack": {
"description": "Notification title while finalizing (embedding metadata) a track",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"notifEmbeddingMetadata": "Insertando información...",
"@notifEmbeddingMetadata": {
"description": "Notification body while embedding metadata into a downloaded track"
},
"notifAlreadyInLibraryCount": "Already in Library ({completed}/{total})",
"@notifAlreadyInLibraryCount": {
"description": "Notification title when track is already in library, with count",
"placeholders": {
"completed": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"notifAlreadyInLibrary": "Already in Library",
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"notifDownloadCompleteCount": "Download Complete ({completed}/{total})",
"@notifDownloadCompleteCount": {
"description": "Notification title when download is complete, with count",
"placeholders": {
"completed": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"notifDownloadComplete": "Descarga completa",
"@notifDownloadComplete": {
"description": "Notification title when a single download is complete"
},
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"@notifDownloadsFinished": {
"description": "Notification title when queue finishes with some failures",
"placeholders": {
"completed": {
"type": "int"
},
"failed": {
"type": "int"
}
}
},
"notifAllDownloadsComplete": "Todas las descargas completadas",
"@notifAllDownloadsComplete": {
"description": "Notification title when all downloads finish successfully"
},
"notifTracksDownloadedSuccess": "{count, plural, =1{1 track downloaded successfully} other{{count} tracks downloaded successfully}}",
"@notifTracksDownloadedSuccess": {
"description": "Notification body for queue complete - how many tracks were downloaded",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notifDownloadsFinishedBody": "{completed, plural, =1{1 track downloaded} other{{completed} tracks downloaded}}, {failed, plural, =1{1 failed} other{{failed} failed}}",
"@notifDownloadsFinishedBody": {
"description": "Notification body when queue finishes with failures",
"placeholders": {
"completed": {
"type": "int"
},
"failed": {
"type": "int"
}
}
},
"notifDownloadsCanceledTitle": "Descargas canceladas",
"@notifDownloadsCanceledTitle": {
"description": "Notification title when downloads are canceled by the user"
},
"notifDownloadsCanceledBody": "{count, plural, =1{1 download canceled by user} other{{count} downloads canceled by user}}",
"@notifDownloadsCanceledBody": {
"description": "Notification body when downloads are canceled by the user",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notifScanningLibrary": "Escaneando biblioteca local",
"@notifScanningLibrary": {
"description": "Notification title while scanning local library"
},
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
"@notifLibraryScanProgressWithTotal": {
"description": "Notification body for library scan progress when total is known",
"placeholders": {
"scanned": {
"type": "int"
},
"total": {
"type": "int"
},
"percentage": {
"type": "int"
}
}
},
"notifLibraryScanProgressNoTotal": "{scanned} files scanned • {percentage}%",
"@notifLibraryScanProgressNoTotal": {
"description": "Notification body for library scan progress when total is unknown",
"placeholders": {
"scanned": {
"type": "int"
},
"percentage": {
"type": "int"
}
}
},
"notifLibraryScanComplete": "Escaneo de biblioteca completado",
"@notifLibraryScanComplete": {
"description": "Notification title when library scan finishes"
},
"notifLibraryScanCompleteBody": "{count} tracks indexed",
"@notifLibraryScanCompleteBody": {
"description": "Notification body for library scan complete - number of indexed tracks",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notifLibraryScanExcluded": "{count} excluded",
"@notifLibraryScanExcluded": {
"description": "Library scan complete suffix - excluded track count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notifLibraryScanErrors": "{count} errores",
"@notifLibraryScanErrors": {
"description": "Library scan complete suffix - error count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"notifLibraryScanFailed": "Library scan failed",
"@notifLibraryScanFailed": {
"description": "Notification title when library scan fails"
},
"notifLibraryScanCancelled": "Library scan cancelled",
"@notifLibraryScanCancelled": {
"description": "Notification title when library scan is cancelled by the user"
},
"notifLibraryScanStopped": "Scan stopped before completion.",
"@notifLibraryScanStopped": {
"description": "Notification body when library scan is cancelled"
},
"notifDownloadingUpdate": "Downloading SpotiFLAC Mobile v{version}",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
"version": {
"type": "String"
}
}
},
"notifUpdateProgress": "{received} / {total} MB • {percentage}%",
"@notifUpdateProgress": {
"description": "Notification body showing update download progress",
"placeholders": {
"received": {
"type": "String"
},
"total": {
"type": "String"
},
"percentage": {
"type": "int"
}
}
},
"notifUpdateReady": "Actualización preparada",
"@notifUpdateReady": {
"description": "Notification title when app update download is complete"
},
"notifUpdateReadyBody": "SpotiFLAC Mobile v{version} downloaded. Tap to install.",
"@notifUpdateReadyBody": {
"description": "Notification body when app update is ready to install",
"placeholders": {
"version": {
"type": "String"
}
}
},
"notifUpdateFailed": "Update Failed",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
},
"notifUpdateFailedBody": "Could not download update. Try again later.",
"@notifUpdateFailedBody": {
"description": "Notification body when app update download fails"
},
"searchTracks": "Pistas",
"@searchTracks": {
"description": "Search filter label - tracks"
},
"homeSearchHintDefault": "Paste supported URL or search...",
"@homeSearchHintDefault": {
"description": "Default placeholder for the main search field on Home"
},
"homeSearchHintProvider": "Search with {providerName}...",
"@homeSearchHintProvider": {
"description": "Placeholder for the main search field when a provider is selected",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"homeImportCsvTooltip": "Importar CSV",
"@homeImportCsvTooltip": {
"description": "Tooltip for importing a CSV file into Home search"
},
"homeChangeSearchProviderTooltip": "Change search provider",
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"actionPaste": "Pegar",
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Buscar canciones...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Buscar pistas",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Pegar o buscar...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
},
"tutorialDownloadCompletedSemantics": "Descarga completada",
"@tutorialDownloadCompletedSemantics": {
"description": "Accessibility label for completed download state in tutorial demo"
},
"tutorialDownloadInProgressSemantics": "Descarga en curso",
"@tutorialDownloadInProgressSemantics": {
"description": "Accessibility label for active download state in tutorial demo"
},
"tutorialStartDownloadSemantics": "Comenzar descarga",
"@tutorialStartDownloadSemantics": {
"description": "Accessibility label for idle download button in tutorial demo"
},
"optionsEmbedMetadata": "Incrustar información",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
"optionsEmbedMetadataSubtitleOn": "Escribir información, carátulas y letras incrustadas en archivos",
"@optionsEmbedMetadataSubtitleOn": {
"description": "Subtitle when metadata embedding is enabled"
},
"optionsEmbedMetadataSubtitleOff": "Disabled (advanced): skip all metadata embedding",
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"trackCoverReplace": "Reemplazar portada",
"@trackCoverReplace": {
"description": "Button label for replacing selected cover art"
},
"trackCoverPick": "Elegir portada",
"@trackCoverPick": {
"description": "Button label for selecting cover art"
},
"trackCoverClearSelected": "Borrar portada seleccionada",
"@trackCoverClearSelected": {
"description": "Tooltip for clearing the newly selected cover art"
},
"trackCoverCurrent": "Portada actual",
"@trackCoverCurrent": {
"description": "Label for the currently embedded cover preview"
},
"trackCoverSelected": "Carátula seleccionada",
"@trackCoverSelected": {
"description": "Label for the newly selected cover preview"
},
"trackCoverReplaceNotice": "La portada seleccionada sustituirá a la portada actual incrustada cuando pulses Guardar.",
"@trackCoverReplaceNotice": {
"description": "Notice shown when a new cover has been selected but not saved yet"
},
"actionStop": "Detener",
"@actionStop": {
"description": "Generic action - stop"
},
"queueFinalizingDownload": "Finalizando descarga",
"@queueFinalizingDownload": {
"description": "Accessibility label for a queue item that is finalizing"
},
"queueDownloadedFileMissing": "Downloaded file missing",
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"queueDownloadCompleted": "Descarga completada",
"@queueDownloadCompleted": {
"description": "Accessibility label for completed download state in queue"
},
"queueRateLimitTitle": "Service rate limited",
"@queueRateLimitTitle": {
"description": "Title shown on a failed queue item when the download service rate limits requests"
},
"queueRateLimitMessage": "This track may still be available. Wait a few minutes, reduce parallel downloads, then retry.",
"@queueRateLimitMessage": {
"description": "Explanation shown on a failed queue item when the download service rate limits requests"
},
"appearanceSelectAccentColor": "Selecciona un color de contraste {hex}",
"@appearanceSelectAccentColor": {
"description": "Accessibility label for picking an accent color",
"placeholders": {
"hex": {
"type": "String"
}
}
},
"logAutoScrollOn": "Auto-scroll ON",
"@logAutoScrollOn": {
"description": "Tooltip when auto-scroll is enabled on the log screen"
},
"logAutoScrollOff": "Auto-scroll OFF",
"@logAutoScrollOff": {
"description": "Tooltip when auto-scroll is disabled on the log screen"
},
"logCopyLogs": "Copy logs",
"@logCopyLogs": {
"description": "Tooltip for copying logs"
},
"logClearSearch": "Limpiar búsqueda",
"@logClearSearch": {
"description": "Tooltip for clearing the log search field"
},
"logIssueIspBlockingLabel": "ISP BLOCKING DETECTED",
"@logIssueIspBlockingLabel": {
"description": "Diagnostic badge label when ISP blocking is detected"
},
"logIssueIspBlockingDescription": "Your ISP may be blocking access to download services",
"@logIssueIspBlockingDescription": {
"description": "Diagnostic badge description for ISP blocking"
},
"logIssueIspBlockingSuggestion": "Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8",
"@logIssueIspBlockingSuggestion": {
"description": "Diagnostic badge suggestion for ISP blocking"
},
"logIssueRateLimitedLabel": "RATE LIMITED",
"@logIssueRateLimitedLabel": {
"description": "Diagnostic badge label when the service rate limits requests"
},
"logIssueRateLimitedDescription": "Too many requests to the service",
"@logIssueRateLimitedDescription": {
"description": "Diagnostic badge description for rate limiting"
},
"logIssueRateLimitedSuggestion": "Wait a few minutes before trying again",
"@logIssueRateLimitedSuggestion": {
"description": "Diagnostic badge suggestion for rate limiting"
},
"logIssueNetworkErrorLabel": "NETWORK ERROR",
"@logIssueNetworkErrorLabel": {
"description": "Diagnostic badge label for generic network errors"
},
"logIssueNetworkErrorDescription": "Connection issues detected",
"@logIssueNetworkErrorDescription": {
"description": "Diagnostic badge description for generic network errors"
},
"logIssueNetworkErrorSuggestion": "Check your internet connection",
"@logIssueNetworkErrorSuggestion": {
"description": "Diagnostic badge suggestion for generic network errors"
},
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"@logIssueTrackNotFoundLabel": {
"description": "Diagnostic badge label when a track is unavailable"
},
"logIssueTrackNotFoundDescription": "Some tracks could not be found on download services",
"@logIssueTrackNotFoundDescription": {
"description": "Diagnostic badge description when a track is unavailable"
},
"logIssueTrackNotFoundSuggestion": "The track may not be available in lossless quality",
"@logIssueTrackNotFoundSuggestion": {
"description": "Diagnostic badge suggestion when a track is unavailable"
},
"clickableLookingUpArtist": "Looking up artist...",
"@clickableLookingUpArtist": {
"description": "Snackbar shown while clickable artist metadata is being resolved"
},
"clickableInformationUnavailable": "{type} information not available",
"@clickableInformationUnavailable": {
"description": "Snackbar shown when clickable metadata cannot open a destination",
"placeholders": {
"type": {
"type": "String"
}
}
},
"extensionDetailsTags": "Etiquetas",
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"extensionDetailsInformation": "Información",
"@extensionDetailsInformation": {
"description": "Section title for extension metadata information"
},
"extensionUtilityFunctions": "Utility Functions",
"@extensionUtilityFunctions": {
"description": "Capability label for utility-only extensions"
},
"actionDismiss": "Descartar",
"@actionDismiss": {
"description": "Generic action - dismiss"
},
"setupChangeFolderTooltip": "Change folder",
"@setupChangeFolderTooltip": {
"description": "Tooltip for editing the selected download folder"
},
"a11yOpenTrackByArtist": "Open track {trackName} by {artistName}",
"@a11yOpenTrackByArtist": {
"description": "Accessibility label for opening a track item",
"placeholders": {
"trackName": {
"type": "String"
},
"artistName": {
"type": "String"
}
}
},
"a11yOpenItem": "Abrir {itemType} {name}",
"@a11yOpenItem": {
"description": "Accessibility label for opening a generic item",
"placeholders": {
"itemType": {
"type": "String"
},
"name": {
"type": "String"
}
}
},
"a11yOpenItemCount": "Abrir {title}, {count} {count, plural, =1{objeto} other{objetos}}",
"@a11yOpenItemCount": {
"description": "Accessibility label for opening a grouped item with count",
"placeholders": {
"title": {
"type": "String"
},
"count": {
"type": "int"
}
}
},
"a11yOpenAlbumByArtistTrackCount": "Abrir álbum {albumName} de {artistName}, {trackCount} pistas",
"@a11yOpenAlbumByArtistTrackCount": {
"description": "Accessibility label for opening an album item with track count",
"placeholders": {
"albumName": {
"type": "String"
},
"artistName": {
"type": "String"
},
"trackCount": {
"type": "int"
}
}
},
"a11yTrackByArtist": "{trackName} de {artistName}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
"placeholders": {
"trackName": {
"type": "String"
},
"artistName": {
"type": "String"
}
}
},
"a11ySelectAlbum": "Seleccionar álbum {albumName}",
"@a11ySelectAlbum": {
"description": "Accessibility label for selecting an album",
"placeholders": {
"albumName": {
"type": "String"
}
}
},
"a11yOpenAlbum": "Abrir álbum {albumName}",
"@a11yOpenAlbum": {
"description": "Accessibility label for opening an album",
"placeholders": {
"albumName": {
"type": "String"
}
}
},
"optionsDefaultSearchTabAlbums": "Álbumes",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Pistas",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Archivos y carpetas",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
},
"settingsFilesSubtitle": "Directorio de descarga, nombre de archivo y estructura de carpetas",
"@settingsFilesSubtitle": {
"description": "Subtitle for files & folders settings"
},
"settingsMetadata": "Información",
"@settingsMetadata": {
"description": "Settings menu item - metadata settings"
},
"settingsMetadataSubtitle": "Carátula, etiquetas, ReplayGain, proveedores",
"@settingsMetadataSubtitle": {
"description": "Subtitle for metadata settings"
},
"settingsLyrics": "Letra",
"@settingsLyrics": {
"description": "Settings menu item - lyrics settings"
},
"settingsLyricsSubtitle": "Insertar, modo, proveedores, opciones de idioma",
"@settingsLyricsSubtitle": {
"description": "Subtitle for lyrics settings"
},
"settingsApp": "Aplicación",
"@settingsApp": {
"description": "Settings menu item - app settings"
},
"settingsAppSubtitle": "Actualizaciones, datos, extensiones repo, depuración",
"@settingsAppSubtitle": {
"description": "Subtitle for app settings"
},
"sectionMetadataProviders": "Proveedores",
"@sectionMetadataProviders": {
"description": "Settings section header for metadata providers"
},
"sectionDuplicates": "Duplicados",
"@sectionDuplicates": {
"description": "Settings section header for deduplication"
},
"sectionLyricsProviderOptions": "Opciones del proveedor",
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
"metadataProvidersTitle": "Prioridad de proveedor de información",
"@metadataProvidersTitle": {
"description": "Settings item title for metadata provider order"
},
"metadataProvidersSubtitle": "Arrastre para establecer orden de búsqueda y origen de información",
"@metadataProvidersSubtitle": {
"description": "Subtitle for metadata provider priority item"
},
"downloadDeduplication": "Saltar descargas duplicadas",
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
"downloadDeduplicationEnabled": "Las pistas previamente descargadas se omitirán",
"@downloadDeduplicationEnabled": {
"description": "Subtitle when deduplication is on"
},
"downloadDeduplicationDisabled": "Todas las pistas se descargarán independientemente del historial",
"@downloadDeduplicationDisabled": {
"description": "Subtitle when deduplication is off"
},
"downloadFallbackExtensions": "Reslpado de extensiones",
"@downloadFallbackExtensions": {
"description": "Settings item for configuring fallback extension providers"
},
"downloadFallbackExtensionsSubtitle": "Elige qué extensiones se pueden utilizar como alternativa",
"@downloadFallbackExtensionsSubtitle": {
"description": "Subtitle for fallback extensions item"
},
"editMetadataFieldDateHint": "AAA-MM-DD o AAAA",
"@editMetadataFieldDateHint": {
"description": "Hint text for the edit metadata date field"
},
"editMetadataFieldTrackTotal": "Total de pistas",
"@editMetadataFieldTrackTotal": {
"description": "Label for total tracks field in the edit metadata sheet"
},
"editMetadataFieldDiscTotal": "Total de discos",
"@editMetadataFieldDiscTotal": {
"description": "Label for total discs field in the edit metadata sheet"
},
"editMetadataFieldComposer": "Compositor",
"@editMetadataFieldComposer": {
"description": "Label for composer field in the edit metadata sheet"
},
"editMetadataFieldComment": "Comentario",
"@editMetadataFieldComment": {
"description": "Label for comment field in the edit metadata sheet"
},
"editMetadataAdvanced": "Avanzado",
"@editMetadataAdvanced": {
"description": "Expandable section label for advanced metadata fields"
},
"libraryFilterMetadataMissingTrackNumber": "Falta número de pista",
"@libraryFilterMetadataMissingTrackNumber": {
"description": "Filter option - items missing track number"
},
"libraryFilterMetadataMissingDiscNumber": "Falta número de álbum",
"@libraryFilterMetadataMissingDiscNumber": {
"description": "Filter option - items missing disc number"
},
"libraryFilterMetadataMissingArtist": "Falta artista",
"@libraryFilterMetadataMissingArtist": {
"description": "Filter option - items missing artist"
},
"libraryFilterMetadataIncorrectIsrcFormat": "Formato de ISRC erróneo",
"@libraryFilterMetadataIncorrectIsrcFormat": {
"description": "Filter option - items with an invalid ISRC format"
},
"libraryFilterMetadataMissingLabel": "Falta etiqueta",
"@libraryFilterMetadataMissingLabel": {
"description": "Filter option - items missing record label"
},
"collectionDeletePlaylistsMessage": "¿Eliminar {count} {count, plural, =1{lista} other{listas de reproducción}}?",
"@collectionDeletePlaylistsMessage": {
"description": "Confirmation message for deleting selected playlists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{lista} other{listas de reproducción}} eliminadas",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"collectionAddedTracksToPlaylist": "Añadido {count} {count, plural, =1{track} other{tracks}} a {playlistName}",
"@collectionAddedTracksToPlaylist": {
"description": "Snackbar after adding multiple tracks to a playlist",
"placeholders": {
"count": {
"type": "int"
},
"playlistName": {
"type": "String"
}
}
},
"collectionAddedTracksToPlaylistWithExisting": "Añadido {count} {count, plural, =1{pista} other{pistas}} a {playlistName} ({alreadyCount} ya en la lista de reproducción)",
"@collectionAddedTracksToPlaylistWithExisting": {
"description": "Snackbar after adding multiple tracks to a playlist when some were already present",
"placeholders": {
"count": {
"type": "int"
},
"playlistName": {
"type": "String"
},
"alreadyCount": {
"type": "int"
}
}
},
"itemCount": "{count} {count, plural, =1{objeto} other{objetos}}",
"@itemCount": {
"description": "Generic item count label",
"placeholders": {
"count": {
"type": "int"
}
}
},
"trackReEnrichSuccessWithFailures": "Información enriquecida nuevamente con éxito\n({successCount}/{total}) - Fallaron: {failedCount}",
"@trackReEnrichSuccessWithFailures": {
"description": "Snackbar summary after batch metadata re-enrichment finishes with failures",
"placeholders": {
"successCount": {
"type": "int"
},
"total": {
"type": "int"
},
"failedCount": {
"type": "int"
}
}
},
"selectionDeleteTracksCount": "Eliminar {count} {count, plural, =1{pista} other{pistas}}",
"@selectionDeleteTracksCount": {
"description": "Button label for deleting selected tracks",
"placeholders": {
"count": {
"type": "int"
}
}
},
"queueDownloadSpeedStatus": "Descargando - {speed} MB/s",
"@queueDownloadSpeedStatus": {
"description": "Queue status while downloading with speed",
"placeholders": {
"speed": {
"type": "String"
}
}
},
"queueDownloadStarting": "Comenzando...",
"@queueDownloadStarting": {
"description": "Queue status before download progress is available"
},
"a11ySelectTrack": "Seleccionar pista",
"@a11ySelectTrack": {
"description": "Accessibility label for selecting a track"
},
"a11yDeselectTrack": "No seleccionar pista",
"@a11yDeselectTrack": {
"description": "Accessibility label for deselecting a track"
},
"a11yPlayTrackByArtist": "Reproducir {trackName} de {artistName}",
"@a11yPlayTrackByArtist": {
"description": "Accessibility label for playing a local library track",
"placeholders": {
"trackName": {
"type": "String"
},
"artistName": {
"type": "String"
}
}
},
"storeExtensionsCount": "{count} {count, plural, =1{extensión} other{extensiones}}",
"@storeExtensionsCount": {
"description": "Store extension result count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"storeRequiresVersion": "Requiere v{version}+",
"@storeRequiresVersion": {
"description": "Store compatibility badge for minimum app version",
"placeholders": {
"version": {
"type": "String"
}
}
},
"actionGo": "Ir",
"@actionGo": {
"description": "Generic action button label"
},
"logIssueSummary": "Resumen de incidencias",
"@logIssueSummary": {
"description": "Header for log issue analysis summary"
},
"logTotalErrors": "Total de errores: {count}",
"@logTotalErrors": {
"description": "Total error count in log issue analysis",
"placeholders": {
"count": {
"type": "int"
}
}
},
"logAffectedDomains": "Afectados: {domains}",
"@logAffectedDomains": {
"description": "Affected domains in log issue analysis",
"placeholders": {
"domains": {
"type": "String"
}
}
},
"libraryScanCancelled": "Escaneo cancelado",
"@libraryScanCancelled": {
"description": "Library scan status when a scan was cancelled"
},
"libraryScanCancelledSubtitle": "Puedes volver a intentar el escaneo cuando esté listo.",
"@libraryScanCancelledSubtitle": {
"description": "Library scan status subtitle after cancellation"
},
"libraryDownloadsHistoryExcluded": "{count} del historial de descargas (excluidos de la lista)",
"@libraryDownloadsHistoryExcluded": {
"description": "Library count note for downloaded history items excluded from the local list",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadNativeWorker": "Trabajador de descarga nativo",
"@downloadNativeWorker": {
"description": "Setting title for Android native download worker"
},
"downloadNativeWorkerSubtitle": "Operador de servicios beta android para descargas de extensión",
"@downloadNativeWorkerSubtitle": {
"description": "Setting subtitle for Android native download worker"
},
"badgeBeta": "BETA",
"@badgeBeta": {
"description": "Badge label for beta features"
},
"extensionServiceStatus": "Estado del servicio",
"@extensionServiceStatus": {
"description": "Extension detail section header for service status"
},
"extensionServiceHealth": "Estado de servicio",
"@extensionServiceHealth": {
"description": "Extension capability label for service health checks"
},
"extensionHealthChecksConfigured": "{count} {count, plural, =1{chequeo} other{chequeos}} ",
"@extensionHealthChecksConfigured": {
"description": "Extension service health check count",
"placeholders": {
"count": {
"type": "int"
}
}
},
"extensionOauthConnectHint": "Pulsa para conectar a Spotify y rellenar el campo.",
"@extensionOauthConnectHint": {
"description": "Hint for an OAuth login link field before connecting Spotify"
},
"extensionLastChecked": "Última comprobación {time}",
"@extensionLastChecked": {
"description": "Timestamp for the latest extension service health check",
"placeholders": {
"time": {
"type": "String"
}
}
},
"extensionRefreshStatus": "Actualizar estado",
"@extensionRefreshStatus": {
"description": "Tooltip for refreshing extension service health status"
},
"extensionCustomUrlHandling": "Gestión de URL personalizada",
"@extensionCustomUrlHandling": {
"description": "Extension detail section title for custom URL handling"
},
"extensionCustomUrlHandlingSubtitle": "Esta extensión puede manejar enlaces de estos sitios",
"@extensionCustomUrlHandlingSubtitle": {
"description": "Extension detail subtitle for custom URL handling"
},
"extensionCustomUrlHandlingShareHint": "Comparte enlaces de estos sitios a SpotiFLAC Mobile y esta extensión los manejará.",
"@extensionCustomUrlHandlingShareHint": {
"description": "Extension detail hint explaining share-to-app URL handling"
},
"extensionSettingsCount": "{count} {count, plural, =1{ajuste} other{ajustes}}",
"@extensionSettingsCount": {
"description": "Count of settings exposed by an extension quality option",
"placeholders": {
"count": {
"type": "int"
}
}
},
"extensionHealthOnline": "En línea",
"@extensionHealthOnline": {
"description": "Extension service health status - online"
},
"extensionHealthDegraded": "Degradado",
"@extensionHealthDegraded": {
"description": "Extension service health status - degraded"
},
"extensionHealthOffline": "Sin conexión",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
},
"extensionHealthNotConfigured": "Sin configurar",
"@extensionHealthNotConfigured": {
"description": "Extension service health status - not configured"
},
"extensionHealthUnknown": "Desconocido",
"@extensionHealthUnknown": {
"description": "Extension service health status - unknown"
},
"extensionHealthRequired": "requerido",
"@extensionHealthRequired": {
"description": "Label for a required extension service health check"
},
"extensionSettingNotSet": "Sin establecer",
"@extensionSettingNotSet": {
"description": "Value shown when an extension setting has no value"
},
"extensionActionFailed": "Error de acción",
"@extensionActionFailed": {
"description": "Fallback error when an extension action fails without details"
},
"extensionEnterValue": "Ingrese un valor",
"@extensionEnterValue": {
"description": "Hint for editing an extension setting value"
},
"extensionHealthServiceOnline": "Servicio en línea",
"@extensionHealthServiceOnline": {
"description": "Tooltip for online extension service"
},
"extensionHealthServiceDegraded": "Servicio degradado",
"@extensionHealthServiceDegraded": {
"description": "Tooltip for degraded extension service"
},
"extensionHealthServiceOffline": "Servicio fuera de línea",
"@extensionHealthServiceOffline": {
"description": "Tooltip for offline extension service"
},
"extensionHealthServiceUnknown": "Estado de servicio desconocido",
"@extensionHealthServiceUnknown": {
"description": "Tooltip for unknown extension service health"
},
"audioAnalysisStereo": "Estéreo",
"@audioAnalysisStereo": {
"description": "Audio channel layout label - stereo"
},
"audioAnalysisMono": "Mono",
"@audioAnalysisMono": {
"description": "Audio channel layout label - mono"
},
"trackOpenInService": "Abrir en {serviceName}",
"@trackOpenInService": {
"description": "Button label to open a track in a named music service",
"placeholders": {
"serviceName": {
"type": "String"
}
}
},
"trackLyricsEmbeddedSource": "Incrustado",
"@trackLyricsEmbeddedSource": {
"description": "Lyrics source label for embedded lyrics"
},
"unknownAlbum": "Álbum desconocido",
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
"unknownArtist": "Artista desconocido",
"@unknownArtist": {
"description": "Fallback artist name when metadata is missing"
},
"permissionAudio": "Audio",
"@permissionAudio": {
"description": "Audio permission type label"
},
"permissionStorage": "Almacenamiento",
"@permissionStorage": {
"description": "Storage permission type label"
},
"permissionNotification": "Notificación",
"@permissionNotification": {
"description": "Notification permission type label"
},
"errorInvalidFolderSelected": "Directorio seleccionado inválido",
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "No se puede obtener acceso al directorio seleccionado",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Cualquier",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
},
"storeCategoryMetadata": "Información",
"@storeCategoryMetadata": {
"description": "Store extension category - metadata"
},
"storeCategoryDownload": "Descargar",
"@storeCategoryDownload": {
"description": "Store extension category - download"
},
"storeCategoryUtility": "Utilidad",
"@storeCategoryUtility": {
"description": "Store extension category - utility"
},
"storeCategoryLyrics": "Letras",
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"storeCategoryIntegration": "Integración",
"@storeCategoryIntegration": {
"description": "Store extension category - integration"
},
"artistReleases": "Lanzamientos",
"@artistReleases": {
"description": "Section header for all artist releases"
},
"editMetadataSelectNone": "None",
"@editMetadataSelectNone": {
"description": "Button to clear selected fields for auto-fill"
},
"queueRetryAllFailed": "Retry {count} failed",
"@queueRetryAllFailed": {
"description": "Button to retry every failed download in the queue",
"placeholders": {
"count": {
"type": "int"
}
}
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
},
"settingsSaveDownloadHistorySubtitle": "Keep completed downloads in history and library views",
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"dialogDisableHistoryTitle": "Turn off download history?",
"@dialogDisableHistoryTitle": {
"description": "Confirmation dialog title shown before disabling download history"
},
"dialogDisableHistoryMessage": "Existing history will be cleared. Downloaded files will not be deleted.",
"@dialogDisableHistoryMessage": {
"description": "Confirmation dialog message shown before disabling download history"
},
"dialogDisableAndClear": "Turn off and clear",
"@dialogDisableAndClear": {
"description": "Confirmation action to disable download history and clear existing entries"
},
"openInOtherServices": "Open in Other Services",
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
"shareSheetNoExtensions": "No other compatible services",
"@shareSheetNoExtensions": {
"description": "Empty state when no extensions can be searched for cross-service links"
},
"shareSheetNotFound": "Not found",
"@shareSheetNotFound": {
"description": "Cross-service share sheet row subtitle when a service has no match"
},
"shareSheetCopyLink": "Copy Link",
"@shareSheetCopyLink": {
"description": "Tooltip for copying a cross-service link"
},
"shareSheetLinkCopied": "{service} link copied",
"@shareSheetLinkCopied": {
"description": "Snackbar after copying a cross-service link",
"placeholders": {
"service": {}
}
},
"libraryPlayback": "Playback",
"@libraryPlayback": {
"description": "Section header for playback settings in library settings"
},
"libraryExternalPlayer": "External player",
"@libraryExternalPlayer": {
"description": "Setting option to use an external music player"
},
"libraryExternalPlayerSubtitle": "Recommended for listening, best quality, gapless playback, EQ, and wider format support",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
},
"libraryBuiltInPreviewPlayer": "Built-in preview player",
"@libraryBuiltInPreviewPlayer": {
"description": "Setting option to use the built-in preview player"
},
"libraryBuiltInPreviewPlayerSubtitle": "Only for quick local previews inside SpotiFLAC Mobile, not recommended for regular listening",
"@libraryBuiltInPreviewPlayerSubtitle": {
"description": "Subtitle for built-in preview player option"
},
"libraryBuiltInPlayerInfo": "The built-in player is a preview tool for checking local tracks quickly. Use an external music player for actual listening.",
"@libraryBuiltInPlayerInfo": {
"description": "Info note explaining the built-in player is for previews only"
},
"nowPlayingTitle": "Now Playing",
"@nowPlayingTitle": {
"description": "Title for the now playing screen"
},
"nowPlayingNothingPlaying": "Nothing is playing",
"@nowPlayingNothingPlaying": {
"description": "Empty state when no track is currently playing"
},
"nowPlayingMinimize": "Minimize",
"@nowPlayingMinimize": {
"description": "Tooltip for minimizing the now playing screen"
},
"nowPlayingUpNext": "Up next",
"@nowPlayingUpNext": {
"description": "Title for the playback queue sheet"
},
"nowPlayingDetails": "Details",
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
"nowPlayingOpenInExternalPlayer": "Open in external player",
"@nowPlayingOpenInExternalPlayer": {
"description": "Menu item to open the current track in an external player"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
},
"nowPlayingTabLyrics": "Lyrics",
"@nowPlayingTabLyrics": {
"description": "Tab label for the lyrics view"
},
"nowPlayingNoLyrics": "No lyrics in this file",
"@nowPlayingNoLyrics": {
"description": "Empty state when the playing file has no embedded lyrics"
},
"nowPlayingLibraryEmpty": "Your library is empty",
"@nowPlayingLibraryEmpty": {
"description": "Snackbar when shuffle library is requested but library has no tracks"
},
"nowPlayingShuffleLibraryFailed": "Could not shuffle library: {error}",
"@nowPlayingShuffleLibraryFailed": {
"description": "Snackbar when shuffling the library fails",
"placeholders": {
"error": {
"type": "String"
}
}
},
"nowPlayingShuffleOn": "Shuffle on",
"@nowPlayingShuffleOn": {
"description": "Tooltip when shuffle mode is enabled"
},
"nowPlayingPlayInOrder": "Play in order",
"@nowPlayingPlayInOrder": {
"description": "Tooltip when shuffle mode is disabled"
},
"nowPlayingShuffleLibrary": "Shuffle library",
"@nowPlayingShuffleLibrary": {
"description": "Button label to shuffle and play the entire local library"
},
"nowPlayingQueueEmpty": "Queue is empty",
"@nowPlayingQueueEmpty": {
"description": "Empty state when the playback queue has no items"
},
"nowPlayingNoMetadata": "No metadata available",
"@nowPlayingNoMetadata": {
"description": "Empty state when track metadata cannot be loaded"
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
"trackConvertLosslessOutputWithCap": "Lossless output with {quality} cap",
"@trackConvertLosslessOutputWithCap": {
"description": "Hint shown when lossless conversion will cap bit depth or sample rate",
"placeholders": {
"quality": {
"type": "String"
}
}
},
"trackConvertConfirmMessageLosslessCapped": "Convert from {sourceFormat} to {targetFormat} ({quality})?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original file will be deleted after conversion.",
"@trackConvertConfirmMessageLosslessCapped": {
"description": "Confirmation dialog message for capped lossless conversion of a single file",
"placeholders": {
"sourceFormat": {
"type": "String"
},
"targetFormat": {
"type": "String"
},
"quality": {
"type": "String"
}
}
},
"selectionBatchConvertConfirmMessageLosslessCapped": "Convert {count} {count, plural, =1{track} other{tracks}} to {format} ({quality})?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original files will be deleted after conversion.",
"@selectionBatchConvertConfirmMessageLosslessCapped": {
"description": "Confirmation dialog message for capped lossless batch conversion",
"placeholders": {
"count": {
"type": "int"
},
"format": {
"type": "String"
},
"quality": {
"type": "String"
}
}
},
"trackConvertActionLabelLossless": "{sourceFormat} → {targetFormat} ({quality})",
"@trackConvertActionLabelLossless": {
"description": "Convert button label for lossless conversion with quality cap",
"placeholders": {
"sourceFormat": {
"type": "String"
},
"targetFormat": {
"type": "String"
},
"quality": {
"type": "String"
}
}
},
"trackConvertActionLabelLossy": "{sourceFormat} → {targetFormat} @ {bitrate}",
"@trackConvertActionLabelLossy": {
"description": "Convert button label for lossy conversion",
"placeholders": {
"sourceFormat": {
"type": "String"
},
"targetFormat": {
"type": "String"
},
"bitrate": {
"type": "String"
}
}
},
"aboutPaxsenixSubtitle": "Lyrics proxy for Musixmatch, Netease, Apple Music, QQ Music, Spotify, Deezer, YouTube, Kugou, and Genius",
"@aboutPaxsenixSubtitle": {
"description": "Subtitle for Paxsenix special thanks entry on the about page"
},
"snackbarPlayingNext": "Playing next",
"@snackbarPlayingNext": {
"description": "Snackbar when a track is inserted as the next queue item"
},
"snackbarAddedToQueueGeneric": "Added to queue",
"@snackbarAddedToQueueGeneric": {
"description": "Snackbar when a track is added to the playback queue without naming it"
},
"selectionDeletePlaylistsCount": "Delete {count} {count, plural, =1{playlist} other{playlists}}",
"@selectionDeletePlaylistsCount": {
"description": "Button label for deleting multiple selected playlists",
"placeholders": {
"count": {
"type": "int"
}
}
},
"actionShuffle": "Shuffle",
"@actionShuffle": {
"description": "Tooltip for shuffle playback action"
},
"downloadPrimaryArtistOnlyOn": "Primary only: On",
"@downloadPrimaryArtistOnlyOn": {
"description": "Status label when primary-artist-only folder naming is enabled"
},
"downloadPrimaryArtistOnlyOff": "Primary only: Off",
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"downloadAlbumArtistMetadataPrimaryOnly": "Album Artist metadata: Primary only",
"@downloadAlbumArtistMetadataPrimaryOnly": {
"description": "Status label when album-artist folder filtering uses primary artist only"
},
"downloadAlbumArtistMetadataFull": "Album Artist metadata: Full",
"@downloadAlbumArtistMetadataFull": {
"description": "Status label when album-artist folder filtering uses full metadata"
},
"trackConvertOriginal": "Original",
"@trackConvertOriginal": {
"description": "Label for keeping original bit depth or sample rate during conversion"
},
"trackConvertOriginalQuality": "Original quality",
"@trackConvertOriginalQuality": {
"description": "Label when no bit depth or sample rate cap is applied during lossless conversion"
},
"trackConvertLosslessSuffix": "Lossless",
"@trackConvertLosslessSuffix": {
"description": "Suffix used in converted lossless quality labels"
},
"trackConvertDithering": "Dithering",
"@trackConvertDithering": {
"description": "Section label for lossless conversion dithering options"
},
"trackConvertResampler": "Resampler",
"@trackConvertResampler": {
"description": "Section label for lossless conversion resampler options"
},
"trackConvertDitherNone": "None",
"@trackConvertDitherNone": {
"description": "Lossless conversion dither option with no dithering applied"
},
"trackConvertDitherTriangular": "TPDF",
"@trackConvertDitherTriangular": {
"description": "Lossless conversion triangular probability density function dither option"
},
"trackConvertDitherTriangularHp": "Triangular HP",
"@trackConvertDitherTriangularHp": {
"description": "Lossless conversion high-pass triangular dither option"
},
"trackConvertResamplerSwr": "SWR",
"@trackConvertResamplerSwr": {
"description": "Lossless conversion default FFmpeg swresample resampler option"
},
"trackConvertResamplerSoxr": "SoXr",
"@trackConvertResamplerSoxr": {
"description": "Lossless conversion SoX resampler option"
},
"updateSeeReleaseNotes": "See release notes for details.",
"@updateSeeReleaseNotes": {
"description": "Fallback changelog text when release notes cannot be parsed"
},
"unknownTitle": "Unknown title",
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"trackPlayNext": "Play next",
"@trackPlayNext": {
"description": "Menu action to play a track as the next queue item"
},
"trackAddToQueue": "Add to queue",
"@trackAddToQueue": {
"description": "Menu action to add a track to the playback queue"
},
"snackbarExtensionInstalledEnable": "{extensionName} installed. Enable it in Settings > Extensions",
"@snackbarExtensionInstalledEnable": {
"description": "Snackbar after installing an extension from the repo tab",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"@snackbarExtensionUpdatedVersion": {
"description": "Snackbar after updating an extension from the repo tab",
"placeholders": {
"extensionName": {
"type": "String"
},
"version": {
"type": "String"
}
}
},
"snackbarFailedToInstallNamed": "Failed to install {extensionName}",
"@snackbarFailedToInstallNamed": {
"description": "Snackbar when extension install fails in the repo tab",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"snackbarFailedToUpdateNamed": "Failed to update {extensionName}",
"@snackbarFailedToUpdateNamed": {
"description": "Snackbar when extension update fails in the repo tab",
"placeholders": {
"extensionName": {
"type": "String"
}
}
},
"releaseTypeEp": "EP",
"@releaseTypeEp": {
"description": "Badge label for EP releases"
},
"releaseTypeSingle": "Single",
"@releaseTypeSingle": {
"description": "Badge label for single releases"
},
"trackCoverOnline": "Online cover",
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"regionCountryUS": "United States",
"@regionCountryUS": {
"description": "Country name for SongLink region picker"
},
"regionCountryGB": "United Kingdom",
"@regionCountryGB": {
"description": "Country name for SongLink region picker"
},
"regionCountryFR": "France",
"@regionCountryFR": {
"description": "Country name for SongLink region picker"
},
"regionCountryDE": "Germany",
"@regionCountryDE": {
"description": "Country name for SongLink region picker"
},
"regionCountryJP": "Japan",
"@regionCountryJP": {
"description": "Country name for SongLink region picker"
},
"regionCountryKR": "South Korea",
"@regionCountryKR": {
"description": "Country name for SongLink region picker"
},
"regionCountryIN": "India",
"@regionCountryIN": {
"description": "Country name for SongLink region picker"
},
"regionCountryID": "Indonesia",
"@regionCountryID": {
"description": "Country name for SongLink region picker"
},
"regionCountryBR": "Brazil",
"@regionCountryBR": {
"description": "Country name for SongLink region picker"
},
"regionCountryMX": "Mexico",
"@regionCountryMX": {
"description": "Country name for SongLink region picker"
},
"regionCountryAU": "Australia",
"@regionCountryAU": {
"description": "Country name for SongLink region picker"
},
"regionCountryCA": "Canada",
"@regionCountryCA": {
"description": "Country name for SongLink region picker"
},
"regionCountryXK": "Kosovo",
"@regionCountryXK": {
"description": "Country name for SongLink region picker"
},
"extensionVerificationBrowserTitle": "Verification browser",
"@extensionVerificationBrowserTitle": {
"description": "Settings option title for extension verification browser preference"
},
"extensionVerificationBrowserSubtitleExternal": "Open challenges in the default browser first",
"@extensionVerificationBrowserSubtitleExternal": {
"description": "Subtitle when external browser is preferred for extension verification"
},
"extensionVerificationBrowserSubtitleInApp": "Open challenges in the in-app browser first",
"@extensionVerificationBrowserSubtitleInApp": {
"description": "Subtitle when in-app browser is preferred for extension verification"
},
"extensionVerificationBrowserExternal": "External",
"@extensionVerificationBrowserExternal": {
"description": "Chip label for external browser verification mode"
},
"extensionVerificationBrowserInApp": "In-app",
"@extensionVerificationBrowserInApp": {
"description": "Chip label for in-app browser verification mode"
},
"extensionVerificationHelpTitleManual": "Open verification manually",
"@extensionVerificationHelpTitleManual": {
"description": "Dialog title when automatic browser launch for verification fails"
},
"extensionVerificationHelpTitleWaiting": "Verification still waiting",
"@extensionVerificationHelpTitleWaiting": {
"description": "Dialog title when verification is taking longer than expected"
},
"extensionVerificationHelpMessageManual": "SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.",
"@extensionVerificationHelpMessageManual": {
"description": "Dialog message when automatic browser launch for verification fails"
},
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"@extensionVerificationHelpMessageWaiting": {
"description": "Dialog message when verification may need manual browser help"
},
"extensionVerificationClose": "Close",
"@extensionVerificationClose": {
"description": "Button to dismiss the extension verification help dialog"
},
"extensionVerificationCopyLink": "Copy link",
"@extensionVerificationCopyLink": {
"description": "Button to copy the extension verification URL"
},
"extensionVerificationLinkCopied": "Verification link copied",
"@extensionVerificationLinkCopied": {
"description": "Snackbar after copying the extension verification URL"
},
"extensionVerificationOpenBrowser": "Open browser",
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}