{
    "appName": { "message": "CinePlex" },
    "appDescription": { "message": "Escanea servidores de Plex para encontrar contenido y lo muestra en la interfaz" },
    "appTagline": { "message": "Películas, Series y Música" },
    "appLocaleCode": { "message": "es-ES" },
    "toggleNavigation": { "message": "Alternar Navegación" },
    "searchPlaceholder": { "message": "Buscar películas o series..." },
    "openMusicPlayer": { "message": "Abrir Reproductor de Música" },
    "settings": { "message": "Ajustes" },
    "navMovies": { "message": "Películas" },
    "navSeries": { "message": "Series" },
    "navPhotos": { "message": "Fotos" },
    "navStats": { "message": "Estadísticas" },
    "navFavorites": { "message": "Favoritos" },
    "navHistory": { "message": "Historial" },
    "navRecommendations": { "message": "Recomendaciones" },
    "navMusic": { "message": "Música" },
    "heroWelcome": { "message": "Bienvenido a CinePlex" },
    "heroSubtitle": { "message": "Explora miles de películas y series." },
    "addStream": { "message": "Añadir Stream" },
    "moreInfo": { "message": "Más info" },
    "popularMovies": { "message": "Películas Populares" },
    "allGenres": { "message": "Todos los géneros" },
    "allYears": { "message": "Todos los años" },
    "sortPopular": { "message": "Más populares" },
    "sortTopRated": { "message": "Mejor valoradas" },
    "sortRecent": { "message": "Más recientes" },
    "loadMore": { "message": "Cargar más" },
    "photosBreadcrumbHome": { "message": "Álbumes" },
    "selectServer": { "message": "Selecciona un servidor" },
    "loading": { "message": "Cargando..." },
    "photosEmptyState": { "message": "No se encontraron álbumes o fotos." },
    "photosEmptyStateSub": { "message": "Por favor, selecciona un servidor o asegúrate de tener una librería de fotos en Plex." },
    "statsTitle": { "message": "Estadísticas de la Librería" },
    "statsAllTokens": { "message": "Todos los Tokens" },
    "statsAnalyzing": { "message": "Analizando tu librería..." },
    "statsActiveTokens": { "message": "Tokens Activos" },
    "statsServersFound": { "message": "Servidores Encontrados" },
    "statsUniqueMovies": { "message": "Películas Únicas" },
    "statsUniqueSeries": { "message": "Series Únicas" },
    "statsUniqueArtists": { "message": "Artistas Únicos" },
    "statsTokenServers": { "message": "Servidores del Token" },
    "statsChartMoviesByGenre": { "message": "Contenido por Género (Películas)" },
    "statsChartSeriesByGenre": { "message": "Contenido por Género (Series)" },
    "statsChartByDecade": { "message": "Contenido por Década" },
    "recommendationsTitle": { "message": "Recomendaciones para ti" },
    "historyTitle": { "message": "Historial de Visualización" },
    "clearHistory": { "message": "Borrar Todo" },
    "consoleTitle": { "message": "Consola de Escaneo Plex" },
    "footerCredit": { "message": "Una interfaz para tu universo Plex." },
    "backButton": { "message": "Atrás" },
    "closeTrailer": { "message": "Cerrar tráiler" },
    "close": { "message": "Cerrar" },
    "photoViewer": { "message": "Visor de fotos" },
    "previous": { "message": "Anterior" },
    "next": { "message": "Siguiente" },
    "notificationTemplateText": { "message": "Notificación" },
    "settingsTitleFull": { "message": "Ajustes y Configuración" },
    "settingsTabGeneral": { "message": "General" },
    "settingsTabPlex": { "message": "Plex" },
    "settingsTabPhpGen": { "message": "Generador PHP" },
    "settingsTabData": { "message": "Datos" },
    "settingsApiServer": { "message": "Configuración de API y Servidor" },
    "settingsTmdbApiLabel": { "message": "Clave de API de TMDB (Opcional)" },
    "settingsTmdbApiPlaceholder": { "message": "Usará la clave por defecto si se deja en blanco" },
    "settingsTmdbLangLabel": { "message": "Idioma para TMDB y UI" },
    "settingsPhpUrlLabel": { "message": "URL del Servidor para Añadir Streams" },
    "settingsPhpUrlPlaceholder": { "message": "https://tu-servidor.com/ruta/al/script.php" },
    "settingsInterface": { "message": "Interfaz" },
    "settingsLightTheme": { "message": "Modo Claro" },
    "settingsShowHero": { "message": "Mostrar sección de bienvenida \"Hero\"" },
    "settingsScanContent": { "message": "Escaneo de Contenido" },
    "settingsScanDesc": { "message": "Selecciona qué escanear y pulsa el botón." },
    "settingsScanMovies": { "message": "Películas" },
    "settingsScanShows": { "message": "Series" },
    "settingsScanArtists": { "message": "Música" },
    "settingsScanPhotos": { "message": "Fotos" },
    "settingsSelectAll": { "message": "Seleccionar Todo" },
    "settingsStartScan": { "message": "Iniciar Escaneo" },
    "settingsPlexTokens": { "message": "Tokens de Plex" },
    "settingsPlexTokensDesc": { "message": "Edita la lista de tokens de Plex (formato JSON)." },
    "settingsSaveTokens": { "message": "Guardar Tokens" },
    "settingsPhpGenTitle": { "message": "Generador de Script PHP para el Servidor" },
    "settingsPhpFileOptions": { "message": "Opciones del Archivo" },
    "settingsPhpSavePathLabel": { "message": "Ruta de Guardado en Servidor" },
    "settingsPhpSavePathPlaceholder": { "message": "Ej: /var/www/html/listas (en blanco para la misma carpeta)" },
    "settingsPhpFilenameLabel": { "message": "Nombre del Archivo" },
    "settingsPhpFileAction": { "message": "Acción sobre el Archivo" },
    "settingsPhpActionAppend": { "message": "Añadir al final del archivo (acumulativo)" },
    "settingsPhpActionOverwrite": { "message": "Sobrescribir el archivo (empezar de nuevo)" },
    "settingsPhpSecurity": { "message": "Seguridad (Opcional)" },
    "settingsPhpUseSecretKey": { "message": "Usar clave secreta (Recomendado)" },
    "settingsPhpSecretKeyPlaceholder": { "message": "Introduce una clave secreta segura" },
    "settingsPhpGeneratedCode": { "message": "Código Generado" },
    "settingsPhpGeneratedPlaceholder": { "message": "El código PHP generado aparecerá aquí." },
    "settingsGenerateScript": { "message": "Generar Script" },
    "settingsCopyScript": { "message": "Copiar Script" },
    "settingsDataManagement": { "message": "Gestión de la Base de Datos Local" },
    "settingsImportDb": { "message": "Importar BD desde Archivo" },
    "settingsExportDb": { "message": "Exportar BD a Archivo" },
    "settingsClearContent": { "message": "Borrar Datos de Contenido Local" },
    "settingsClearContentDesc": { "message": "Esta acción borrará películas, series y música de la base de datos local, pero no afectará a tus favoritos o ajustes." },
    "settingsClose": { "message": "Cerrar" },
    "settingsSave": { "message": "Guardar Ajustes" },
    "musicSidenavTitle": { "message": "Plex Música" },
    "musicAllServers": { "message": "Todos los Servidores" },
    "musicSearchArtistPlaceholder": { "message": "Buscar artista..." },
    "musicSearchDiscographyPlaceholder": { "message": "Buscar en la discografía..." },
    "musicNothingPlaying": { "message": "Nada en reproducción" },
    "musicSelectSong": { "message": "Selecciona una canción" },
    "musicToStart": { "message": "para empezar a reproducir" },
    "miniplayerDownloadSong": { "message": "Descargar canción" },
    "miniplayerDownloadAlbum": { "message": "Descargar álbum M3U" },
    "miniplayerVolume": { "message": "Volumen" },
    "miniplayerShuffle": { "message": "Aleatorio" },
    "miniplayerEqualizer": { "message": "Ecualizador" },
    "miniplayerOpenList": { "message": "Abrir lista" },
    "eqTitle": { "message": "Ecualizador Gráfico" },
    "eqPresetsLabel": { "message": "Presets" },
    "eqPresetFlat": { "message": "Plano (Flat)" },
    "eqPresetRock": { "message": "Rock" },
    "eqPresetPop": { "message": "Pop" },
    "eqPresetJazz": { "message": "Jazz" },
    "eqPresetClassical": { "message": "Clásico" },
    "eqPresetBassBoost": { "message": "Refuerzo de Graves" },
    "eqPreampLabel": { "message": "Pre-Amp" },
    "infoModalTitle": { "message": "Información" },
    "infoModalFieldTitle": { "message": "Título:" },
    "infoModalFieldArtist": { "message": "Artista:" },
    "infoModalFieldAlbum": { "message": "Álbum:" },
    "infoModalFieldSong": { "message": "Canción:" },
    "infoModalFieldYear": { "message": "Año:" },
    "infoModalFieldGenre": { "message": "Género:" },
    "lang_en": { "message": "Inglés" },
    "lang_es": { "message": "Español" },
    "lang_fr": { "message": "Francés" },
    "lang_de": { "message": "Alemán" },
    "essentialFeaturesNotSupported": { "message": "Tu navegador no soporta funciones esenciales." },
    "dbAccessError": { "message": "Error al acceder a la base de datos local." },
    "dbUpdateNeeded": { "message": "La base de datos necesita actualizarse, por favor recarga la página." },
    "dbBlocked": { "message": "Por favor, cierra otras pestañas de esta aplicación para continuar." },
    "deletingContentData": { "message": "Borrando datos de contenido locales..." },
    "noContentDataToDelete": { "message": "No hay datos de contenido que borrar." },
    "contentDataDeleted": { "message": "Datos de contenido borrados de IndexedDB." },
    "errorDeletingData": { "message": "Error al borrar datos: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailable": { "message": "Editor de texto no disponible." },
    "errorLoadingTokens": { "message": "Error al cargar tokens para editar." },
    "errorLoadingTokensMessage": { "message": "Error al cargar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailableToSave": { "message": "Editor no disponible para guardar." },
    "invalidJsonFormat": { "message": "Formato JSON inválido. Debe ser { \"tokens\": [...] }" },
    "tokensSaved": { "message": "Tokens guardados correctamente." },
    "errorSavingTokens": { "message": "Error al guardar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "dbNotAvailable": { "message": "IndexedDB no está disponible." },
    "dbExported": { "message": "Base de datos exportada con éxito." },
    "errorExportingDb": { "message": "Error al exportar la base de datos: $message$", "placeholders": { "message": { "content": "$1" } } },
    "invalidJsonFile": { "message": "El archivo no contiene un objeto JSON válido." },
    "noDataToImport": { "message": "El archivo no contiene datos para las secciones de la BD actual." },
    "dbImported": { "message": "Base de datos importada correctamente." },
    "errorImportingDb": { "message": "Error al importar la base de datos: $message$", "placeholders": { "message": { "content": "$1" } } },
    "updatingView": { "message": "Actualizando la vista con los nuevos datos..." },
    "confirmClearContent": { "message": "¿Estás seguro de que deseas borrar los datos de contenido locales (Películas, Series, Música, etc.)? Los Favoritos y Ajustes NO se borrarán." },
    "trailerNotFound": { "message": "No se encontró tráiler para este título." },
    "confirmClearHistory": { "message": "¿Estás seguro de que deseas borrar todo tu historial de visualización? Esta acción no se puede deshacer." },
    "historyCleared": { "message": "Historial de visualización borrado." },
    "historyItemDeleted": { "message": "Elemento borrado del historial." },
    "errorGeneratingScript": { "message": "Primero genera un script para poder copiarlo." },
    "scriptCopied": { "message": "Script PHP copiado al portapapeles." },
    "errorCopyingScript": { "message": "Error al copiar el script." },
    "scriptGenerated": { "message": "Script PHP generado." },
    "errorLoadingAlbum": { "message": "Error al cargar álbum: $message$", "placeholders": { "message": { "content": "$1" } } },
    "noPhotoServerSelected": { "message": "Error: No se ha seleccionado un servidor de fotos." },
    "loadingGenres": { "message": "Cargando géneros..." },
    "errorLoadingGenres": { "message": "Error al cargar" },
    "noContentFound": { "message": "No se encontraron resultados." },
    "couldNotLoadContent": { "message": "No se pudo cargar el contenido." },
    "noFavorites": { "message": "Aún no tienes favoritos." },
    "errorLoadingFavorites": { "message": "Error al cargar favoritos." },
    "historyEmpty": { "message": "Tu historial está vacío." },
    "historyEmptySub": { "message": "Explora y mira contenido para que aparezca aquí." },
    "errorGeneratingRecommendations": { "message": "Error al generar recomendaciones." },
    "noRecommendations": { "message": "¡Necesitamos conocerte mejor para darte recomendaciones!" },
    "errorGeneratingStats": { "message": "Error al generar estadísticas." },
    "noServersForToken": { "message": "No se encontraron servidores asociados para este token." },
    "searchingActorContent": { "message": "Buscando contenido de $actorName$", "placeholders": { "actorName": { "content": "$1" } } },
    "errorLoadingActorContent": { "message": "No se pudo cargar el contenido para $actorName$.", "placeholders": { "actorName": { "content": "$1" } } },
    "errorAddingStream": { "message": "Error al añadir stream(s): $message$", "placeholders": { "message": { "content": "$1" } } },
    "phpUrlNotConfigured": { "message": "La URL del servidor PHP no está configurada. Por favor, configúrala en Ajustes." },
    "searchingStreams": { "message": "Buscando streams para \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "sendingStreams": { "message": "Enviando $count$ stream(s) al servidor...", "placeholders": { "count": { "content": "$1" } } },
    "streamAddedSuccess": { "message": "Stream(s) añadido(s) con éxito." },
    "generatingM3U": { "message": "Generando M3U para \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "m3uDownloaded": { "message": "M3U para \"$title$\" descargado.", "placeholders": { "title": { "content": "$1" } } },
    "errorGeneratingM3U": { "message": "Error al generar M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
    "settingsSavedSuccess": { "message": "Ajustes guardados correctamente." },
    "errorSavingSettings": { "message": "Error al guardar los ajustes en la base de datos." },
    "languageChangeReload": { "message": "Idioma cambiado. La aplicación se recargará ahora." },
    "addedToFavorites": { "message": "Añadido a favoritos." },
    "removedFromFavorites": { "message": "Eliminado de favoritos." },
    "plexScanInProgress": { "message": "El escaneo Plex ya está en curso." },
    "plexScanStarting": { "message": "Iniciando escaneo Plex..." },
    "noPlexTokens": { "message": "No hay tokens de Plex configurados." },
    "clearingSections": { "message": "Limpiando secciones: $sections$", "placeholders": { "sections": { "content": "$1" } } },
    "sectionsCleared": { "message": "Secciones limpiadas." },
    "tokenFoundServers": { "message": "Token $token$... encontró $count$ servidores.", "placeholders": { "token": { "content": "$1" }, "count": { "content": "$2" } } },
    "errorProcessingToken": { "message": "Error procesando token $token$...: $message$", "placeholders": { "token": { "content": "$1" }, "message": { "content": "$2" } } },
    "initialScanPhaseComplete": { "message": "Fase de escaneo inicial finalizada." },
    "retryPhaseFinished": { "message": "Fase de reintentos finalizada." },
    "plexScanFinished": { "message": "Escaneo finalizado. Actualizando contenido..." },
    "plexScanFatalError": { "message": "ERROR FATAL: $message$", "placeholders": { "message": { "content": "$1" } } },
    "errorDuringScan": { "message": "Error durante el escaneo: $message$", "placeholders": { "message": { "content": "$1" } } },
    "scanCancelled": { "message": "Escaneo cancelado por el usuario." },
    "scanCancelledInfo": { "message": "Escaneo cancelado." },
    "retyingSection": { "message": "Reintentando sección \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "retrySuccess": { "message": "[ÉXITO] Reintento de \"$title$\" completado.", "placeholders": { "title": { "content": "$1" } } },
    "retryError": { "message": "[ERROR FINAL] Falló el reintento para \"$title$\": $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
    "noRetriesPending": { "message": "No hay reintentos pendientes." },
    "startingRetryPhase": { "message": "Iniciando fase de reintentos para $count$ secciones...", "placeholders": { "count": { "content": "$1" } } },
    "retryPhaseCancelled": { "message": "Fase de reintentos cancelada." },
    "errorInitializingMusicPlayer": { "message": "Error inicializando el reproductor de música." },
    "criticalErrorLoadingMusic": { "message": "Error crítico al cargar datos de música." },
    "errorLoadingArtists": { "message": "Error al cargar artistas." },
    "dbUnavailableError": { "message": "Error: Base de datos no disponible." },
    "updatingMusicData": { "message": "Actualizando datos de música..." },
    "musicDataUpdated": { "message": "Datos de música actualizados." },
    "errorFetchingArtistSongs": { "message": "Error al obtener canciones del artista." },
    "errorLoadingSongs": { "message": "Error cargando canciones." },
    "noArtistsFound": { "message": "No se encontraron artistas." },
    "artistsCounter": { "message": "$start$-$end$ de $total$", "placeholders": { "start": { "content": "$1" }, "end": { "content": "$2" }, "total": { "content": "$3" } } },
    "artistsCounterSingle": { "message": "$total$ Artistas", "placeholders": { "total": { "content": "$1" } } },
    "artistsCounterLoading": { "message": "Cargando..." },
    "noSongsFound": { "message": "No se encontraron canciones." },
    "shuffleOn": { "message": "Modo aleatorio activado." },
    "shuffleOff": { "message": "Modo aleatorio desactivado." },
    "downloadingSong": { "message": "Iniciando descarga de \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "songDownloaded": { "message": "\"$title$\" descargado.", "placeholders": { "title": { "content": "$1" } } },
    "errorDownloadingSong": { "message": "Error al descargar \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "generatingAlbumM3U": { "message": "Generando M3U para \"$artist$\"...", "placeholders": { "artist": { "content": "$1" } } },
    "albumM3UGenerated": { "message": "M3U del álbum \"$artist$\" generado.", "placeholders": { "artist": { "content": "$1" } } },
    "playbackError": { "message": "Error de reproducción" },
    "errorLabel": { "message": "Error" },
    "reloadingPage": { "message": "Recargando la página..." },
    "viewed": { "message": "Visto" },
    "local": { "message": "Local" },
    "topRatedSort": {"message": "Mejor Valoradas"},
    "recentSort": {"message": "Recientes"},
    "popularSort": {"message": "Populares"},
    "moviesSectionTitle": {"message": "Películas"},
    "seriesSectionTitle": {"message": "Series"},
    "searchResultsFor": {"message": "Resultados para \"$query$\"", "placeholders": {"query": {"content": "$1"}}},
    "contentFrom": {"message": "Contenido de $actor$", "placeholders": {"actor": {"content": "$1"}}},
    "explore": {"message": "Explorar"},
    "noGenre": {"message": "Sin Género"},
    "synopsis": {"message": "Sinopsis"},
    "noSynopsis": {"message": "No hay sinopsis disponible."},
    "director": {"message": "Director:"},
    "writer": {"message": "Escritor:"},
    "viewOnImdb": {"message": "Ver en IMDb"},
    "watchTrailer": {"message": "Ver Tráiler"},
    "addToFavorites": {"message": "Favorito"},
    "removeFromFavorites": {"message": "Quitar Fav."},
    "notAvailable": {"message": "No disponible"},
    "mainCast": {"message": "Reparto Principal"},
    "seasonsAndEpisodes": {"message": "Temporadas y Episodios"},
    "similarContent": {"message": "Contenido Similar"},
    "episodesCount": {"message": "$count$ Episodios", "placeholders": {"count": {"content": "$1"}}},
    "seasonsCount": {"message": "$count$ Temporadas", "placeholders": {"count": {"content": "$1"}}},
    "runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
    "noTrailerFound": {"message": "No se encontró tráiler para este título."},
    "fatalInitError": {"message": "Error de Inicialización"},
    "fatalInitErrorSub": {"message": "No se pudo cargar la aplicación."},
    "invalidStreamInfo": {"message": "Información inválida."},
    "dbUnavailableForStreams": {"message": "Base de datos local no disponible."},
    "noPlexServersForStreams": {"message": "No hay servidores Plex."},
    "notFoundOnServers": {"message": "No se encontró \"$query$\" en los servidores.", "placeholders": {"query": {"content": "$1"}}},
    "relativeTime_justNow": { "message": "Hace un momento" },
    "relativeTime_minutesAgo": { "message": "Hace $count$ minutos", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_hoursAgo": { "message": "Hace $count$ horas", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_yesterday": { "message": "Ayer" },
    "relativeTime_daysAgo": { "message": "Hace $count$ días", "placeholders": { "count": { "content": "$1" } } },
    "errorLoadingDetails": { "message": "Error al Cargar Detalles" },
    "errorLoadingLocalContent": { "message": "Error al cargar contenido local." },
    "errorServerResponse": { "message": "Respuesta no exitosa del servidor." },
    "errorPlexApi": { "message": "Error $status$ de la API de Plex.", "placeholders": { "status": { "content": "$1" } } },
    "errorParsingPlexXml": { "message": "Error al parsear XML de Plex." },
    "untitled": { "message": "Sin título" },
    "itemCount": { "message": "$count$ elementos", "placeholders": { "count": { "content": "$1" } } },
    "noPhotoServers": { "message": "No hay servidores de fotos" }
}