"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 ni a tus ajustes."},
"settingsClose":{"message":"Cerrar"},
"settingsSave":{"message":"Guardar Ajustes"},
"musicSidenavTitle":{"message":"Música de Plex"},
"musicAllServers":{"message":"Todos los Servidores"},
"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 rehacer."},
"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."},
"m3uInstruction1":{"message":"Elige un servidor de la lista."},
"m3uInstruction2":{"message":"Selecciona una o más bibliotecas para incluir."},
"m3uInstruction3":{"message":"Haz clic en el botón de descarga."},
"m3uInstruction4":{"message":"Importa el archivo .m3u en tu reproductor compatible."},
"chatOpen":{"message":"Abrir Chat"},
"chatTitle":{"message":"Asistente IA"},
"chatClose":{"message":"X"},
"chatPlaceholder":{"message":"Escribe tu mensaje..."},
"chatSend":{"message":"➤"},
"chatWelcome":{"message":"¡Bienvenido! Soy tu asistente de CinePlex. Pregúntame sobre películas, series o cualquier otra cosa que quieras saber."},
"chatGoogleApiKeyMissing":{"message":"La clave de la API de Google Gemini no está configurada. Por favor, configúrala en los ajustes de la extensión para usar el asistente de IA."},
"chatApiInvalidResponse":{"message":"La API ha devuelto una respuesta no válida. Por favor, inténtalo de nuevo."},
"chatApiError":{"message":"Error al comunicarse con el asistente de IA"},
"downloadAll":{"message":"Descargar todo"},
"download":{"message":"Descargar"},
"aiToolSearchLibraryDesc":{"message":"Busca en la biblioteca de Plex del usuario películas o series por título."},
"aiToolSearchLibraryQueryParamDesc":{"message":"El título de la película o serie a buscar."},
"aiToolSearchLibraryTypeParamDesc":{"message":"El tipo de contenido a buscar. Puede ser 'movie' para películas o 'series' para series. (Opcional)."},
"aiToolSearchLibraryResolutionParamDesc":{"message":"La resolución del video a buscar (por ejemplo, '4k', '1080p'). (Opcional)."},
"aiToolSearchLibraryContainerParamDesc":{"message":"El formato contenedor del video a buscar (por ejemplo, 'mkv', 'mp4'). (Opcional)."},
"aiToolNavigateToPageDesc":{"message":"Navega al usuario a una página específica de la interfaz de la aplicación."},
"aiToolNavigateToPagePageParamDesc":{"message":"El nombre de la página a la que navegar, por ejemplo: 'movies', 'series', 'stats', 'favorites', 'history', 'recommendations', 'photos', 'providers', 'm3u-generator' o 'music'."},
"aiToolGetUserStatsDesc":{"message":"Obtiene y muestra las estadísticas de la biblioteca del usuario, como el número total de películas, series y artistas únicos."},
"aiToolShowItemDetailsDesc":{"message":"Muestra la página de detalles de una película o serie específica por su título y tipo."},
"aiToolShowItemDetailsTitleParamDesc":{"message":"El título exacto de la película o serie."},
"aiToolShowItemDetailsTypeParamDesc":{"message":"El tipo de contenido. Debe ser 'movie' o 'series'."},
"aiToolAddToPlaylistDesc":{"message":"Añade una película o serie a la lista de reproducción actual del usuario para transmitirla a un servidor PHP configurado."},
"aiToolAddToPlaylistTitleParamDesc":{"message":"El título de la película o serie a añadir."},
"aiToolAddToPlaylistTypeParamDesc":{"message":"El tipo de contenido. Debe ser 'movie' o 'series'."},
"aiToolDownloadSingleMovieM3UDesc":{"message":"Genera y descarga un archivo de lista de reproducción M3U para una única película disponible localmente."},
"aiToolDownloadSingleMovieM3UTitleParamDesc":{"message":"El título de la película para la que se generará el M3U."},
"aiToolDownloadSingleMovieM3UYearParamDesc":{"message":"El año de lanzamiento de la película (opcional, para mayor precisión)."},
"aiToolDownloadSeriesSeasonM3UDesc":{"message":"Genera y descarga un archivo de lista de reproducción M3U para una temporada específica de una serie disponible localmente."},
"aiToolDownloadSeriesSeasonM3UTitleParamDesc":{"message":"El título de la serie."},
"aiToolDownloadSeriesSeasonM3USeasonParamDesc":{"message":"El número de la temporada a descargar."},
"aiToolDownloadSeriesSeasonM3UYearParamDesc":{"message":"El año de lanzamiento de la serie (opcional)."},
"aiToolCheckAndDownloadDesc":{"message":"Comprueba la disponibilidad de una lista de títulos de películas o series en los servidores locales del usuario y, si se encuentran, genera y descarga un archivo de lista de reproducción M3U con los streams encontrados."},
"aiToolCheckAndDownloadTitlesParamDesc":{"message":"Una matriz de títulos de películas o series para buscar y descargar."},
"aiToolCheckAndDownloadTypeParamDesc":{"message":"El tipo de contenido de la lista. Debe ser 'movie' o 'series'."},
"aiToolCheckAndDownloadFilenameParamDesc":{"message":"El nombre del archivo M3U a descargar (por ejemplo, 'MiLista.m3u'). Si no se proporciona, se usará un nombre por defecto."},
"aiToolToggleFavoriteDesc":{"message":"Añade o quita una película o serie de la lista de favoritos del usuario."},
"aiToolToggleFavoriteTitleParamDesc":{"message":"El título de la película o serie."},
"aiToolToggleFavoriteTypeParamDesc":{"message":"El tipo de contenido. Debe ser 'movie' o 'series'."},
"aiToolGetRecommendationsDesc":{"message":"Genera y muestra una lista de recomendaciones de películas o series basadas en el historial de visualización y los favoritos del usuario."},
"aiToolApplyFiltersDesc":{"message":"Aplica filtros a la vista actual de películas o series, permitiendo refinar los resultados por tipo, género, año y orden de clasificación."},
"aiToolApplyFiltersTypeParamDesc":{"message":"El tipo de contenido al que aplicar los filtros. Debe ser 'movie' o 'series'."},
"aiToolApplyFiltersGenreParamDesc":{"message":"El nombre del género por el que filtrar (por ejemplo, 'Acción', 'Drama')."},
"aiToolApplyFiltersYearParamDesc":{"message":"El año de lanzamiento por el que filtrar (por ejemplo, '2023')."},
"aiToolApplyFiltersSortParamDesc":{"message":"El criterio de ordenación para los resultados. Valores válidos: 'popularity.desc' (populares), 'vote_average.desc' (mejor valoradas), 'release_date.desc' (recientes para películas) o 'first_air_date.desc' (recientes para series)."},
"aiToolListAvailableMusicGenresDesc":{"message":"Lista todos los géneros musicales únicos disponibles en la biblioteca local del usuario."},
"aiToolSearchMusicByGenreDesc":{"message":"Busca artistas en la biblioteca musical del usuario que pertenezcan a un género específico."},
"aiToolSearchMusicByGenreNameParamDesc":{"message":"El nombre del género musical a buscar (ej. 'Rock', 'Pop', 'Jazz')."},
"aiToolPlayMusicByArtistDesc":{"message":"Abre el reproductor de música y comienza a reproducir canciones de un artista específico de la biblioteca del usuario."},
"aiToolPlayMusicByArtistNameParamDesc":{"message":"El nombre exacto del artista cuyas canciones se desean reproducir."},
"aiToolClearChatHistoryDesc":{"message":"Borra todo el historial de mensajes de la conversación actual con el asistente de IA."},
"aiToolDeleteDatabaseDesc":{"message":"Elimina toda la base de datos local de la extensión, incluyendo el contenido escaneado, los ajustes y los favoritos. Esta acción es irreversible y recargará la aplicación."},
"aiToolUpdateAllTokensDesc":{"message":"Inicia un escaneo completo de todos los servidores y bibliotecas de Plex asociados con los tokens configurados en la extensión. Actualiza todas las películas, series, artistas y fotos."},
"aiToolAddPlexTokenDesc":{"message":"Añade un nuevo token X-Plex a la configuración de la extensión, permitiendo que la aplicación escanee contenido de nuevos servidores Plex."},
"aiToolAddPlexTokenTokenParamDesc":{"message":"La cadena del token X-Plex que se desea añadir."},
"aiToolChangeRegionDesc":{"message":"Cambia la región utilizada para el descubrimiento de contenido en la API de TMDB. Esto afectará a los resultados mostrados en las secciones de películas y series, así como a los proveedores de streaming."},
"aiToolChangeRegionRegionParamDesc":{"message":"El código de país ISO 3166-1 de dos letras para la nueva región (por ejemplo, 'US' para Estados Unidos, 'ES' para España, 'MX' para México)."},
"aiToolClearAllFavoritesDesc":{"message":"Elimina todas las películas y series que el usuario ha marcado como favoritas."},
"aiToolClearViewingHistoryDesc":{"message":"Borra el historial de visualización del usuario de la página de historial."},
"aiToolClearRecommendationsViewDesc":{"message":"Limpia la vista de recomendaciones y elimina las recomendaciones almacenadas en caché."},
"aiToolSearchNotFound":{"message":"No se encontró '$query en tu biblioteca.","placeholders":{"query":{"content":"$1"}}},
"aiToolNavigateSuccess":{"message":"Navegado a la página de $page$.","placeholders":{"page":{"content":"$1"}}},
"aiToolNavigateError":{"message":"Error al navegar a la página de $page$.","placeholders":{"page":{"content":"$1"}}},
"aiToolStatsError":{"message":"Error al obtener estadísticas."},
"aiToolItemNotFound":{"message":"No se encontró el elemento '$title'.","placeholders":{"title":{"content":"$1"}}},
"aiToolShowItemDetailsSuccess":{"message":"Mostrando detalles de '$title'.","placeholders":{"title":{"content":"$1"}}},
"aiToolAddToPlaylistSuccess":{"message":"Añadido '$title' a la lista de reproducción.","placeholders":{"title":{"content":"$1"}}},
"aiToolFavoriteAdded":{"message":"Añadido '$title' a favoritos.","placeholders":{"title":{"content":"$1"}}},
"aiToolFavoriteRemoved":{"message":"Eliminado '$title' de favoritos.","placeholders":{"title":{"content":"$1"}}},
"aiToolSearchMusicByGenreNotFound":{"message":"No encontré artistas del género '$genre_name' en tu biblioteca.","placeholders":{"genre_name":{"content":"$1"}}},
"aiToolPlayMusicNotReady":{"message":"El reproductor de música no está listo. Asegúrate de que tu biblioteca de música de Plex haya sido escaneada."},
"aiToolPlayMusicArtistNotFound":{"message":"Artista '$artist_name' no encontrado.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolPlayMusicNoSongs":{"message":"No se encontraron canciones para '$artist_name'.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolPlayMusicSuccess":{"message":"Reproduciendo música de '$artist_name'.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolChatHistoryCleared":{"message":"Historial de chat borrado."},
"aiToolConfirmDeleteDatabase":{"message":"¿Estás seguro de que quieres eliminar la base de datos local? Esta acción es irreversible."},
"aiToolDeleteDatabaseCancelled":{"message":"Eliminación de la base de datos cancelada."},
"aiToolExecutionError":{"message":"Error al ejecutar la herramienta '$toolName': $message$","placeholders":{"toolName":{"content":"$1"},"message":{"content":"$2"}}},
"aiToolRecommendationsClearError":{"message":"Error al eliminar las recomendaciones: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolDatabaseDeleted":{"message":"Base de datos eliminada. La página se recargará."},
"aiToolDatabaseDeleteError":{"message":"Error al eliminar la base de datos: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolDatabaseDeleteBlocked":{"message":"La eliminación de la base de datos está bloqueada. Cierra otras pestañas de la aplicación."},
"aiToolUpdateAllTokensSuccess":{"message":"Todos los tokens se han actualizado correctamente."},
"aiToolUpdateAllTokensError":{"message":"Error al actualizar los tokens: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolAddPlexTokenSuccess":{"message":"Token de Plex añadido correctamente."},
"aiToolAddPlexTokenError":{"message":"Error al añadir el token de Plex: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolChangeRegionSuccess":{"message":"Región cambiada a $region$. El contenido se está actualizando.","placeholders":{"region":{"content":"$1"}}},
"aiToolChangeRegionError":{"message":"Error al cambiar la región: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolViewingHistoryCleared":{"message":"Historial de visualización borrado."},
"aiToolViewingHistoryClearError":{"message":"Error al borrar el historial de visualización: $message$","placeholders":{"message":{"content":"$1"}}},
"aiToolM3UDownloadStartedSingle":{"message":"Iniciando la descarga del M3U para '$movie_title'.","placeholders":{"movie_title":{"content":"$1"}}},
"aiToolM3UDownloadStartedSeason":{"message":"Iniciando la descarga del M3U para la temporada $1 de '$2'.","placeholders":{"1":{"content":"$1"},"2":{"content":"$2"}}},
"aiToolM3UNoTitlesProvided":{"message":"Por favor, proporciona una lista de títulos para crear la lista de reproducción."},
"aiToolM3UCheckingTitles":{"message":"Comprobando los títulos en tus servidores locales..."},
"aiToolM3UNoLocalMatchesForDownload":{"message":"No he encontrado ninguna de las películas o series de la lista en tus servidores locales."},
"aiToolM3UDownloadStarted":{"message":"¡Hecho! He encontrado $1 de los $2 títulos en tus servidores y he iniciado la descarga de la lista de reproducción M3U.","placeholders":{"1":{"content":"$1"},"2":{"content":"$2"}}},
"aiToolTrailerNotFoundSpecific":{"message":"Lo siento, no pude encontrar un tráiler disponible para '$title'.","placeholders":{"title":{"content":"$1"}}},
"aiSystemPrompt_v4":{
"message":"Eres un asistente virtual integrado en una extensión de Chrome que interactúa con servidores Plex y Jellyfin. Tu función principal es ayudar al usuario a buscar, gestionar, reproducir y descargar contenido multimedia, así como administrar ajustes personalizados.\n\nPRIORIDAD MÁXIMA: Siempre que la pregunta del usuario se refiera a contenido multimedia (películas, series, música), DEBES asumir que se refiere a su biblioteca local. Utiliza las herramientas para buscar en su base de datos ANTES de buscar en la web.\n\n🎯 Reglas generales de comportamiento:\nResponde siempre de forma clara, concisa y directa. Sé proactivo y proporciona toda la información relevante de una vez para evitar preguntas de seguimiento. Por ejemplo, al confirmar la disponibilidad de una serie, incluye los detalles de las temporadas.\n\nCompara la fecha actual con los resultados de búsqueda de Google cuando se te pida información externa para garantizar que esté actualizada.\n\nUsa los nombres exactos de los comandos definidos en el sistema (function.name) al llamar herramientas.\n\n📦 Funciones clave para contenido multimedia:\nPara generar un M3U para una única película, usa download_single_movie_m3u.\nPara descargar una temporada específica de una serie, usa download_series_season_m3u.\nPara múltiples títulos (películas o series completas), usa siempre check_and_download_titles_list.\nPara buscar contenido local: search_library.\nPara buscar en TMDB: search_tmdb_content.\nPara contenido en tendencia: get_trending_content.\nPara mostrar detalles de un título: show_item_details.\nPara añadir a la lista de reproducción PHP: add_to_playlist.\nPara comprobar disponibilidad local: check_local_availability.\nSi una serie está disponible localmente, informa de cuántas temporadas hay y en qué servidores usando get_local_series_seasons.\nPara ver recomendaciones: get_recommendations.\nPara aplicar filtros: apply_filters.\nPara ver historial o favoritos: view_history, view_favorites.\nPara marcar como favorito: toggle_favorite.\nPara reproducir tráiler: play_trailer.\n\n🎵 Funciones musicales:\nSi el usuario pide recomendaciones de géneros musicales de forma general (ej. 'recomiéndame un género para animarme'), primero usa list_available_music_genres para ver qué géneros tiene y basa tu recomendación en esa lista.\nPara listar todos los géneros musicales disponibles en la biblioteca: list_available_music_genres.\nPara buscar artistas por género: search_music_by_genre.\nPara reproducir canciones por título y/o artista: play_song.\nPara reproducir música de un artista: play_music_by_artist.\n\n🧰 Funciones de gestión y configuración:\nPara obtener estadísticas del usuario: get_user_stats.\nPara navegar a secciones específicas: navigate_to_page.\nPara actualizar tokens: update_all_tokens, add_plex_token.\nPara cambiar la región de contenido: change_region.\nPara exportar o importar la base de datos local: export_local_database, import_local_database.\nPara borrar la base de datos: delete_database.\nPara limpiar favoritos, historial o recomendaciones: clear_all_favorites, clear_viewing_history, clear_recommendations_view.\nPara cambiar el modo claro/oscuro: toggle_light_mode.\nPara mostrar u ocultar la sección de héroe: toggle_hero_section.\n\n⚠️ Consideraciones adicionales:\nPrioriza contenido disponible localmente. Usa check_local_availability antes de mostrar opciones de reproducción o descarga.\nSi una acción falla, informa de manera clara y sin rodeos.\nEvita repetir innecesariamente la solicitud del usuario, salvo que ayude a contextualizar la respuesta."
},
"backToProviders":{"message":"Volver a Proveedores"},
"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"}}},
"startingRetryPhase":{"message":"Iniciando fase de reintentos para $count$ secciones...","placeholders":{"count":{"content":"$1"}}},
"aiToolFindStreamingProvidersDesc":{"message":"Busca dónde ver una película o serie en servicios de streaming."},
"aiToolFindStreamingProvidersTitleParamDesc":{"message":"El título de la película o serie a buscar."},
"aiToolFindStreamingProvidersTypeParamDesc":{"message":"El tipo de contenido (película o serie)."},
"aiToolFindStreamingProvidersYearParamDesc":{"message":"El año de lanzamiento del contenido (opcional)."},
"aiToolNoStreamingProviders":{"message":"No se encontraron proveedores de streaming para {title}."},
"aiToolStreamingProvidersFound":{"message":"{title} está disponible en los siguientes servicios: {providers}."},
"aiToolStreamingProviderError":{"message":"Error al buscar proveedores de streaming: {message}."},
"aiToolGetLocalSeriesSeasonsDesc":{"message":"Comprueba si una serie de TV está disponible localmente y devuelve un desglose detallado de las temporadas disponibles en cada servidor."},
"aiToolGetLocalSeriesSeasonsTitleParamDesc":{"message":"El título de la serie a comprobar."},
"aiToolGetLocalSeriesSeasonsYearParamDesc":{"message":"El año de lanzamiento de la serie (opcional para mayor precisión)."},
"aiToolLocalSeriesNoSeasons":{"message":"La serie '$series_title' está en tu biblioteca, pero no se encontraron detalles de las temporadas.","placeholders":{"series_title":{"content":"$1"}}},
"artist":{"message":"Artista"},
"tracks":{"message":"pistas"},
"noSongsFound":{"message":"No se encontraron canciones para este artista."},
"durationMin":{"message":"Duración (Min)"},
"score":{"message":"Puntuación"},
"searchGenre":{"message":"Buscar género..."},
"searchArtists":{"message":"Buscar artistas..."},
"preparingMusicLibrary":{"message":"Preparando tu biblioteca musical..."},
"preparingMusicLibraryDesc":{"message":"Este proceso único puede tardar unos minutos si tienes muchos artistas."},
"artistsProgress":{"message":"0 / 0 artistas"},
"starting":{"message":"Iniciando..."},
"artistName":{"message":"Nombre del Artista"},
"playPause":{"message":"Reproducir/Pausar"},
"noLocalFilesFound":{"message":"No se encontraron archivos locales para este título."},