CinePlex/_locales/pt/messages.json

449 lines
40 KiB
JSON
Raw Permalink Normal View History

2025-07-05 10:04:41 +02:00
{
"appName": { "message": "CinePlex" },
2025-08-02 09:57:03 +02:00
"appDescription": { "message": "Examina servidores Plex em busca de conteúdo e o exibe na interface" },
2025-07-05 10:04:41 +02:00
"appTagline": { "message": "Filmes, Séries e Música" },
2025-08-02 09:57:03 +02:00
"appLocaleCode": { "message": "pt-BR" },
"toggleNavigation": { "message": "Alternar navegação" },
2025-07-05 10:04:41 +02:00
"searchPlaceholder": { "message": "Pesquisar filmes ou séries..." },
2025-08-02 09:57:03 +02:00
"openMusicPlayer": { "message": "Abrir reprodutor de música" },
"settings": { "message": "Configurações" },
2025-07-05 10:04:41 +02:00
"navMovies": { "message": "Filmes" },
"navSeries": { "message": "Séries" },
2025-08-02 09:57:03 +02:00
"navProviders": { "message": "Provedores" },
2025-07-05 10:04:41 +02:00
"navPhotos": { "message": "Fotos" },
"navStats": { "message": "Estatísticas" },
"navFavorites": { "message": "Favoritos" },
"navHistory": { "message": "Histórico" },
"navRecommendations": { "message": "Recomendações" },
"navMusic": { "message": "Música" },
2025-08-02 09:57:03 +02:00
"navM3uGenerator": { "message": "Gerador de M3U" },
2025-08-02 14:26:57 +02:00
"heroWelcome": { "message": "" },
2025-07-05 10:04:41 +02:00
"heroSubtitle": { "message": "Explore milhares de filmes e séries." },
2025-08-02 09:57:03 +02:00
"addStream": { "message": "Adicionar stream" },
2025-07-30 20:47:55 +02:00
"moreInfo": { "message": "Mais informações" },
2025-08-02 09:57:03 +02:00
"popularMovies": { "message": "Filmes populares" },
"allGenres": { "message": "Todos os gêneros" },
2025-07-30 20:47:55 +02:00
"allYears": { "message": "Todos os anos" },
"sortPopular": { "message": "Mais populares" },
2025-08-02 09:57:03 +02:00
"sortTopRated": { "message": "Mais bem avaliados" },
2025-07-30 20:47:55 +02:00
"sortRecent": { "message": "Mais recentes" },
"loadMore": { "message": "Carregar mais" },
2025-07-05 10:04:41 +02:00
"photosBreadcrumbHome": { "message": "Álbuns" },
2025-08-02 09:57:03 +02:00
"selectServer": { "message": "Selecione um servidor" },
"loading": { "message": "Carregando..." },
"loadingLibraries": { "message": "Carregando bibliotecas..." },
"photosEmptyState": { "message": "Nenhum álbum ou foto encontrado." },
"photosEmptyStateSub": { "message": "Selecione um servidor ou verifique se 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 de 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 verificação do Plex" },
2025-07-05 10:04:41 +02:00
"footerCredit": { "message": "Uma interface para o seu universo Plex." },
"closeTrailer": { "message": "Fechar trailer" },
"close": { "message": "Fechar" },
2025-07-30 20:47:55 +02:00
"photoViewer": { "message": "Visualizador de fotos" },
2025-07-05 10:04:41 +02:00
"previous": { "message": "Anterior" },
"next": { "message": "Próximo" },
"notificationTemplateText": { "message": "Notificação" },
2025-08-02 09:57:03 +02:00
"settingsTitleFull": { "message": "Configurações e ajustes" },
2025-07-05 10:04:41 +02:00
"settingsTabGeneral": { "message": "Geral" },
"settingsTabPlex": { "message": "Plex" },
"settingsTabJellyfin": { "message": "Jellyfin" },
2025-08-02 09:57:03 +02:00
"settingsTabPhpGen": { "message": "Gerador de PHP" },
2025-07-05 10:04:41 +02:00
"settingsTabData": { "message": "Dados" },
2025-08-02 09:57:03 +02:00
"settingsApiServer": { "message": "Configurações de API e servidor" },
"settingsTmdbApiLabel": { "message": "Chave de API do TMDB (opcional)" },
"settingsTmdbApiPlaceholder": { "message": "A chave padrão será usada se o campo for deixado em branco" },
"settingsGoogleApiLabel": { "message": "Chave de API do Google Gemini (opcional)" },
2025-07-30 20:47:55 +02:00
"settingsGoogleApiPlaceholder": { "message": "Necessária para usar o assistente de IA" },
"settingsRegionLabel": { "message": "Região para descoberta de conteúdo" },
"allRegions": { "message": "Todas as regiões" },
2025-08-02 09:57:03 +02:00
"settingsPhpUrlLabel": { "message": "URL do servidor para adicionar streams" },
"settingsPhpUrlPlaceholder": { "message": "https://seu-servidor.com/caminho/para/script.php" },
2025-07-05 10:04:41 +02:00
"settingsInterface": { "message": "Interface" },
2025-08-02 09:57:03 +02:00
"settingsLightTheme": { "message": "Modo claro" },
"settingsShowHero": { "message": "Mostrar seção de boas-vindas 'Hero'" },
"settingsScanContent": { "message": "Verificação de conteúdo" },
"settingsScanDesc": { "message": "Selecione o que verificar e pressione o botão." },
2025-07-05 10:04:41 +02:00
"settingsScanMovies": { "message": "Filmes" },
"settingsScanShows": { "message": "Séries" },
"settingsScanArtists": { "message": "Música" },
"settingsScanPhotos": { "message": "Fotos" },
2025-08-02 09:57:03 +02:00
"settingsSelectAll": { "message": "Selecionar tudo" },
"settingsStartScan": { "message": "Iniciar verificação" },
"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 verificar o conteúdo dele." },
"jellyfinUrlLabel": { "message": "URL do servidor Jellyfin" },
"jellyfinUserLabel": { "message": "Nome de usuário" },
"jellyfinPassLabel": { "message": "Senha" },
"jellyfinConnectAndScan": { "message": "Conectar e verificar" },
"settingsPhpGenTitle": { "message": "Gerador de script PHP para servidor" },
"settingsPhpFileOptions": { "message": "Opções de arquivo" },
"settingsPhpSavePathLabel": { "message": "Caminho para salvar no servidor" },
2025-07-05 10:04:41 +02:00
"settingsPhpSavePathPlaceholder": { "message": "Ex: /var/www/html/listas (em branco para a mesma pasta)" },
2025-08-02 09:57:03 +02:00
"settingsPhpFilenameLabel": { "message": "Nome do arquivo" },
"settingsPhpFileAction": { "message": "Ação do arquivo" },
"settingsPhpActionAppend": { "message": "Anexar ao final do arquivo (cumulativo)" },
"settingsPhpActionOverwrite": { "message": "Substituir 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" },
2025-07-05 10:04:41 +02:00
"settingsPhpGeneratedPlaceholder": { "message": "O código PHP gerado aparecerá aqui." },
2025-08-02 09:57:03 +02:00
"settingsGenerateScript": { "message": "Gerar script" },
"settingsCopyScript": { "message": "Copiar script" },
"settingsDataManagement": { "message": "Gerenciamento do banco de dados local" },
"settingsImportDb": { "message": "Importar banco de dados de um arquivo" },
"settingsExportDb": { "message": "Exportar banco de dados 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 suas configurações." },
2025-07-05 10:04:41 +02:00
"settingsClose": { "message": "Fechar" },
2025-08-02 09:57:03 +02:00
"settingsSave": { "message": "Salvar configurações" },
2025-07-05 10:04:41 +02:00
"musicSidenavTitle": { "message": "Música do Plex" },
2025-08-02 09:57:03 +02:00
"musicAllServers": { "message": "Todos os servidores" },
"musicSearchArtistPlaceholder": { "message": "Pesquisar um artista..." },
2025-07-05 10:04:41 +02:00
"musicSearchDiscographyPlaceholder": { "message": "Pesquisar na discografia..." },
2025-08-02 09:57:03 +02:00
"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" },
2025-07-05 10:04:41 +02:00
"miniplayerVolume": { "message": "Volume" },
"miniplayerShuffle": { "message": "Aleatório" },
"miniplayerEqualizer": { "message": "Equalizador" },
"miniplayerOpenList": { "message": "Abrir lista" },
2025-08-02 09:57:03 +02:00
"eqTitle": { "message": "Equalizador gráfico" },
2025-07-05 10:04:41 +02:00
"eqPresetsLabel": { "message": "Predefinições" },
2025-07-30 20:47:55 +02:00
"eqPresetFlat": { "message": "Plano" },
2025-07-05 10:04:41 +02:00
"eqPresetRock": { "message": "Rock" },
"eqPresetPop": { "message": "Pop" },
"eqPresetJazz": { "message": "Jazz" },
2025-08-02 09:57:03 +02:00
"eqPresetClassical": { "message": "Clássico" },
"eqPresetBassBoost": { "message": "Reforço de graves" },
2025-07-05 10:04:41 +02:00
"eqPreampLabel": { "message": "Pré-amplificador" },
"infoModalTitle": { "message": "Informações" },
"infoModalFieldTitle": { "message": "Título:" },
"infoModalFieldArtist": { "message": "Artista:" },
"infoModalFieldAlbum": { "message": "Álbum:" },
2025-08-02 09:57:03 +02:00
"infoModalFieldSong": { "message": "Música:" },
2025-07-05 10:04:41 +02:00
"infoModalFieldYear": { "message": "Ano:" },
2025-08-02 09:57:03 +02:00
"infoModalFieldGenre": { "message": "Gênero:" },
2025-07-05 10:04:41 +02:00
"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" },
2025-08-02 09:57:03 +02:00
"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, recarregue a página." },
"dbBlocked": { "message": "Feche outras abas deste aplicativo 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" } } },
2025-07-05 10:04:41 +02:00
"aceEditorNotAvailable": { "message": "Editor de texto não disponível." },
2025-07-30 20:47:55 +02:00
"errorLoadingTokens": { "message": "Erro ao carregar tokens para edição." },
2025-07-05 10:04:41 +02:00
"errorLoadingTokensMessage": { "message": "Erro ao carregar tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"aceEditorNotAvailableToSave": { "message": "Editor não disponível para salvar." },
2025-07-05 10:04:41 +02:00
"invalidJsonFormat": { "message": "Formato JSON inválido. Deve ser { \"tokens\": [...] }" },
2025-08-02 09:57:03 +02:00
"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 o 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 banco de dados." },
"dbImported": { "message": "Banco de dados importado com sucesso." },
"errorImportingDb": { "message": "Erro ao importar o 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 limpar 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." },
2025-07-05 10:04:41 +02:00
"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." },
2025-08-02 09:57:03 +02:00
"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..." },
2025-07-05 10:04:41 +02:00
"errorLoadingGenres": { "message": "Erro ao carregar" },
2025-08-02 09:57:03 +02:00
"noContentFound": { "message": "Nenhum resultado encontrado." },
2025-07-05 10:04:41 +02:00
"couldNotLoadContent": { "message": "Não foi possível carregar o conteúdo." },
2025-08-02 09:57:03 +02:00
"noFavorites": { "message": "Você ainda não tem favoritos." },
"errorLoadingFavorites": { "message": "Erro ao carregar os favoritos." },
"historyEmpty": { "message": "Seu histórico está vazio." },
"historyEmptySub": { "message": "Explore e assista a conteúdo para que ele apareça aqui." },
2025-07-05 10:04:41 +02:00
"errorGeneratingRecommendations": { "message": "Erro ao gerar recomendações." },
2025-08-02 09:57:03 +02:00
"noRecommendations": { "message": "Precisamos conhecê-lo melhor para dar recomendações!" },
2025-07-05 10:04:41 +02:00
"errorGeneratingStats": { "message": "Erro ao gerar estatísticas." },
2025-08-02 09:57:03 +02:00
"noServersForToken": { "message": "Nenhum servidor associado encontrado para este token." },
"searchingActorContent": { "message": "Pesquisando 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" } } },
2025-07-05 10:04:41 +02:00
"errorAddingStream": { "message": "Erro ao adicionar stream(s): $message$", "placeholders": { "message": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"phpUrlNotConfigured": { "message": "A URL do servidor PHP não está configurada. Configure-a nas Configurações." },
"searchingStreams": { "message": "Pesquisando streams para \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
"sendingStreams": { "message": "Enviando $count$ stream(s) para o servidor...", "placeholders": { "count": { "content": "$1" } } },
2025-07-05 10:04:41 +02:00
"streamAddedSuccess": { "message": "Stream(s) adicionado(s) com sucesso." },
2025-08-02 09:57:03 +02:00
"generatingM3U": { "message": "Gerando M3U para \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
"m3uDownloaded": { "message": "\"$title$\" baixado.", "placeholders": { "title": { "content": "$1" } } },
2025-07-05 10:04:41 +02:00
"errorGeneratingM3U": { "message": "Erro ao gerar M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"settingsSavedSuccess": { "message": "Configurações salvas com sucesso." },
"errorSavingSettings": { "message": "Erro ao salvar as configurações no banco de dados." },
"languageChangeReload": { "message": "Idioma alterado. O aplicativo será recarregado agora." },
2025-07-05 10:04:41 +02:00
"addedToFavorites": { "message": "Adicionado aos favoritos." },
"removedFromFavorites": { "message": "Removido dos favoritos." },
2025-08-02 09:57:03 +02:00
"plexScanInProgress": { "message": "A verificação do Plex já está em andamento." },
"plexScanStarting": { "message": "Iniciando a verificação do Plex..." },
"noPlexTokens": { "message": "Nenhum token do Plex configurado." },
"clearingSections": { "message": "Limpando seções: $sections$", "placeholders": { "sections": { "content": "$1" } } },
"initialScanPhaseComplete": { "message": "Fase de verificação inicial concluída." },
"retryPhaseFinished": { "message": "Fase de nova tentativa concluída." },
"plexScanFinished": { "message": "Verificação concluída. Atualizando conteúdo..." },
"scanCancelled": { "message": "Verificação cancelada pelo usuário." },
"scanCancelledInfo": { "message": "Verificação cancelada." },
"errorInitializingMusicPlayer": { "message": "Erro ao inicializar o reprodutor de música." },
"criticalErrorLoadingMusic": { "message": "Erro crítico ao carregar os dados de música." },
"errorLoadingArtists": { "message": "Erro ao carregar os artistas." },
"dbUnavailableError": { "message": "Erro: banco de dados indisponível." },
"updatingMusicData": { "message": "Atualizando dados de música..." },
2025-07-05 10:04:41 +02:00
"musicDataUpdated": { "message": "Dados de música atualizados." },
2025-08-02 09:57:03 +02:00
"errorFetchingArtistSongs": { "message": "Erro ao buscar as músicas do artista." },
"errorLoadingSongs": { "message": "Erro ao carregar as músicas." },
"noArtistsFound": { "message": "Nenhum artista encontrado." },
2025-07-05 10:04:41 +02:00
"shuffleOn": { "message": "Modo aleatório ativado." },
"shuffleOff": { "message": "Modo aleatório desativado." },
"playbackError": { "message": "Erro de reprodução" },
"errorLabel": { "message": "Erro" },
2025-08-02 09:57:03 +02:00
"reloadingPage": { "message": "Recarregando a página..." },
2025-07-05 10:04:41 +02:00
"viewed": { "message": "Visto" },
"local": { "message": "Local" },
2025-08-02 09:57:03 +02:00
"topRatedSort": {"message": "Mais bem avaliados"},
2025-07-05 10:04:41 +02:00
"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"},
2025-07-30 20:47:55 +02:00
"noGenre": {"message": "Sem categoria"},
2025-07-05 10:04:41 +02:00
"synopsis": {"message": "Sinopse"},
2025-08-02 09:57:03 +02:00
"noSynopsis": {"message": "Nenhuma sinopse disponível."},
"director": {"message": "Diretor:"},
"writer": {"message": "Roteirista:"},
2025-07-05 10:04:41 +02:00
"viewOnImdb": {"message": "Ver no IMDb"},
2025-08-02 09:57:03 +02:00
"watchTrailer": {"message": "Assistir ao trailer"},
2025-07-30 20:47:55 +02:00
"addToFavorites": {"message": "Adicionar aos favoritos"},
"removeFromFavorites": {"message": "Remover dos favoritos"},
"notAvailable": {"message": "Não disponível"},
2025-08-02 09:57:03 +02:00
"mainCast": {"message": "Elenco principal"},
"seasonsAndEpisodes": {"message": "Temporadas e episódios"},
"similarContent": {"message": "Conteúdo semelhante"},
"filmography": {"message": "Filmografia"},
"availableOn": {"message": "Disponível em"},
"episodesCount": {"message": "$count$ episódios", "placeholders": {"count": {"content": "$1"}}},
"seasonsCount": {"message": "$count$ temporadas", "placeholders": {"count": {"content": "$1"}}},
2025-07-05 10:04:41 +02:00
"runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
2025-08-02 09:57:03 +02:00
"noTrailerFound": {"message": "Nenhum trailer encontrado para este título."},
2025-07-30 20:47:55 +02:00
"fatalInitError": {"message": "Erro fatal de inicialização"},
2025-08-02 09:57:03 +02:00
"fatalInitErrorSub": {"message": "Não foi possível carregar o aplicativo."},
"invalidStreamInfo": {"message": "Informações inválidas."},
"dbUnavailableForStreams": {"message": "Banco de dados local indisponível."},
"noPlexServersForStreams": {"message": "Nenhum servidor Plex."},
"notFoundOnServers": {"message": "\"$query$\" não encontrado nos servidores Plex.", "placeholders": {"query": {"content": "$1"}}},
2025-07-05 10:04:41 +02:00
"relativeTime_justNow": { "message": "Agora mesmo" },
2025-07-30 20:47:55 +02:00
"relativeTime_minutesAgo": { "message": "Há $count$ minutos", "placeholders": { "count": { "content": "$1" } } },
"relativeTime_hoursAgo": { "message": "Há $count$ horas", "placeholders": { "count": { "content": "$1" } } },
2025-07-05 10:04:41 +02:00
"relativeTime_yesterday": { "message": "Ontem" },
2025-07-30 20:47:55 +02:00
"relativeTime_daysAgo": { "message": "Há $count$ dias", "placeholders": { "count": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"errorLoadingDetails": { "message": "Erro ao carregar os detalhes" },
2025-07-30 20:47:55 +02:00
"errorLoadingLocalContent": { "message": "Erro ao carregar o conteúdo local." },
2025-08-02 09:57:03 +02:00
"errorServerResponse": { "message": "Resposta do servidor sem sucesso." },
"errorPlexApi": { "message": "Erro $status$ da API do Plex.", "placeholders": { "status": { "content": "$1" } } },
"errorParsingPlexXml": { "message": "Erro ao analisar o XML do Plex." },
2025-07-05 10:04:41 +02:00
"untitled": { "message": "Sem título" },
2025-08-02 09:57:03 +02:00
"itemCount": { "message": "$count$ itens", "placeholders": { "count": { "content": "$1" } } },
"noPhotoServers": { "message": "Nenhum servidor de fotos" },
"jellyfinScanInProgress": { "message": "A verificação do Jellyfin já está em andamento." },
"jellyfinScanning": { "message": "Verificando o Jellyfin..." },
"jellyfinMissingCredentials": { "message": "Preencha a URL e o nome de usuário do Jellyfin." },
"jellyfinConnecting": { "message": "Conectando-se 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": "Erro 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] '$libraryName' verificada, $count$ títulos adicionados.", "placeholders": { "libraryName": { "content": "$1" }, "count": { "content": "$2" } } },
"jellyfinLibraryScanFailed": { "message": "Erro ao verificar a biblioteca '$libraryName'.", "placeholders": { "libraryName": { "content": "$1" } } },
"jellyfinScanSuccess": { "message": "Verificação 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" },
2025-08-02 09:57:03 +02:00
"noJellyfinContent": { "message": "Nenhum conteúdo do Jellyfin encontrado." },
"noJellyfinContentSub": { "message": "Verifique se você verificou seu servidor Jellyfin nas configurações." },
"activityViewerTitle": { "message": "Visualizador de atividades do servidor" },
"activitySelectServer": { "message": "Selecione um servidor" },
2025-07-12 12:56:04 +02:00
"activityCheckBtn": { "message": "Atualizar" },
2025-08-02 09:57:03 +02:00
"activityNoSessions": { "message": "Nenhuma sessão ativa neste servidor." },
"activitySessionUser": { "message": "Usuário" },
2025-07-12 12:56:04 +02:00
"activitySessionDevice": { "message": "Dispositivo" },
"activitySessionContent": { "message": "Conteúdo" },
"activitySessionState": { "message": "Estado" },
2025-08-02 09:57:03 +02:00
"activitySessionIdentifier": { "message": "Identificador do cliente" },
2025-07-12 12:56:04 +02:00
"activityCopyID": { "message": "Copiar ID" },
2025-07-30 20:47:55 +02:00
"activityError": { "message": "Não foi possível obter a atividade do servidor." },
2025-07-12 12:56:04 +02:00
"activityCopied": { "message": "Identificador copiado para a área de transferência!" },
2025-07-30 20:47:55 +02:00
"activityCopyError": { "message": "Erro ao copiar o identificador." },
2025-08-02 09:57:03 +02:00
"noProvidersFound": { "message": "Nenhum provedor encontrado." },
2025-07-26 18:53:03 +02:00
"availableOnPlex": { "message": "Disponível no Plex" },
2025-08-02 09:57:03 +02:00
"m3uGeneratorTitle": { "message": "Gerador de listas M3U" },
"selectAServer": { "message": "Selecione um servidor..." },
"downloadM3u": { "message": "Baixar M3U" },
"m3uGenerator": { "message": "Gerador de M3U" },
"selectLibraries": { "message": "Selecionar bibliotecas" },
"howToUse": { "message": "Como usar" },
"m3uInstruction1": { "message": "Escolha um servidor na lista." },
2025-07-26 18:53:03 +02:00
"m3uInstruction2": { "message": "Selecione uma ou mais bibliotecas para incluir." },
2025-08-02 09:57:03 +02:00
"m3uInstruction3": { "message": "Clique no botão de download." },
"m3uInstruction4": { "message": "Importe o arquivo .m3u para o seu reprodutor compatível." },
"chatOpen": { "message": "Abrir chat" },
"chatTitle": { "message": "Assistente de IA" },
2025-07-29 15:05:06 +02:00
"chatClose": { "message": "X" },
2025-08-02 09:57:03 +02:00
"chatPlaceholder": { "message": "Digite sua mensagem..." },
2025-07-29 15:05:06 +02:00
"chatSend": { "message": "➤" },
2025-08-02 09:57:03 +02:00
"chatWelcome": { "message": "Bem-vindo! Eu sou seu assistente CinePlex. Pergunte-me sobre filmes, séries ou qualquer outra coisa que você queira saber." },
"chatGoogleApiKeyMissing": { "message": "A chave de API do Google Gemini não está configurada. Defina-a nas configurações da extensão para usar o assistente de IA." },
"chatApiInvalidResponse": { "message": "A API retornou uma resposta inválida. 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 do usuário por filmes ou séries por título." },
"aiToolSearchLibraryQueryParamDesc": { "message": "O título do filme ou série a ser pesquisado." },
"aiToolSearchLibraryTypeParamDesc": { "message": "O tipo de conteúdo a ser pesquisado. Pode ser 'movie' para filmes ou 'series' para séries. (Opcional)." },
"aiToolSearchLibraryResolutionParamDesc": { "message": "A resolução de vídeo a ser pesquisada (por exemplo, '4k', '1080p'). (Opcional)." },
"aiToolSearchLibraryContainerParamDesc": { "message": "O formato do contêiner de vídeo a ser pesquisado (por exemplo, 'mkv', 'mp4'). (Opcional)." },
"aiToolNavigateToPageDesc": { "message": "Navega o usuário para uma página específica da interface do aplicativo." },
"aiToolNavigateToPagePageParamDesc": { "message": "O nome da página para a qual navegar, por exemplo: 'movies', 'series', 'stats', 'favorites', 'history', 'recommendations', 'photos', 'providers' ou 'm3u-generator'." },
"aiToolGetUserStatsDesc": { "message": "Obtém e exibe as estatísticas da biblioteca do usuário, como o número total de filmes, séries e artistas únicos." },
"aiToolShowItemDetailsDesc": { "message": "Exibe a página de detalhes de um filme ou série específica por seu título e tipo." },
2025-07-30 20:47:55 +02:00
"aiToolShowItemDetailsTitleParamDesc": { "message": "O título exato do filme ou série." },
"aiToolShowItemDetailsTypeParamDesc": { "message": "O tipo de conteúdo. Deve ser 'movie' ou 'series'." },
2025-08-02 09:57:03 +02:00
"aiToolAddToPlaylistDesc": { "message": "Adiciona um filme ou série à lista de reprodução atual do usuário para transmiti-lo para um servidor PHP configurado." },
"aiToolAddToPlaylistTitleParamDesc": { "message": "O título do filme ou série a ser adicionado." },
2025-07-30 20:47:55 +02:00
"aiToolAddToPlaylistTypeParamDesc": { "message": "O tipo de conteúdo. Deve ser 'movie' ou 'series'." },
2025-08-02 09:57:03 +02:00
"aiToolCheckAndDownloadDesc": { "message": "Verifica a disponibilidade de uma lista de títulos de filmes ou séries nos servidores locais do usuário e, se encontrados, gera e baixa um arquivo de lista de reprodução M3U com os streams encontrados." },
"aiToolCheckAndDownloadTitlesParamDesc": { "message": "Uma matriz de títulos de filmes ou séries para pesquisar e baixar." },
2025-07-30 20:47:55 +02:00
"aiToolCheckAndDownloadTypeParamDesc": { "message": "O tipo de conteúdo da lista. Deve ser 'movie' ou 'series'." },
2025-08-02 09:57:03 +02:00
"aiToolCheckAndDownloadFilenameParamDesc": { "message": "O nome do arquivo M3U a ser baixado (por exemplo, 'MinhaLista.m3u'). Se não for fornecido, um nome padrão será usado." },
"aiToolToggleFavoriteDesc": { "message": "Adiciona ou remove um filme ou série da lista de favoritos do usuário." },
2025-07-30 20:47:55 +02:00
"aiToolToggleFavoriteTitleParamDesc": { "message": "O título do filme ou série." },
"aiToolToggleFavoriteTypeParamDesc": { "message": "O tipo de conteúdo. Deve ser 'movie' ou 'series'." },
2025-08-02 09:57:03 +02:00
"aiToolGetRecommendationsDesc": { "message": "Gera e exibe uma lista de recomendações de filmes ou séries com base no histórico de visualização e nos favoritos do usuário." },
"aiToolApplyFiltersDesc": { "message": "Aplica filtros à visualização atual de filmes ou séries, permitindo refinar os resultados por tipo, gênero, ano e ordem de classificação." },
2025-07-30 20:47:55 +02:00
"aiToolApplyFiltersTypeParamDesc": { "message": "O tipo de conteúdo ao qual aplicar os filtros. Deve ser 'movie' ou 'series'." },
2025-08-02 09:57:03 +02:00
"aiToolApplyFiltersGenreParamDesc": { "message": "O nome do gênero pelo qual filtrar (por exemplo, 'Ação', 'Drama')." },
2025-07-30 20:47:55 +02:00
"aiToolApplyFiltersYearParamDesc": { "message": "O ano de lançamento pelo qual filtrar (por exemplo, '2023')." },
2025-08-02 09:57:03 +02:00
"aiToolApplyFiltersSortParamDesc": { "message": "O critério de classificação para os resultados. Valores válidos: 'popularity.desc' (populares), 'vote_average.desc' (mais bem avaliados), 'release_date.desc' (recentes para filmes) ou 'first_air_date.desc' (recentes para séries)." },
"aiToolPlayMusicByArtistDesc": { "message": "Abre o reprodutor de música e começa a tocar músicas de um artista específico da biblioteca do usuário." },
"aiToolPlayMusicByArtistNameParamDesc": { "message": "O nome exato do artista cujas músicas devem ser tocadas." },
2025-07-30 20:47:55 +02:00
"aiToolClearChatHistoryDesc": { "message": "Limpa todo o histórico de mensagens da conversa atual com o assistente de IA." },
2025-08-02 09:57:03 +02:00
"aiToolDeleteDatabaseDesc": { "message": "Exclui todo o banco de dados local da extensão, incluindo conteúdo verificado, configurações e favoritos. Esta ação é irreversível e recarregará o aplicativo." },
"aiToolUpdateAllTokensDesc": { "message": "Inicia uma verificação completa de todos os servidores e bibliotecas Plex associados aos tokens configurados na extensão. Atualiza todos os filmes, séries, artistas e fotos." },
"aiToolAddPlexTokenDesc": { "message": "Adiciona um novo token X-Plex à configuração da extensão, permitindo que o aplicativo verifique o conteúdo de novos servidores Plex." },
"aiToolAddPlexTokenTokenParamDesc": { "message": "A string do token X-Plex a ser adicionada." },
"aiToolChangeRegionDesc": { "message": "Altera a região usada para a descoberta de conteúdo na API do TMDB. Isso afetará os resultados exibidos nas seções de filmes e séries, bem como os provedores de streaming." },
"aiToolChangeRegionRegionParamDesc": { "message": "O código de país de duas letras ISO 3166-1 para a nova região (por exemplo, 'US' para os Estados Unidos, 'ES' para a Espanha, 'MX' para o México)." },
"aiToolClearAllFavoritesDesc": { "message": "Remove todos os filmes e séries que o usuário marcou como favoritos." },
"aiToolClearViewingHistoryDesc": { "message": "Limpa o histórico de visualização do usuário da página de histórico." },
"aiToolClearRecommendationsViewDesc": { "message": "Limpa a visualização de recomendações e remove as recomendações em cache." },
"aiToolSearchNotFound": { "message": "'$query' não encontrado em sua biblioteca.", "placeholders": { "query": { "content": "$1" } } },
"aiToolNavigateSuccess": { "message": "Navegado para a página $page$.", "placeholders": { "page": { "content": "$1" } } },
"aiToolNavigateError": { "message": "Erro ao navegar para a página $page$.", "placeholders": { "page": { "content": "$1" } } },
2025-07-30 20:47:55 +02:00
"aiToolStatsError": { "message": "Erro ao obter estatísticas." },
2025-08-02 09:57:03 +02:00
"aiToolItemNotFound": { "message": "Item '$title' não encontrado.", "placeholders": { "title": { "content": "$1" } } },
"aiToolShowItemDetailsSuccess": { "message": "Mostrando detalhes de '$title'.", "placeholders": { "title": { "content": "$1" } } },
"aiToolAddToPlaylistSuccess": { "message": "Adicionado '$title' à lista de reprodução.", "placeholders": { "title": { "content": "$1" } } },
"aiToolFavoriteAdded": { "message": "Adicionado '$title' aos favoritos.", "placeholders": { "title": { "content": "$1" } } },
"aiToolFavoriteRemoved": { "message": "Removido '$title' dos favoritos.", "placeholders": { "title": { "content": "$1" } } },
"aiToolRecommendationsSuccess": { "message": "Mostrando recomendações." },
"aiToolApplyFiltersGenreNotFound": { "message": "Gênero '$genre' não encontrado.", "placeholders": { "genre": { "content": "$1" } } },
2025-07-30 20:47:55 +02:00
"aiToolApplyFiltersSuccess": { "message": "Filtros aplicados com sucesso." },
2025-08-02 09:57:03 +02:00
"aiToolPlayMusicNotReady": { "message": "O reprodutor de música não está pronto. Verifique se a sua biblioteca de música do Plex foi verificada." },
"aiToolPlayMusicArtistNotFound": { "message": "Artista '$artist_name' não encontrado.", "placeholders": { "artist_name": { "content": "$1" } } },
"aiToolPlayMusicNoSongs": { "message": "Nenhuma música encontrada para '$artist_name'.", "placeholders": { "artist_name": { "content": "$1" } } },
"aiToolPlayMusicSuccess": { "message": "Tocando música de '$artist_name'.", "placeholders": { "artist_name": { "content": "$1" } } },
2025-07-30 20:47:55 +02:00
"aiToolChatHistoryCleared": { "message": "Histórico do chat limpo." },
2025-08-02 09:57:03 +02:00
"aiToolConfirmDeleteDatabase": { "message": "Tem certeza de que deseja excluir o banco de dados local? Esta ação é irreversível." },
"aiToolDeleteDatabaseCancelled": { "message": "Exclusão do banco de dados cancelada." },
2025-07-30 20:47:55 +02:00
"aiToolExecutionError": { "message": "Erro ao executar a ferramenta '$toolName$': $message$", "placeholders": { "toolName": { "content": "$1" }, "message": { "content": "$2" } } },
2025-08-02 09:57:03 +02:00
"aiToolUnknown": { "message": "Ferramenta desconhecida: '$toolName'.", "placeholders": { "toolName": { "content": "$1" } } },
"aiToolFavoritesCleared": { "message": "Favoritos limpos." },
"aiToolFavoritesClearError": { "message": "Erro ao limpar os favoritos: $message$", "placeholders": { "message": { "content": "$1" } } },
"aiToolRecommendationsCleared": { "message": "Recomendações limpas." },
"aiToolRecommendationsClearError": { "message": "Erro ao limpar as recomendações: $message$", "placeholders": { "message": { "content": "$1" } } },
"aiToolDatabaseDeleted": { "message": "Banco de dados excluído. A página será recarregada." },
"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." },
2025-07-30 20:47:55 +02:00
"aiToolUpdateAllTokensError": { "message": "Erro ao atualizar os tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"aiToolAddPlexTokenSuccess": { "message": "Token do Plex adicionado com sucesso." },
"aiToolAddPlexTokenError": { "message": "Erro ao adicionar o 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" } } },
2025-08-02 09:57:03 +02:00
"aiToolViewingHistoryCleared": { "message": "Histórico de visualização limpo." },
"aiToolViewingHistoryClearError": { "message": "Erro ao limpar o histórico de visualização: $message$", "placeholders": { "message": { "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** finja que realizou uma ação se não usou uma ferramenta para isso. Por exemplo, não diga 'Eu baixei X' se não usou a ferramenta de download. 2. Para solicitações de recomendações ou listas (por exemplo, 'diga-me 5 filmes de terror'), use seu próprio conhecimento para gerar a lista. Apresente-a em formato numerado ou com marcadores. Depois de exibir 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, pesquisar um título específico ou filtrar por resolução ou contêiner, use as ferramentas apropriadas. Seja sempre conciso, amigável e eficiente." },
"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 encontrei nenhum dos filmes ou séries da lista em seus servidores locais." },
"aiToolM3UDownloadStarted": { "message": "Pronto! Encontrei $1 de $2 títulos em seus servidores e iniciei o download da lista de reprodução M3U.", "placeholders": { "1": { "content": "$1" }, "2": { "content": "$2" } } },
"backToProviders": { "message": "Voltar para os provedores" },
"artistsCounterSingle": { "message": "$total$ artista", "placeholders": { "total": { "content": "$1" } } },
"artistsCounterLoading": { "message": "Carregando..." },
"downloadingSong": { "message": "Iniciando o 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" } } },
2025-07-30 20:47:55 +02:00
"albumM3UGenerated": { "message": "M3U para o álbum \"$artist$\" gerado.", "placeholders": { "artist": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"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 para \"$title$\" falhou: $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
"startingRetryPhase": { "message": "Iniciando a fase de nova tentativa para $count$ seções...", "placeholders": { "count": { "content": "$1" } } },
"tokenFoundServers": { "message": "O 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" } } },
2025-07-30 20:47:55 +02:00
"plexScanFatalError": { "message": "ERRO FATAL: $message$", "placeholders": { "message": { "content": "$1" } } },
2025-08-02 09:57:03 +02:00
"errorDuringScan": { "message": "Erro durante a verificação: $message$", "placeholders": { "message": { "content": "$1" } } },
"stoppingPlexScan": { "message": "Parando a verificação do Plex..." },
2025-07-30 20:47:55 +02:00
"invalidTokenProvided": { "message": "Token inválido fornecido." },
"tokenAlreadyExists": { "message": "O token já existe." },
"tokenAddedSuccessfully": { "message": "Token adicionado com sucesso." },
2025-08-02 09:57:03 +02:00
"noStreamsFoundForSelection": { "message": "Nenhum stream encontrado para a seleção." },
2025-07-30 20:47:55 +02:00
"autoplayBlocked": { "message": "Reprodução automática bloqueada." },
2025-08-02 09:57:03 +02:00
"page": { "message": "Página" },
"all": { "message": "Todos" },
"userScore": { "message": "Pontuação dos usuários" },
"duration": { "message": "Duração" },
"min": { "message": "Mín" },
"max": { "message": "Máx" }
2025-07-05 10:04:41 +02:00
}