{
    "appName": { "message": "CinePlex" },
    "appDescription": { "message": "Analisa servidores Plex para encontrar conteúdo e o exibe na interface" },
    "appTagline": { "message": "Filmes, Séries e Música" },
    "appLocaleCode": { "message": "pt-BR" },
    "toggleNavigation": { "message": "Alternar Navegação" },
    "searchPlaceholder": { "message": "Pesquisar filmes ou séries..." },
    "openMusicPlayer": { "message": "Abrir Player de Música" },
    "settings": { "message": "Configurações" },
    "navMovies": { "message": "Filmes" },
    "navSeries": { "message": "Séries" },
    "navProviders": { "message": "Provedores" },
    "navPhotos": { "message": "Fotos" },
    "navStats": { "message": "Estatísticas" },
    "navFavorites": { "message": "Favoritos" },
    "navHistory": { "message": "Histórico" },
    "navRecommendations": { "message": "Recomendações" },
    "navMusic": { "message": "Música" },
    "heroWelcome": { "message": "" },
    "heroSubtitle": { "message": "Explore milhares de filmes e séries." },
    "addStream": { "message": "Adicionar Stream" },
    "moreInfo": { "message": "Mais Informações" },
    "popularMovies": { "message": "Filmes Populares" },
    "allGenres": { "message": "Todos os Gêneros" },
    "allYears": { "message": "Todos os Anos" },
    "sortPopular": { "message": "Mais Populares" },
    "sortTopRated": { "message": "Mais Bem Avaliados" },
    "sortRecent": { "message": "Mais Recentes" },
    "loadMore": { "message": "Carregar Mais" },
    "photosBreadcrumbHome": { "message": "Álbuns" },
    "selectServer": { "message": "Selecione um servidor" },
    "loading": { "message": "Carregando..." },
    "loadingLibraries": { "message": "Carregando bibliotecas..." },
    "photosEmptyState": { "message": "Nenhum álbum ou foto encontrado." },
    "photosEmptyStateSub": { "message": "Por favor, selecione um servidor ou certifique-se de que você tem uma biblioteca de fotos no Plex." },
    "statsTitle": { "message": "Estatísticas da Biblioteca" },
    "statsAllTokens": { "message": "Todos os Tokens" },
    "statsAnalyzing": { "message": "Analisando sua biblioteca..." },
    "statsActiveTokens": { "message": "Tokens Ativos" },
    "statsServersFound": { "message": "Servidores Encontrados" },
    "statsUniqueMovies": { "message": "Filmes Únicos" },
    "statsUniqueSeries": { "message": "Séries Únicas" },
    "statsUniqueArtists": { "message": "Artistas Únicos" },
    "statsTokenServers": { "message": "Servidores do Token" },
    "statsChartMoviesByGenre": { "message": "Conteúdo por Gênero (Filmes)" },
    "statsChartSeriesByGenre": { "message": "Conteúdo por Gênero (Séries)" },
    "statsChartByDecade": { "message": "Conteúdo por Década" },
    "recommendationsTitle": { "message": "Recomendações para Você" },
    "historyTitle": { "message": "Histórico de Visualização" },
    "clearHistory": { "message": "Limpar Tudo" },
    "consoleTitle": { "message": "Console de Análise do Plex" },
    "footerCredit": { "message": "Uma interface para o seu universo Plex." },
    "backButton": { "message": "Voltar" },
    "closeTrailer": { "message": "Fechar trailer" },
    "close": { "message": "Fechar" },
    "photoViewer": { "message": "Visualizador de Fotos" },
    "previous": { "message": "Anterior" },
    "next": { "message": "Próximo" },
    "notificationTemplateText": { "message": "Notificação" },
    "settingsTitleFull": { "message": "Configurações e Ajustes" },
    "settingsTabGeneral": { "message": "Geral" },
    "settingsTabPlex": { "message": "Plex" },
    "settingsTabJellyfin": { "message": "Jellyfin" },
    "settingsTabPhpGen": { "message": "Gerador de PHP" },
    "settingsTabData": { "message": "Dados" },
    "settingsApiServer": { "message": "Configuração de API e Servidor" },
    "settingsTmdbApiLabel": { "message": "Chave da API do TMDB (Opcional)" },
    "settingsTmdbApiPlaceholder": { "message": "Usará a chave padrão se deixado em branco" },
    "openaiApiKey": { "message": "Chave da API OpenAI" },
    "settingsTmdbLangLabel": { "message": "Idioma para TMDB e Interface" },
    "settingsPhpUrlLabel": { "message": "URL do Servidor para Adicionar Streams" },
    "settingsPhpUrlPlaceholder": { "message": "https://seu-servidor.com/caminho/para/script.php" },
    "settingsInterface": { "message": "Interface" },
    "settingsLightTheme": { "message": "Modo Claro" },
    "settingsShowHero": { "message": "Mostrar seção de boas-vindas 'Hero'" },
    "settingsScanContent": { "message": "Análise de Conteúdo" },
    "settingsScanDesc": { "message": "Selecione o que analisar e pressione o botão." },
    "settingsScanMovies": { "message": "Filmes" },
    "settingsScanShows": { "message": "Séries" },
    "settingsScanArtists": { "message": "Música" },
    "settingsScanPhotos": { "message": "Fotos" },
    "settingsSelectAll": { "message": "Selecionar Tudo" },
    "settingsStartScan": { "message": "Iniciar Análise" },
    "settingsPlexTokens": { "message": "Tokens do Plex" },
    "settingsPlexTokensDesc": { "message": "Edite a lista de tokens do Plex (formato JSON)." },
    "settingsSaveTokens": { "message": "Salvar Tokens" },
    "settingsJellyfinTitle": { "message": "Configurações do Jellyfin" },
    "settingsJellyfinDesc": { "message": "Adicione os detalhes do seu servidor Jellyfin para analisar seu conteúdo." },
    "jellyfinUrlLabel": { "message": "URL do Servidor Jellyfin" },
    "jellyfinUserLabel": { "message": "Nome de usuário" },
    "jellyfinPassLabel": { "message": "Senha" },
    "jellyfinConnectAndScan": { "message": "Conectar e Analisar" },
    "settingsPhpGenTitle": { "message": "Gerador de Script PHP para Servidor" },
    "settingsPhpFileOptions": { "message": "Opções de Arquivo" },
    "settingsPhpSavePathLabel": { "message": "Caminho para Salvar no Servidor" },
    "settingsPhpSavePathPlaceholder": { "message": "Ex: /var/www/html/listas (em branco para a mesma pasta)" },
    "settingsPhpFilenameLabel": { "message": "Nome do Arquivo" },
    "settingsPhpFileAction": { "message": "Ação no Arquivo" },
    "settingsPhpActionAppend": { "message": "Anexar ao final do arquivo (cumulativo)" },
    "settingsPhpActionOverwrite": { "message": "Sobrescrever o arquivo (começar do zero)" },
    "settingsPhpSecurity": { "message": "Segurança (Opcional)" },
    "settingsPhpUseSecretKey": { "message": "Usar chave secreta (Recomendado)" },
    "settingsPhpSecretKeyPlaceholder": { "message": "Digite uma chave secreta segura" },
    "settingsPhpGeneratedCode": { "message": "Código Gerado" },
    "settingsPhpGeneratedPlaceholder": { "message": "O código PHP gerado aparecerá aqui." },
    "settingsGenerateScript": { "message": "Gerar Script" },
    "settingsCopyScript": { "message": "Copiar Script" },
    "settingsDataManagement": { "message": "Gerenciamento do Banco de Dados Local" },
    "settingsImportDb": { "message": "Importar BD de um Arquivo" },
    "settingsExportDb": { "message": "Exportar BD para um Arquivo" },
    "settingsClearContent": { "message": "Limpar Dados de Conteúdo Local" },
    "settingsClearContentDesc": { "message": "Esta ação excluirá filmes, séries e músicas do banco de dados local, mas não afetará seus favoritos ou configurações." },
    "settingsClose": { "message": "Fechar" },
    "settingsSave": { "message": "Salvar Configurações" },
    "musicSidenavTitle": { "message": "Música do Plex" },
    "musicAllServers": { "message": "Todos os Servidores" },
    "musicSearchArtistPlaceholder": { "message": "Pesquisar artista..." },
    "musicSearchDiscographyPlaceholder": { "message": "Pesquisar na discografia..." },
    "musicNothingPlaying": { "message": "Nada tocando" },
    "musicSelectSong": { "message": "Selecione uma música" },
    "musicToStart": { "message": "para começar a tocar" },
    "miniplayerDownloadSong": { "message": "Baixar música" },
    "miniplayerDownloadAlbum": { "message": "Baixar álbum M3U" },
    "miniplayerVolume": { "message": "Volume" },
    "miniplayerShuffle": { "message": "Aleatório" },
    "miniplayerEqualizer": { "message": "Equalizador" },
    "miniplayerOpenList": { "message": "Abrir lista" },
    "eqTitle": { "message": "Equalizador Gráfico" },
    "eqPresetsLabel": { "message": "Predefinições" },
    "eqPresetFlat": { "message": "Plano (Flat)" },
    "eqPresetRock": { "message": "Rock" },
    "eqPresetPop": { "message": "Pop" },
    "eqPresetJazz": { "message": "Jazz" },
    "eqPresetClassical": { "message": "Clássica" },
    "eqPresetBassBoost": { "message": "Reforço de Graves" },
    "eqPreampLabel": { "message": "Pré-amplificador" },
    "infoModalTitle": { "message": "Informações" },
    "infoModalFieldTitle": { "message": "Título:" },
    "infoModalFieldArtist": { "message": "Artista:" },
    "infoModalFieldAlbum": { "message": "Álbum:" },
    "infoModalFieldSong": { "message": "Música:" },
    "infoModalFieldYear": { "message": "Ano:" },
    "infoModalFieldGenre": { "message": "Gênero:" },
    "lang_en": { "message": "Inglês" },
    "lang_es": { "message": "Espanhol" },
    "lang_fr": { "message": "Francês" },
    "lang_de": { "message": "Alemão" },
    "lang_it": { "message": "Italiano" },
    "lang_pt": { "message": "Português" },
    "essentialFeaturesNotSupported": { "message": "Seu navegador não suporta recursos essenciais." },
    "dbAccessError": { "message": "Erro ao acessar o banco de dados local." },
    "dbUpdateNeeded": { "message": "O banco de dados precisa ser atualizado, por favor, recarregue a página." },
    "dbBlocked": { "message": "Por favor, feche outras abas desta aplicação para continuar." },
    "deletingContentData": { "message": "Excluindo dados de conteúdo local..." },
    "noContentDataToDelete": { "message": "Nenhum dado de conteúdo para excluir." },
    "contentDataDeleted": { "message": "Dados de conteúdo excluídos do IndexedDB." },
    "errorDeletingData": { "message": "Erro ao excluir dados: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailable": { "message": "Editor de texto não disponível." },
    "errorLoadingTokens": { "message": "Erro ao carregar tokens no editor." },
    "errorLoadingTokensMessage": { "message": "Erro ao carregar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailableToSave": { "message": "Editor não disponível para salvar." },
    "invalidJsonFormat": { "message": "Formato JSON inválido. Deve ser { \"tokens\": [...] }" },
    "tokensSaved": { "message": "Tokens salvos com sucesso." },
    "errorSavingTokens": { "message": "Erro ao salvar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "dbNotAvailable": { "message": "O IndexedDB não está disponível." },
    "dbExported": { "message": "Banco de dados exportado com sucesso." },
    "errorExportingDb": { "message": "Erro ao exportar banco de dados: $message$", "placeholders": { "message": { "content": "$1" } } },
    "invalidJsonFile": { "message": "O arquivo não contém um objeto JSON válido." },
    "noDataToImport": { "message": "O arquivo não contém dados para as seções atuais do BD." },
    "dbImported": { "message": "Banco de dados importado com sucesso." },
    "errorImportingDb": { "message": "Erro ao importar banco de dados: $message$", "placeholders": { "message": { "content": "$1" } } },
    "updatingView": { "message": "Atualizando a visualização com novos dados..." },
    "confirmClearContent": { "message": "Tem certeza de que deseja excluir os dados de conteúdo local (Filmes, Séries, Músicas, etc.)? Favoritos e Configurações NÃO serão excluídos." },
    "trailerNotFound": { "message": "Nenhum trailer encontrado para este título." },
    "confirmClearHistory": { "message": "Tem certeza de que deseja excluir todo o seu histórico de visualização? Esta ação não pode ser desfeita." },
    "historyCleared": { "message": "Histórico de visualização limpo." },
    "historyItemDeleted": { "message": "Item excluído do histórico." },
    "errorGeneratingScript": { "message": "Primeiro, gere um script para poder copiá-lo." },
    "scriptCopied": { "message": "Script PHP copiado para a área de transferência." },
    "errorCopyingScript": { "message": "Erro ao copiar o script." },
    "scriptGenerated": { "message": "Script PHP gerado." },
    "errorLoadingAlbum": { "message": "Erro ao carregar o álbum: $message$", "placeholders": { "message": { "content": "$1" } } },
    "noPhotoServerSelected": { "message": "Erro: Nenhum servidor de fotos foi selecionado." },
    "loadingGenres": { "message": "Carregando gêneros..." },
    "errorLoadingGenres": { "message": "Erro ao carregar" },
    "noContentFound": { "message": "Nenhum resultado encontrado." },
    "couldNotLoadContent": { "message": "Não foi possível carregar o conteúdo." },
    "noFavorites": { "message": "Você ainda não tem favoritos." },
    "errorLoadingFavorites": { "message": "Erro ao carregar os favoritos." },
    "historyEmpty": { "message": "Seu histórico está vazio." },
    "historyEmptySub": { "message": "Navegue e assista a conteúdos para que eles apareçam aqui." },
    "errorGeneratingRecommendations": { "message": "Erro ao gerar recomendações." },
    "noRecommendations": { "message": "Precisamos te conhecer melhor para dar recomendações!" },
    "errorGeneratingStats": { "message": "Erro ao gerar estatísticas." },
    "noServersForToken": { "message": "Nenhum servidor associado encontrado para este token." },
    "searchingActorContent": { "message": "Buscando conteúdo de $actorName$", "placeholders": { "actorName": { "content": "$1" } } },
    "errorLoadingActorContent": { "message": "Não foi possível carregar o conteúdo de $actorName$.", "placeholders": { "actorName": { "content": "$1" } } },
    "errorAddingStream": { "message": "Erro ao adicionar stream(s): $message$", "placeholders": { "message": { "content": "$1" } } },
    "phpUrlNotConfigured": { "message": "A URL do servidor PHP não está configurada. Por favor, configure-a nas Configurações." },
    "searchingStreams": { "message": "Buscando streams para \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "sendingStreams": { "message": "Enviando $count$ stream(s) para o servidor...", "placeholders": { "count": { "content": "$1" } } },
    "streamAddedSuccess": { "message": "Stream(s) adicionado(s) com sucesso." },
    "generatingM3U": { "message": "Gerando M3U para \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "m3uDownloaded": { "message": "M3U para \"$title$\" baixado.", "placeholders": { "title": { "content": "$1" } } },
    "errorGeneratingM3U": { "message": "Erro ao gerar M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
    "settingsSavedSuccess": { "message": "Configurações salvas com sucesso." },
    "errorSavingSettings": { "message": "Erro ao salvar as configurações no banco de dados." },
    "languageChangeReload": { "message": "Idioma alterado. A aplicação será recarregada agora." },
    "addedToFavorites": { "message": "Adicionado aos favoritos." },
    "removedFromFavorites": { "message": "Removido dos favoritos." },
    "plexScanInProgress": { "message": "A análise do Plex já está em andamento." },
    "plexScanStarting": { "message": "Iniciando análise do Plex..." },
    "noPlexTokens": { "message": "Nenhum token do Plex configurado." },
    "clearingSections": { "message": "Limpando seções: $sections$", "placeholders": { "sections": { "content": "$1" } } },
    "sectionsCleared": { "message": "Seções limpas." },
    "tokenFoundServers": { "message": "Token $token$... encontrou $count$ servidores.", "placeholders": { "token": { "content": "$1" }, "count": { "content": "$2" } } },
    "errorProcessingToken": { "message": "Erro ao processar o token $token$...: $message$", "placeholders": { "token": { "content": "$1" }, "message": { "content": "$2" } } },
    "initialScanPhaseComplete": { "message": "Fase de análise inicial concluída." },
    "retryPhaseFinished": { "message": "Fase de nova tentativa concluída." },
    "plexScanFinished": { "message": "Análise do Plex concluída. Atualizando conteúdo..." },
    "plexScanFatalError": { "message": "ERRO FATAL: $message$", "placeholders": { "message": { "content": "$1" } } },
    "errorDuringScan": { "message": "Erro durante a análise: $message$", "placeholders": { "message": { "content": "$1" } } },
    "scanCancelled": { "message": "Análise cancelada pelo usuário." },
    "scanCancelledInfo": { "message": "Análise cancelada." },
    "retyingSection": { "message": "Tentando novamente a seção \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "retrySuccess": { "message": "[SUCESSO] Nova tentativa de \"$title$\" concluída.", "placeholders": { "title": { "content": "$1" } } },
    "retryError": { "message": "[ERRO FINAL] A nova tentativa falhou para \"$title$\": $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
    "noRetriesPending": { "message": "Nenhuma nova tentativa pendente." },
    "startingRetryPhase": { "message": "Iniciando fase de nova tentativa para $count$ seções...", "placeholders": { "count": { "content": "$1" } } },
    "retryPhaseCancelled": { "message": "Fase de nova tentativa cancelada." },
    "errorInitializingMusicPlayer": { "message": "Erro ao inicializar o player de música." },
    "criticalErrorLoadingMusic": { "message": "Erro crítico ao carregar dados de música." },
    "errorLoadingArtists": { "message": "Erro ao carregar artistas." },
    "dbUnavailableError": { "message": "Erro: Banco de dados não disponível." },
    "updatingMusicData": { "message": "Atualizando dados de música..." },
    "musicDataUpdated": { "message": "Dados de música atualizados." },
    "errorFetchingArtistSongs": { "message": "Erro ao obter as músicas do artista." },
    "errorLoadingSongs": { "message": "Erro ao carregar as músicas." },
    "noArtistsFound": { "message": "Nenhum artista encontrado." },
    "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": "Carregando..." },
    "noSongsFound": { "message": "Nenhuma música encontrada." },
    "shuffleOn": { "message": "Modo aleatório ativado." },
    "shuffleOff": { "message": "Modo aleatório desativado." },
    "downloadingSong": { "message": "Iniciando download de \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "songDownloaded": { "message": "\"$title$\" baixado.", "placeholders": { "title": { "content": "$1" } } },
    "errorDownloadingSong": { "message": "Erro ao baixar \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "generatingAlbumM3U": { "message": "Gerando M3U para \"$artist$\"", "placeholders": { "artist": { "content": "$1" } } },
    "albumM3UGenerated": { "message": "M3U para o álbum \"$artist$\" gerado.", "placeholders": { "artist": { "content": "$1" } } },
    "playbackError": { "message": "Erro de reprodução" },
    "errorLabel": { "message": "Erro" },
    "reloadingPage": { "message": "Recarregando página..." },
    "viewed": { "message": "Visto" },
    "local": { "message": "Local" },
    "topRatedSort": {"message": "Mais Bem Avaliados"},
    "recentSort": {"message": "Recentes"},
    "popularSort": {"message": "Populares"},
    "moviesSectionTitle": {"message": "Filmes"},
    "seriesSectionTitle": {"message": "Séries"},
    "searchResultsFor": {"message": "Resultados para \"$query$\"", "placeholders": {"query": {"content": "$1"}}},
    "contentFrom": {"message": "Conteúdo de $actor$", "placeholders": {"actor": {"content": "$1"}}},
    "explore": {"message": "Explorar"},
    "noGenre": {"message": "Sem Categoria"},
    "synopsis": {"message": "Sinopse"},
    "noSynopsis": {"message": "Nenhuma sinopse disponível."},
    "director": {"message": "Diretor:"},
    "writer": {"message": "Roteirista:"},
    "viewOnImdb": {"message": "Ver no IMDb"},
    "watchTrailer": {"message": "Assistir ao Trailer"},
    "addToFavorites": {"message": "Favoritar"},
    "removeFromFavorites": {"message": "Desfavoritar"},
    "notAvailable": {"message": "Não Disponível"},
    "mainCast": {"message": "Elenco Principal"},
    "seasonsAndEpisodes": {"message": "Temporadas e Episódios"},
    "similarContent": {"message": "Conteúdo Similar"},
    "episodesCount": {"message": "$count$ Episódios", "placeholders": {"count": {"content": "$1"}}},
    "seasonsCount": {"message": "$count$ Temporadas", "placeholders": {"count": {"content": "$1"}}},
    "runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
    "noTrailerFound": {"message": "Nenhum trailer foi encontrado para este título."},
    "fatalInitError": {"message": "Erro Fatal de Inicialização"},
    "fatalInitErrorSub": {"message": "A aplicação não pôde ser carregada."},
    "invalidStreamInfo": {"message": "Informação inválida."},
    "dbUnavailableForStreams": {"message": "Banco de dados local não disponível."},
    "noPlexServersForStreams": {"message": "Nenhum servidor Plex."},
    "notFoundOnServers": {"message": "\"$query$\" não encontrado nos servidores.", "placeholders": {"query": {"content": "$1"}}},
    "relativeTime_justNow": { "message": "Agora mesmo" },
    "relativeTime_minutesAgo": { "message": "há $count$ minutos", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_hoursAgo": { "message": "há $count$ horas", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_yesterday": { "message": "Ontem" },
    "relativeTime_daysAgo": { "message": "há $count$ dias", "placeholders": { "count": { "content": "$1" } } },
    "errorLoadingDetails": { "message": "Erro ao Carregar Detalhes" },
    "errorLoadingLocalContent": { "message": "Erro ao carregar conteúdo local." },
    "errorServerResponse": { "message": "Resposta sem sucesso do servidor." },
    "errorPlexApi": { "message": "Erro $status$ da API do Plex.", "placeholders": { "status": { "content": "$1" } } },
    "errorParsingPlexXml": { "message": "Erro ao analisar o XML do Plex." },
    "untitled": { "message": "Sem título" },
    "itemCount": { "message": "$count$ itens", "placeholders": { "count": { "content": "$1" } } },
    "noPhotoServers": { "message": "Nenhum servidor de fotos" },
    "jellyfinScanInProgress": { "message": "A análise do Jellyfin já está em andamento." },
    "jellyfinScanning": { "message": "Analisando Jellyfin..." },
    "jellyfinMissingCredentials": { "message": "Por favor, complete a URL e o nome de usuário do Jellyfin." },
    "jellyfinConnecting": { "message": "Conectando ao Jellyfin em: $url$", "placeholders": { "url": { "content": "$1" } } },
    "jellyfinAuthFailed": { "message": "A autenticação do Jellyfin falhou: $message$", "placeholders": { "message": { "content": "$1" } } },
    "jellyfinAuthSuccess": { "message": "Autenticação do Jellyfin bem-sucedida." },
    "jellyfinFetchingLibraries": { "message": "Buscando bibliotecas..." },
    "jellyfinFetchFailed": { "message": "Falha ao buscar bibliotecas: $message$", "placeholders": { "message": { "content": "$1" } } },
    "jellyfinNoMediaLibraries": { "message": "Nenhuma biblioteca de filmes ou séries encontrada no Jellyfin." },
    "jellyfinLibrariesFound": { "message": "$count$ biblioteca(s) de mídia encontrada(s).", "placeholders": { "count": { "content": "$1" } } },
    "jellyfinLibraryScanSuccess": { "message": "[Sucesso] Análise de '$libraryName' concluída, $count$ títulos adicionados.", "placeholders": { "libraryName": { "content": "$1" }, "count": { "content": "$2" } } },
    "jellyfinLibraryScanFailed": { "message": "Falha ao analisar a biblioteca '$libraryName'.", "placeholders": { "libraryName": { "content": "$1" } } },
    "jellyfinScanSuccess": { "message": "Análise do Jellyfin concluída. Adicionados $movies$ filmes e $series$ séries.", "placeholders": { "movies": { "content": "$1" }, "series": { "content": "$2" } } },
    "noJellyfinCredentials": { "message": "Credenciais do Jellyfin não configuradas." },
    "notFoundOnJellyfin": { "message": "\"$query$\" não encontrado no Jellyfin.", "placeholders": { "query": { "content": "$1" } } },
    "notFoundOnAnyServer": { "message": "\"$query$\" não encontrado em nenhum servidor.", "placeholders": { "query": { "content": "$1" } } },
    "localOnPlex": { "message": "No Plex" },
    "searchOnPlex": { "message": "Pesquisar no Plex" },
    "jellyfinTitle": { "message": "Conteúdo do Jellyfin" },
    "noJellyfinContent": { "message": "Nenhum conteúdo do Jellyfin encontrado." },
    "noJellyfinContentSub": { "message": "Certifique-se de que você analisou seu servidor Jellyfin nas configurações." },
    "activityViewerTitle": { "message": "Visualizador de Atividade do Servidor" },
    "activitySelectServer": { "message": "Selecione um servidor" },
    "activityCheckBtn": { "message": "Atualizar" },
    "activityNoSessions": { "message": "Nenhuma sessão ativa neste servidor." },
    "activitySessionUser": { "message": "Usuário" },
    "activitySessionDevice": { "message": "Dispositivo" },
    "activitySessionContent": { "message": "Conteúdo" },
    "activitySessionState": { "message": "Estado" },
    "activitySessionIdentifier": { "message": "Identificador do Cliente" },
    "activityCopyID": { "message": "Copiar ID" },
    "activityError": { "message": "Não foi possível buscar a atividade do servidor." },
    "activityCopied": { "message": "Identificador copiado para a área de transferência!" },
    "activityCopyError": { "message": "Falha ao copiar o identificador." },
    "noProvidersFound": { "message": "Nenhum provedor encontrado." },
    "availableOnPlex": { "message": "Disponível no Plex" },
    "navM3uGenerator": { "message": "Gerador M3U" },
    "m3uGeneratorTitle": { "message": "Gerador de Lista de Reprodução M3U" },
    "selectAServer": { "message": "Selecione um servidor..." },
    "downloadM3u": { "message": "Baixar M3U" },
    "m3uGenerator": { "message": "Gerador M3U" },
    "selectServer": { "message": "Selecionar Servidor" },
    "selectLibraries": { "message": "Selecionar Bibliotecas" },
    "howToUse": { "message": "Como Usar" },
    "m3uInstruction1": { "message": "Escolha um servidor da lista." },
    "m3uInstruction2": { "message": "Selecione uma ou mais bibliotecas para incluir." },
    "m3uInstruction3": { "message": "Clique no botão de download." },
    "m3uInstruction4": { "message": "Importe o arquivo .m3u para o seu reprodutor compatível." },
    "settingsRegionLabel": { "message": "Região para descoberta de conteúdo" },
    "allRegions": { "message": "Todas as regiões" },
    "chatOpen": { "message": "Abrir chat" },
    "chatTitle": { "message": "Assistente de IA" },
    "chatClose": { "message": "X" },
    "chatPlaceholder": { "message": "Digite sua mensagem..." },
    "chatSend": { "message": "➤" },
    "chatGptError": { "message": "Desculpe, não consegui obter uma resposta. Por favor, tente novamente." },
    "chatWelcome": { "message": "Bem-vindo! Eu sou seu assistente CinePlex. Pergunte-me sobre filmes, séries ou qualquer outra coisa que você queira saber." },
    "chatApiKeyMissing": { "message": "A chave da API OpenAI não está definida. Configure-a nas configurações da extensão." },
    "chatApiInvalidResponse": { "message": "A API retornou uma resposta inválida. Por favor, tente novamente." },
    "chatApiError": { "message": "Erro ao se comunicar com o assistente de IA" },
    "downloadAll": { "message": "Baixar tudo" },
    "download": { "message": "Baixar" },
    "aiToolSearchLibraryDesc": { "message": "Pesquisa na biblioteca Plex por filmes ou séries." },
    "aiToolSearchLibraryQueryDesc": { "message": "O título a ser pesquisado." },
    "aiToolSearchLibraryTypeDesc": { "message": "O tipo de conteúdo a ser pesquisado (filme ou série)." },
    "aiToolNavigateToPageDesc": { "message": "Navega para uma página específica no aplicativo." },
    "aiToolNavigateToPagePageDesc": { "message": "A página para a qual navegar." },
    "aiToolGetUserStatsDesc": { "message": "Obtém estatísticas do usuário." },
    "aiToolShowItemDetailsDesc": { "message": "Mostra os detalhes de um filme ou série." },
    "aiToolShowItemDetailsTitleDesc": { "message": "O título do filme ou série." },
    "aiToolShowItemDetailsTypeDesc": { "message": "O tipo de conteúdo (filme ou série)." },
    "aiToolAddToPlaylistDesc": { "message": "Adiciona um filme ou série à lista de reprodução." },
    "aiToolAddToPlaylistTitleDesc": { "message": "O título do filme ou série." },
    "aiToolAddToPlaylistTypeDesc": { "message": "O tipo de conteúdo (filme ou série)." },
    "aiToolDownloadPlaylistDesc": { "message": "Baixa a lista de reprodução de um filme ou série." },
    "aiToolDownloadPlaylistTitleDesc": { "message": "O título do filme ou série." },
    "aiToolDownloadPlaylistTypeDesc": { "message": "O tipo de conteúdo (filme ou série)." },
    "aiToolToggleFavoriteDesc": { "message": "Adiciona ou remove um filme ou série dos favoritos." },
    "aiToolToggleFavoriteTitleDesc": { "message": "O título do filme ou série." },
    "aiToolToggleFavoriteTypeDesc": { "message": "O tipo de conteúdo (filme ou série)." },
    "aiToolGetRecommendationsDesc": { "message": "Obtém recomendações para o usuário." },
    "aiToolApplyFiltersDesc": { "message": "Aplica filtros à visualização atual." },
    "aiToolApplyFiltersTypeDesc": { "message": "O tipo de conteúdo a ser filtrado (filme ou série)." },
    "aiToolApplyFiltersGenreDesc": { "message": "O gênero pelo qual filtrar." },
    "aiToolApplyFiltersYearDesc": { "message": "O ano pelo qual filtrar." },
    "aiToolApplyFiltersSortDesc": { "message": "A ordem na qual os resultados devem ser classificados." },
    "aiToolPlayMusicByArtistDesc": { "message": "Toca música de um artista específico." },
    "aiToolPlayMusicByArtistNameDesc": { "message": "O nome do artista." },
    "aiToolClearChatHistoryDesc": { "message": "Limpa o histórico de bate-papo." },
    "aiToolDeleteDatabaseDesc": { "message": "Exclui o banco de dados da extensão." },
    "aiToolUpdateAllTokensDesc": { "message": "Atualiza todos os tokens do Plex." },
    "aiToolAddPlexTokenDesc": { "message": "Adiciona um novo token do Plex." },
    "aiToolAddPlexTokenTokenDesc": { "message": "O token do Plex a ser adicionado." },
    "aiToolChangeRegionDesc": { "message": "Altera a região para descoberta de conteúdo." },
    "aiToolChangeRegionRegionDesc": { "message": "O código de região de duas letras (por exemplo, US, ES, FR)." },
    "aiToolClearAllFavoritesDesc": { "message": "Limpa todos os favoritos do usuário." },
    "aiToolClearRecommendationsViewDesc": { "message": "Limpa a visualização de recomendações." },
    "aiToolFavoritesCleared": { "message": "Favoritos limpos." },
    "aiToolFavoritesClearError": { "message": "Erro ao limpar favoritos: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiToolRecommendationsCleared": { "message": "Recomendações limpas." },
    "aiToolRecommendationsClearError": { "message": "Erro ao limpar recomendações: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiToolDatabaseDeleted": { "message": "Banco de dados excluído. A página será recarregada agora." },
    "aiToolDatabaseDeleteError": { "message": "Erro ao excluir o banco de dados: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiToolDatabaseDeleteBlocked": { "message": "A exclusão do banco de dados está bloqueada. Feche outras abas do aplicativo." },
    "aiToolUpdateAllTokensSuccess": { "message": "Todos os tokens foram atualizados com sucesso." },
    "aiToolUpdateAllTokensError": { "message": "Erro ao atualizar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiToolAddPlexTokenSuccess": { "message": "Token do Plex adicionado com sucesso." },
    "aiToolAddPlexTokenError": { "message": "Erro ao adicionar token do Plex: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiToolChangeRegionSuccess": { "message": "Região alterada para $region$. O conteúdo está sendo atualizado.", "placeholders": { "region": { "content": "$1" } } },
    "aiToolChangeRegionError": { "message": "Erro ao alterar a região: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aiSystemPrompt_v2": { "message": "Você é um assistente especialista em filmes e séries chamado CinePlex. Sua função principal é ajudar os usuários a interagir com sua biblioteca de mídia e descobrir conteúdo. Siga estas regras: 1. Quando um usuário pedir uma lista ou recomendação (por exemplo, 'diga-me 5 filmes de terror', 'as melhores séries de ficção científica'), você DEVE usar seu próprio conhecimento para gerar a lista e apresentá-la em formato numerado ou com marcadores. NÃO use ferramentas para esta tarefa inicial de descoberta. 2. Depois de apresentar a lista, se o usuário pedir para você baixá-la, verificá-la ou criar um M3U, ENTÃO e somente então, use a ferramenta 'generate_m3u_from_titles_list', passando a ela os títulos que você acabou de mencionar. 3. Para qualquer outra ação, como navegar no aplicativo, obter estatísticas ou pesquisar um TÍTULO ESPECÍFICO na biblioteca do usuário, use as ferramentas apropriadas. Seja conciso, amigável e eficiente." },
    "aiToolSearchLibraryDesc_v2": { "message": "A lista de títulos a processar está vazia." },
    "aiToolM3UNoLocalMatches": { "message": "Parece que você não tem nenhum dos títulos dessa lista em seus servidores locais." },
    "aiToolGenerateM3UTypeDesc": { "message": "O tipo de conteúdo a ser pesquisado: 'movie' ou 'series'." },
    "aiToolGenerateM3UFilenameDesc": { "message": "Um nome de arquivo personalizado para a lista de reprodução M3U baixada." },
    "aiToolGenerateM3USuccess": { "message": "Entendido! Estou gerando uma lista de reprodução M3U com $1 itens. O download deve começar em breve.", "placeholders": { "1": { "content": "$1" } } },
    "aiSystemPrompt_v3": { "message": "Você é um assistente especialista em filmes e séries chamado CinePlex. Sua função principal é ajudar os usuários a descobrir conteúdo e interagir com sua biblioteca. Siga estas regras rigorosamente: 1. **NUNCA** afirme ter realizado uma ação se não tiver usado uma ferramenta para isso. Por exemplo, não diga 'eu baixei X' se não tiver usado a ferramenta de download. 2. Para solicitações de recomendações ou listas (por exemplo, 'me dê 5 filmes de terror'), use seu próprio conhecimento para gerar a lista. Apresente-a em formato numerado ou com marcadores. Após mostrar a lista, pergunte proativamente ao usuário se ele deseja que você verifique a disponibilidade em seus servidores locais e crie um arquivo M3U. 3. **SOMENTE** se o usuário confirmar que deseja verificar ou baixar a lista, use a ferramenta `check_and_download_titles_list`. Não a use sem confirmação explícita. 4. Para qualquer outra ação, como navegar, obter estatísticas ou pesquisar um título específico, use as ferramentas apropriadas. Seja sempre conciso, amigável e eficiente." },
    "aiToolCheckAndDownloadDesc": { "message": "Verifica uma lista de títulos de filmes ou séries nos servidores locais do usuário e, se encontrar correspondências, gera e baixa um arquivo de lista de reprodução M3U." },
    "aiToolGenerateM3UFromTitlesTitlesDesc": { "message": "Uma lista de títulos de filmes ou séries para verificar e baixar." },
    "aiToolM3UNoTitlesProvided": { "message": "Forneça uma lista de títulos para criar a lista de reprodução." },
    "aiToolM3UCheckingTitles": { "message": "Verificando os títulos em seus servidores locais..." },
    "aiToolM3UNoLocalMatchesForDownload": { "message": "Não consegui encontrar nenhum dos filmes ou séries da lista em seus servidores locais." },
    "aiToolM3UDownloadStarted": { "message": "Feito! Encontrei $1 dos $2 títulos em seus servidores e iniciei o download da lista de reprodução M3U.", "placeholders": { "1": { "content": "$1" }, "2": { "content": "$2" } } }
}