79f2613cf7
Add open_logs and logs_tooltip localization entries across multiple language JSON files (ar, de, en, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) so the About/System Info UI can expose an action to open the application logs folder. Also add an "about" section to ytsage/utils/ytsage_localization.py with default entries (open_logs, logs_tooltip, refresh). This wires the logs-folder UI text into the localization system.
617 lines
34 KiB
JSON
617 lines
34 KiB
JSON
{
|
|
"language": {
|
|
"display_name": "Português (Portuguese)",
|
|
"select_language": "Selecionar idioma:",
|
|
"current_language": "Idioma atual: {language}",
|
|
"restart_required": "As alterações de idioma terão efeito após reiniciar a aplicação.",
|
|
"english": "Inglês",
|
|
"spanish": "Espanhol",
|
|
"portuguese": "Português",
|
|
"russian": "Русский (Russian)",
|
|
"chinese": "中文 (简体) (Chinese Simplified)",
|
|
"german": "Alemão",
|
|
"french": "Francês",
|
|
"hindi": "Hindi",
|
|
"indonesian": "Indonésio",
|
|
"turkish": "Turco",
|
|
"polish": "Polonês",
|
|
"italian": "Italiano",
|
|
"arabic": "Árabe",
|
|
"japanese": "Japonês",
|
|
"help_text": "Selecione seu idioma preferido para a interface.",
|
|
"restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação."
|
|
},
|
|
"app": {
|
|
"title": "YTSage",
|
|
"version": "v{version}",
|
|
"ready": "Pronto"
|
|
},
|
|
"formats": {
|
|
"show_formats": "Mostrar Formatos:",
|
|
"video_format": "Formato de Vídeo:",
|
|
"audio_format": "Formato de Áudio:",
|
|
"no_formats": "Nenhum formato disponível",
|
|
"loading": "Carregando formatos...",
|
|
"select": "Selecionar",
|
|
"quality": "Qualidade",
|
|
"extension": "Extensão",
|
|
"resolution": "Resolução",
|
|
"file_size": "Tamanho do Arquivo",
|
|
"codec": "Codec",
|
|
"audio": "Áudio",
|
|
"fps": "FPS",
|
|
"hdr": "HDR",
|
|
"will_merge_audio": "Irá mesclar áudio",
|
|
"has_audio": "✓ Tem Áudio",
|
|
"audio_only": "Apenas Áudio",
|
|
"best_4k": "Melhor (4K)",
|
|
"best_2k": "Melhor (2K)",
|
|
"high_1080p": "Alta (1080p)",
|
|
"high_720p": "Alta (720p)",
|
|
"medium_480p": "Média (480p)",
|
|
"low_quality": "Baixa Qualidade",
|
|
"best_audio": "Melhor Áudio",
|
|
"high_audio": "Áudio Alto",
|
|
"medium_audio": "Áudio Médio",
|
|
"low_audio": "Áudio Baixo",
|
|
"audio_only_resolution": "Apenas áudio"
|
|
},
|
|
"buttons": {
|
|
"reset": "Redefinir",
|
|
"download": "Baixar",
|
|
"pause": "Pausar",
|
|
"resume": "Retomar",
|
|
"cancel": "Cancelar",
|
|
"browse": "Procurar",
|
|
"clear": "Limpar",
|
|
"ok": "OK",
|
|
"apply": "Aplicar",
|
|
"close": "Fechar",
|
|
"run_command": "Executar Comando",
|
|
"custom_command_help": "Ajuda",
|
|
"about": "Sobre",
|
|
"analyze": "Analisar",
|
|
"paste_url": "Colar URL",
|
|
"select_videos": "Selecionar Vídeos...",
|
|
"video": "Vídeo",
|
|
"audio_only": "Apenas Áudio",
|
|
"custom_options": "Opções Personalizadas",
|
|
"trim_video": "Cortar Vídeo",
|
|
"download_settings": "Configurações de Download",
|
|
"update": "Atualizar yt-dlp",
|
|
"select_defaults": "Selecionar Padrões",
|
|
"select_all": "Selecionar Tudo",
|
|
"deselect_all": "Desmarcar Tudo",
|
|
"open_folder": "Abrir local da pasta",
|
|
"history": "Histórico"
|
|
},
|
|
"dialogs": {
|
|
"custom_options": "Opções Personalizadas",
|
|
"settings": "Configurações",
|
|
"select_folder": "Selecionar Pasta de Download",
|
|
"sponsorblock_categories": "Categorias SponsorBlock",
|
|
"sponsorblock_description": "Selecione quais tipos de segmentos de vídeo serão removidos automaticamente durante o download.\nO SponsorBlock usa dados enviados pela comunidade para identificar esses segmentos.",
|
|
"select_subtitles": "Selecionar Legendas",
|
|
"filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...",
|
|
"no_subtitles_available": "Nenhuma legenda disponível",
|
|
"matching": "correspondendo",
|
|
"ytdlp_log_title": "Log do yt-dlp"
|
|
},
|
|
"tabs": {
|
|
"cookies": "Entrar com Cookies",
|
|
"custom_command": "Comando Personalizado",
|
|
"proxy": "Proxy",
|
|
"language": "Idioma",
|
|
"updater": "Atualizador"
|
|
},
|
|
"cookies": {
|
|
"help_text": "Escolha como fornecer cookies para fazer login.\nIsso permite baixar vídeos privados e áudio de qualidade premium.",
|
|
"cookie_source": "Fonte de Cookies",
|
|
"use_cookie_file": "Usar arquivo de cookies",
|
|
"extract_from_browser": "Extrair do navegador",
|
|
"recommended": "Recomendado",
|
|
"cookie_file": "Arquivo de Cookies",
|
|
"cookie_file_placeholder": "Caminho para o arquivo cookies.txt...",
|
|
"browser_selection": "Seleção de Navegador",
|
|
"browser_help": "Selecione o navegador do qual extrair cookies:",
|
|
"browser_label": "Navegador:",
|
|
"profile_label": "Perfil:",
|
|
"profile_placeholder": "padrão",
|
|
"browser_extract_message": "Os cookies do navegador serão extraídos quando aplicados",
|
|
"file_selected_message": "Arquivo de cookies selecionado - Clique em OK para aplicar",
|
|
"select_file_title": "Selecionar Arquivo de Cookies",
|
|
"file_filter": "Arquivos de cookies (*.txt *.lwp)",
|
|
"file_selected_title": "Arquivo de Cookies Aplicado",
|
|
"file_applied_message": "Arquivo de cookies aplicado: {path}",
|
|
"browser_selected_title": "Cookies do Navegador Aplicados",
|
|
"browser_applied_message": "Os cookies do navegador serão extraídos de: {browser}",
|
|
"cleared_title": "Cookies Limpos",
|
|
"cleared_message": "As configurações de cookies foram limpas",
|
|
"active_browser": "✓ Ativos: cookies do navegador ({browser})",
|
|
"active_file": "✓ Ativo: arquivo de cookies ({file})",
|
|
"none_active": "○ Nenhum cookie ativo"
|
|
},
|
|
"custom_command": {
|
|
"help_text": "Digite seu comando yt-dlp personalizado abaixo. A URL atual será anexada automaticamente.<br><br>Para a lista completa de opções e exemplos de uso, <a href=\"{docs_url}\">clique aqui para ver a documentação oficial do yt-dlp</a>.<br><br>Nota: O caminho de download e modelo de nome de arquivo serão tratados automaticamente.",
|
|
"input_label": "Argumentos yt-dlp:",
|
|
"input_placeholder": "Digite os argumentos yt-dlp aqui...\n\nex. --extract-audio --audio-format mp3",
|
|
"output_label": "Saída do Comando:",
|
|
"output_placeholder": "A saída do comando aparecerá aqui...",
|
|
"command_placeholder": "Digite comando yt-dlp personalizado...",
|
|
"command_help": "Marcadores disponíveis:\n{url} - URL do Vídeo\n{output} - Diretório de saída\n\nExemplo: --write-info-json --write-thumbnail",
|
|
"full_command": "🔧 Comando completo: {command}",
|
|
"command_success": "✅ Comando personalizado executado com sucesso!",
|
|
"command_failed": "❌ Comando falhou com código de saída {code}",
|
|
"command_error": "❌ Erro ao executar comando personalizado: {error}",
|
|
"error_no_url": "❌ Erro: nenhuma URL fornecida. Insira uma URL na janela principal.",
|
|
"error_no_command": "❌ Erro: nenhum comando fornecido. Insira os argumentos do yt-dlp.",
|
|
"executing": "🚀 Executando comando personalizado do yt-dlp",
|
|
"url_label": "📍 URL: {url}",
|
|
"args_label": "⚙️ Argumentos: {command}",
|
|
"download_path_label": "📁 Caminho de download: {path}",
|
|
"separator": "=================================================="
|
|
},
|
|
"proxy": {
|
|
"help_text": "Configure as definições de proxy para download. Deixe vazio para usar conexão direta.",
|
|
"main_proxy": "Proxy Principal",
|
|
"main_proxy_help": "Servidor proxy principal para todos os downloads. Suporta protocolos HTTP/HTTPS e SOCKS5.",
|
|
"proxy_url_label": "URL do Proxy:",
|
|
"proxy_url_placeholder": "http://proxy:porta ou socks5://proxy:porta",
|
|
"proxy_examples": "Exemplos:\n• HTTP: http://proxy.exemplo.com:8080\n• SOCKS5: socks5://proxy.exemplo.com:1080",
|
|
"geo_proxy": "Proxy de Contorno Geográfico",
|
|
"geo_proxy_help": "Proxy secundário especificamente para contornar restrições geográficas.",
|
|
"geo_proxy_url_label": "URL do Proxy de Contorno Geográfico:",
|
|
"geo_proxy_url_placeholder": "http://geo-proxy:porta",
|
|
"clear_main_proxy": "Limpar Proxy Principal",
|
|
"clear_geo_proxy": "Limpar Proxy Geográfico",
|
|
"proxy_url": "URL do Proxy",
|
|
"proxy_placeholder": "http://proxy:porta ou socks5://proxy:porta",
|
|
"geo_bypass": "Proxy de contorno geográfico (para restrições geográficas)",
|
|
"geo_bypass_placeholder": "http://proxy:porta para contornar bloqueios geográficos",
|
|
"invalid_main_url": "Formato de URL do proxy principal inválido",
|
|
"invalid_geo_url": "Formato de URL do proxy geográfico inválido",
|
|
"main_configured": "Proxy principal configurado",
|
|
"geo_configured": "Proxy geográfico configurado",
|
|
"set_title": "Proxy definido",
|
|
"set_message": "Proxy principal definido e salvo: {proxy}",
|
|
"geo_set_title": "Proxy geo definido",
|
|
"geo_set_message": "Proxy de verificação geo definido e salvo: {proxy}",
|
|
"cleared_title": "Configurações de proxy limpas",
|
|
"cleared_message": "Todas as configurações de proxy foram limpas e salvas.",
|
|
"saved_main": "Proxy principal salvo: {proxy}",
|
|
"saved_geo": "Proxy geo salvo: {proxy}"
|
|
},
|
|
"download": {
|
|
"preparing": "Preparando download...",
|
|
"starting": "🚀 Iniciando download...",
|
|
"fetching_info": "🔍 Buscando informações do vídeo...",
|
|
"preparing_streams": "🎯 Preparando streams de vídeo...",
|
|
"downloading_audio": "⏬ Baixando áudio...",
|
|
"downloading_video": "⏬ Baixando vídeo...",
|
|
"downloading_subtitle": "⏬ Baixando legendas...",
|
|
"downloading": "⏬ Baixando...",
|
|
"completed": "✅ Download concluído!",
|
|
"video_completed": "✅ Download de vídeo concluído!",
|
|
"audio_completed": "✅ Download de áudio concluído!",
|
|
"subtitle_completed": "✅ Download de legendas concluído!",
|
|
"completed_cleaning": "✅ Download concluído! Limpando...",
|
|
"cancelled": "Download cancelado",
|
|
"processing_playlist": "📋 Processando dados da playlist...",
|
|
"paused": "Download pausado",
|
|
"resumed": "Download retomado",
|
|
"merging_formats": "✨ Pós-processamento: Mesclando formatos...",
|
|
"removing_sponsor_segments": "✨ Pós-processamento: Removendo segmentos patrocinados...",
|
|
"speed": "Velocidade",
|
|
"eta": "Tempo restante",
|
|
"please_enter_url": "Por favor, digite uma URL primeiro.",
|
|
"please_set_path": "Por favor, defina um caminho de download primeiro.",
|
|
"please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.",
|
|
"please_select_format": "Por favor, selecione um formato primeiro.",
|
|
"downloading_fallback": "⚡ Baixando..."
|
|
},
|
|
"update": {
|
|
"title": "Atualizar yt-dlp",
|
|
"checking": "Verificando atualizações...",
|
|
"update_available": "Atualização disponível!\nVersão atual: {current}\nÚltima versão: {latest}",
|
|
"up_to_date": "yt-dlp está atualizado (versão {version})",
|
|
"could_not_determine": "Não foi possível determinar as versões.",
|
|
"error_comparing": "Erro ao comparar versões: {error}",
|
|
"update_available_failed": "Atualização disponível! (Comparação falhou)\nAtual: {current}\nÚltima: {latest}",
|
|
"updating": "Atualizando...",
|
|
"initializing": "🚀 Inicializando processo de atualização...",
|
|
"checking_current": "🔍 Verificando instalação atual...",
|
|
"found_at": "📍 yt-dlp encontrado em: {path}",
|
|
"error_getting_path": "❌ Erro ao obter caminho do yt-dlp: {error}",
|
|
"updating_binary": "📦 Atualizando binário yt-dlp gerenciado pela aplicação...",
|
|
"update_failed": "❌ Falha ao atualizar yt-dlp. Tente novamente ou verifique sua conexão com a internet.",
|
|
"binary_updated": "✅ Binário atualizado com sucesso!",
|
|
"update_failed_stderr": "❌ Atualização do yt-dlp falhou: {error}",
|
|
"update_timeout": "❌ Atualização do yt-dlp expirou.",
|
|
"unexpected_error": "❌ Erro inesperado durante atualização: {error}",
|
|
"already_up_to_date": "✅ yt-dlp já está atualizado!",
|
|
"update_success": "✅ yt-dlp foi atualizado com sucesso!",
|
|
"already_latest": "yt-dlp está atualizado (versão {version})",
|
|
"network_error": "❌ Erro de rede durante a atualização: {error}",
|
|
"general_error": "❌ A atualização falhou: {error}",
|
|
"update_in_progress_title": "Atualização em andamento",
|
|
"update_in_progress_message": "O yt-dlp está sendo atualizado. Por favor, aguarde um momento."
|
|
},
|
|
"about": {
|
|
"title": "Sobre YTSage",
|
|
"version": "Versão {version}",
|
|
"description": "Downloader moderno do YouTube com interface limpa em PySide6.",
|
|
"author": "Por: {author}",
|
|
"github": "GitHub: {repo}",
|
|
"system_info": "Informações do Sistema",
|
|
"loading": "🔄 Carregando informações do sistema...",
|
|
"refresh": "🔄",
|
|
"open_logs": "📂 Logs",
|
|
"logs_tooltip": "Abrir pasta de logs da aplicação",
|
|
"refreshing": "🔄 Atualizando...",
|
|
"refresh_failed": "Atualização Falhou",
|
|
"refresh_failed_message": "Não foi possível atualizar as informações de versão.",
|
|
"detected": "✓ Detectado",
|
|
"missing": "✗ Ausente",
|
|
"not_available": "Não Disponível"
|
|
},
|
|
"time_range": {
|
|
"title": "Cortar Vídeo",
|
|
"time_range_group": "Intervalo de Tempo",
|
|
"start_time": "Tempo de Início (HH:MM:SS)",
|
|
"end_time": "Tempo de Fim (HH:MM:SS)",
|
|
"start_placeholder": "00:00:00",
|
|
"end_placeholder": "00:00:00",
|
|
"start_time_placeholder": "Tempo de início (HH:MM:SS)",
|
|
"end_time_placeholder": "Tempo de fim (HH:MM:SS)",
|
|
"force_keyframes": "Forçar quadros-chave nos pontos de corte",
|
|
"help_text": "Defina os tempos de início e fim para cortar o vídeo.\nDeixe vazio para baixar o vídeo completo.",
|
|
"invalid_format": "Formato de tempo inválido. Use o formato HH:MM:SS.",
|
|
"start_after_end": "O tempo de início não pode ser após o tempo de fim."
|
|
},
|
|
"settings": {
|
|
"title": "Configurações de Download",
|
|
"download_path": "Caminho de Download",
|
|
"browse": "Procurar...",
|
|
"speed_limit": "Limite de Velocidade",
|
|
"speed_limit_placeholder": "Nenhum",
|
|
"auto_update_ytdlp": "Auto-Atualizar yt-dlp",
|
|
"enable_auto_updates": "Habilitar atualizações automáticas do yt-dlp",
|
|
"update_frequency": "Frequência de atualização:",
|
|
"check_startup": "Verificar a cada inicialização (mínimo 1 hora entre verificações)",
|
|
"check_daily": "Verificar diariamente",
|
|
"check_weekly": "Verificar semanalmente",
|
|
"check_updates_now": "Atualizar yt-dlp",
|
|
"update_check_title": "Verificação de Atualização",
|
|
"could_not_determine_version": "Não foi possível determinar a versão atual do yt-dlp.",
|
|
"update_available_dialog": "Atualização disponível!\n\nAtual: {current}\nÚltima: {latest}\n\nClique em OK para continuar com a atualização.",
|
|
"up_to_date_dialog": "yt-dlp está atualizado!\n\nVersão atual: {version}",
|
|
"error_checking_updates": "Erro ao verificar atualizações: {error}",
|
|
"settings_saved_title": "Configurações Salvas",
|
|
"settings_saved_message": "Configurações de auto-atualização foram salvas com sucesso!",
|
|
"error_title": "Erro",
|
|
"failed_save_settings": "Falha ao salvar configurações de auto-atualização.",
|
|
"error_saving_settings": "Erro ao salvar configurações de auto-atualização: {error}",
|
|
"ytdlp_channel": "Canal de Lançamento do yt-dlp",
|
|
"ytdlp_channel_stable": "Estável (Lançamentos testados)",
|
|
"ytdlp_channel_nightly": "Nightly (Atualizações diárias, recomendado pelo yt-dlp)",
|
|
"ytdlp_channel_description": "Escolha entre lançamentos estáveis e nightly. Builds nightly são atualizadas diariamente com as últimas correções e recursos. Você pode trocar de canal a qualquer momento.",
|
|
"ytdlp_switching_channel": "Mudando para o canal {channel}...",
|
|
"ytdlp_channel_switched": "✅ Mudado com sucesso para o canal {channel}!",
|
|
"ytdlp_channel_switch_failed": "❌ Falha ao trocar de canal: {error}",
|
|
"ytdlp_current_channel": "Canal atual: {channel}",
|
|
"app_updates_title": "Atualizações do YTSage",
|
|
"check_beta_updates": "Receber atualizações beta",
|
|
"auto_update_title": "Configurações de Auto-Atualização",
|
|
"auto_update_header": "🔄 Configurações de Auto-Atualização",
|
|
"auto_update_description": "Configure atualizações automáticas para o yt-dlp para garantir que você sempre tenha os recursos mais recentes e correções de bugs.",
|
|
"current_status": "Status Atual",
|
|
"current_version_label": "Versão atual do yt-dlp: Verificando...",
|
|
"last_check_label": "Última verificação de atualização: Nunca",
|
|
"next_check_label": "Próxima verificação: Baseada nas configurações",
|
|
"manual_check_button": "🔍 Verificar Atualizações Agora",
|
|
"update_frequency_group": "Frequência de Atualização",
|
|
"save_settings": "Salvar Configurações",
|
|
"settings_saved_successfully": "✅ Configurações salvas com sucesso!",
|
|
"error_saving": "❌ Erro ao salvar configurações: {error}",
|
|
"output_format_settings": "Configurações de Formato de Saída",
|
|
"force_output_format": "Forçar formato de saída ao mesclar",
|
|
"preferred_format": "Formato preferido:",
|
|
"force_format_help": "Quando ativado, os vídeos mesclados serão convertidos para o seu formato preferido. Desative para deixar o yt-dlp decidir automaticamente.",
|
|
"format_mp4": "MP4 (Mais compatível)",
|
|
"format_webm": "WebM (Moderno, aberto)",
|
|
"format_mkv": "MKV (Rico em recursos)",
|
|
"audio_format_settings": "Configurações de formato de áudio",
|
|
"force_audio_format": "Forçar formato de áudio para downloads somente de áudio",
|
|
"preferred_audio_format": "Formato de áudio preferido:",
|
|
"force_audio_format_help": "Quando ativado, downloads somente de áudio serão convertidos para seu formato preferido. Isso se aplica apenas ao baixar formatos de áudio.",
|
|
"audio_format_best": "Melhor (Sem conversão)",
|
|
"audio_format_aac": "AAC (Bom para edição)",
|
|
"audio_format_mp3": "MP3 (Universal)",
|
|
"audio_format_flac": "FLAC (Sem perdas)",
|
|
"audio_format_wav": "WAV (Não comprimido)",
|
|
"audio_format_opus": "Opus (Eficiente)",
|
|
"audio_format_m4a": "M4A (Apple)",
|
|
"audio_format_vorbis": "Vorbis (Aberto)",
|
|
"filename_format": "Formato de nome de arquivo",
|
|
"filename_format_help": "Variáveis disponíveis: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. A sintaxe padrão de modelo de saída do yt-dlp é suportada."
|
|
},
|
|
"main_ui": {
|
|
"url_placeholder": "Digite a URL do vídeo ou playlist do YouTube",
|
|
"merge_subtitles": "Mesclar Legendas",
|
|
"save_thumbnail": "Salvar Miniatura",
|
|
"save_description": "Salvar Descrição",
|
|
"embed_chapters": "Incorporar Capítulos",
|
|
"subtitles_selected": "{count} selecionadas",
|
|
"all_selected": "Todas selecionadas",
|
|
"select_videos_all": "Selecionar Vídeos... (Todas selecionadas)",
|
|
"please_enter_url": "Por favor, digite uma URL primeiro",
|
|
"error_title": "Erro",
|
|
"cookie_file_selected_title": "Arquivo de Cookies Selecionado",
|
|
"cookie_file_selected_message": "Arquivo de cookies selecionado: {path}",
|
|
"browser_cookies_selected_title": "Cookies do Navegador Selecionados",
|
|
"browser_cookies_selected_message": "Os cookies do navegador serão extraídos de: {browser}",
|
|
"error_no_format_info": "Erro: Nenhuma informação de formato disponível.",
|
|
"error_extract_info": "Erro: Não foi possível extrair informações básicas do vídeo. Verifique seu link.",
|
|
"analyzing_preparing": "Preparando solicitação...",
|
|
"analyzing_extracting_basic": "Extraindo informações básicas...",
|
|
"analyzing_extracting_detailed": "Extraindo informações detalhadas...",
|
|
"analyzing_processing_video": "Processando dados do vídeo...",
|
|
"analyzing_processing_formats": "Processando formatos...",
|
|
"analyzing_loading_thumbnail": "Carregando miniatura...",
|
|
"analyzing_processing_subtitles": "Processando legendas...",
|
|
"analyzing_updating_table": "Atualizando tabela de formatos...",
|
|
"analysis_complete": "Análise completa!",
|
|
"analyzing_fetching_first_video": "Obtendo formatos do primeiro vídeo...",
|
|
"analyzing_extracting_ytdlp": "Extraindo informações...",
|
|
"analyzing_processing_data": "Processando dados...",
|
|
"analyzing_processing_formats_ytdlp": "Processando formatos...",
|
|
"analyzing_loading_thumbnail_ytdlp": "Carregando miniatura...",
|
|
"analyzing_processing_subtitles_ytdlp": "Processando legendas...",
|
|
"select_subtitles": "Selecionar Legendas...",
|
|
"sponsorblock_categories": "Categorias SponsorBlock...",
|
|
"invalid_url_or_enter": "URL inválido ou por favor insira um URL.",
|
|
"zero_selected": "0 selecionados",
|
|
"analyze_first_tooltip": "Por favor analise o vídeo primeiro",
|
|
"audio_mode_disabled": "Não disponível no modo apenas áudio",
|
|
"select_subtitles_first": "Por favor selecione legendas primeiro",
|
|
"settings_tooltip": "Caminho atual: {path}\nLimite de velocidade: {speed_limit}",
|
|
"speed_limit_none": "Nenhum",
|
|
"open_folder_error": "Não foi possível abrir a pasta: {error}",
|
|
"time_range_set": "Seção definida: {section}"
|
|
},
|
|
"sponsorblock": {
|
|
"sponsor": "Patrocinador",
|
|
"sponsor_desc": "Promoção paga, referências pagas e anúncios diretos",
|
|
"selfpromo": "Promoção Não Paga/Própria",
|
|
"selfpromo_desc": "Promoção não paga do próprio conteúdo dos criadores",
|
|
"interaction": "Lembrete de Interação",
|
|
"interaction_desc": "Pedindo aos espectadores para curtir, se inscrever ou seguir nas redes sociais",
|
|
"intro": "Introdução",
|
|
"intro_desc": "Introdução do vídeo que pode ser pulada",
|
|
"outro": "Encerramento/Cards Finais",
|
|
"outro_desc": "Créditos ou quando o vídeo termina",
|
|
"preview": "Prévia/Recapitulação",
|
|
"preview_desc": "Recapitulação rápida de vídeos anteriores ou prévia do que está por vir",
|
|
"music_offtopic": "Seção Não Musical",
|
|
"music_offtopic_desc": "Apenas para vídeos musicais. Marca seções não musicais",
|
|
"filler": "Tangente de Preenchimento",
|
|
"filler_desc": "Cenas tangenciais adicionadas apenas para preenchimento ou humor"
|
|
},
|
|
"video_info": {
|
|
"channel": "Canal",
|
|
"views": "👁 Visualizações",
|
|
"likes": "👍 Curtidas",
|
|
"upload_date": "📅 Data de envio",
|
|
"duration": "⏱ Duração",
|
|
"unknown_channel": "Canal desconhecido",
|
|
"unknown_date": "Data desconhecida",
|
|
"unknown_title": "Título desconhecido"
|
|
},
|
|
"command": {
|
|
"running": "Executando...",
|
|
"run_command": "Executar Comando"
|
|
},
|
|
"selection": {
|
|
"none_selected": "0 selecionadas",
|
|
"one_selected": "1 categoria selecionada",
|
|
"count_selected": "{count} selecionadas"
|
|
},
|
|
"status": {
|
|
"ready": "Pronto",
|
|
"file_exists": "⚠️ Arquivo já existe",
|
|
"video_file_exists": "⚠️ Arquivo de vídeo já existe",
|
|
"audio_file_exists": "⚠️ Arquivo de áudio já existe",
|
|
"subtitle_file_exists": "⚠️ Arquivo de legendas já existe",
|
|
"cancelling": "Cancelando download...",
|
|
"thumbnail_saved": "✅ Miniatura salva: {filename}",
|
|
"thumbnail_error": "❌ Erro na miniatura: {error}",
|
|
"thumbnail_no_image": "Nenhuma miniatura disponível para salvar"
|
|
},
|
|
"errors": {
|
|
"playlist_no_videos": "Erro: A playlist não contém vídeos válidos.",
|
|
"playlist_no_url": "Erro: Não foi possível obter a URL do primeiro vídeo da playlist.",
|
|
"ytdlp_not_found": "Erro: Executável yt-dlp não encontrado. Por favor, instale o yt-dlp primeiro.",
|
|
"ytdlp_not_found_path": "Erro: Executável yt-dlp não encontrado. Isso pode ser devido a uma instalação inadequada ou problema de PATH.",
|
|
"no_data_returned": "Erro: Nenhum dado retornado do yt-dlp",
|
|
"no_format_info": "Erro: Nenhuma informação de formato disponível.",
|
|
"analysis_timeout": "Erro: Tempo de análise esgotado. Por favor, tente novamente.",
|
|
"invalid_speed_limit": "❌ Erro: Valor de limite de velocidade inválido definido nas configurações.",
|
|
"ytdlp_failed": "Erro: yt-dlp falhou: {error}",
|
|
"parse_failed": "Erro: Falha ao analisar a saída do yt-dlp: {error}",
|
|
"analysis_failed": "Erro: Análise falhou: {error}",
|
|
"generic_error": "Erro: {error}",
|
|
"download_failed_return_code_conflict": "O download falhou com o código de retorno {return_code}. Isso pode ser devido a um conflito com várias instalações do yt-dlp. Tente desinstalar qualquer yt-dlp instalado no sistema (ex.: snap ou apt) e reinicie o aplicativo.",
|
|
"download_failed_return_code": "O download falhou com o código de retorno {return_code}",
|
|
"direct_command_error": "Erro no comando direto: {error}"
|
|
},
|
|
"update_dialog": {
|
|
"title": "Atualização Disponível",
|
|
"new_version_available": "Uma nova versão do YTSage está disponível!",
|
|
"current_version_label": "Versão atual:",
|
|
"latest_version_label": "Última versão:",
|
|
"changelog": "Registro de alterações",
|
|
"download_update": "Baixar Atualização",
|
|
"remind_later": "Lembrar Mais Tarde"
|
|
},
|
|
"playlist": {
|
|
"unknown": "Playlist Desconhecida",
|
|
"total_videos": "Total de Vídeos: {count}",
|
|
"display_format": "Playlist: {title} | {count} vídeos",
|
|
"select_videos_title": "Selecionar Vídeos da Playlist"
|
|
},
|
|
"subtitle_selection": {
|
|
"count_selected": "{count} selecionadas"
|
|
},
|
|
"file_exists_dialog": {
|
|
"title": "Arquivo já existe",
|
|
"message": "O arquivo já existe:\n{filename}",
|
|
"info": "Este vídeo já foi baixado."
|
|
},
|
|
"auto_update": {
|
|
"last_check_never": "Última verificação: Nunca",
|
|
"last_check": "Última verificação: {time}",
|
|
"next_check_disabled": "Próxima verificação: Desativada",
|
|
"next_check_startup": "Próxima verificação: Na inicialização",
|
|
"next_check_overdue": "Próxima verificação: Agora (atrasada)",
|
|
"next_check": "Próxima verificação: {time}",
|
|
"next_check_error": "Próxima verificação: Erro ao calcular",
|
|
"checking": "🔄 Verificando...",
|
|
"check_now": "🔍 Verificar atualizações agora",
|
|
"current_version": "Versão atual do yt-dlp: {version}"
|
|
},
|
|
"url_validation": {
|
|
"empty_url": "O URL não pode estar vazio",
|
|
"invalid_format": "Formato de URL inválido",
|
|
"invalid_scheme": "O URL deve começar com http:// ou https://",
|
|
"missing_domain": "URL inválido: nome de domínio ausente",
|
|
"unsupported_platform": "YTSage suporta apenas URLs do YouTube e YouTube Music.\nO domínio '{domain}' não é suportado.",
|
|
"invalid_youtu_be": "URL youtu.be inválido: ID do vídeo ausente"
|
|
},
|
|
"ytdlp_errors": {
|
|
"private_video": "Este é um vídeo privado. Você pode baixá-lo fazendo login em sua conta usando cookies.\nVá para 'Opções Personalizadas' → 'Login com Cookies' → 'Extrair cookies do navegador' para autenticar.",
|
|
"age_restricted": "Este vídeo tem restrição de idade. Você precisa estar conectado para acessá-lo.\nUse 'Opções Personalizadas' → 'Login com Cookies' para autenticar com sua conta.",
|
|
"geo_blocked": "Este vídeo não está disponível em sua região (geo-bloqueado).\nVocê pode precisar usar uma VPN ou o vídeo pode estar restrito em seu país.",
|
|
"video_unavailable": "Este vídeo foi removido ou não está mais disponível.\nO vídeo pode ter sido excluído pelo uploader ou removido devido a violações de políticas.",
|
|
"live_stream": "Esta é uma transmissão ao vivo que não pode ser baixada enquanto está ativa.\nAguarde o término da transmissão e tente baixar a versão arquivada.",
|
|
"playlist_error": "Não é possível acessar esta playlist. Ela pode ser privada, excluída ou vazia.\nVerifique se a playlist existe e está acessível publicamente.",
|
|
"network_error": "Erro de conexão de rede. Verifique sua conexão com a internet e tente novamente.\nSe o problema persistir, o servidor de vídeo pode estar temporariamente indisponível.",
|
|
"invalid_url": "URL inválido ou não suportado. Verifique o link e tente novamente.\nCertifique-se de usar um URL válido do YouTube, Vimeo ou outra plataforma suportada.",
|
|
"premium_content": "Este conteúdo requer YouTube Premium ou associação ao canal.\nVocê precisa fazer login com uma conta que tenha acesso a este conteúdo.",
|
|
"copyright_blocked": "Este vídeo está bloqueado devido a reivindicações de direitos autorais.\nO proprietário do conteúdo restringiu o acesso a este vídeo.",
|
|
"extraction_failed": "Falha ao extrair informações do vídeo. Isso pode ser um problema temporário.\nTente novamente em alguns minutos ou verifique se o link do vídeo está correto.",
|
|
"generic_error": "Não foi possível extrair informações do vídeo. Verifique seu link.\nDetalhes técnicos: {error}"
|
|
},
|
|
"history": {
|
|
"title": "Histórico de Downloads",
|
|
"clear_all": "Limpar Tudo",
|
|
"clear_confirm_title": "Limpar Histórico?",
|
|
"clear_confirm_message": "Tem certeza? Isto não pode ser desfeito.",
|
|
"no_history": "Nenhum histórico ainda",
|
|
"no_history_description": "Seus downloads aparecerão aqui",
|
|
"loading": "Carregando histórico...",
|
|
"search_placeholder": "Pesquisar...",
|
|
"open_location": "Abrir Local",
|
|
"redownload": "Baixar Novamente",
|
|
"remove": "Remover",
|
|
"file_not_found": "Arquivo não encontrado",
|
|
"file_not_found_message": "O arquivo foi movido ou excluído:\n{path}",
|
|
"downloaded_on": "Baixado: {date}",
|
|
"file_size": "Tamanho: {size}",
|
|
"audio_download": "Áudio",
|
|
"video_download": "Vídeo",
|
|
"remove_confirm_title": "Remover?",
|
|
"remove_confirm_message": "Remover do histórico?\n\n{title}",
|
|
"item_removed": "Removido",
|
|
"history_cleared": "Histórico limpo",
|
|
"entries_count": "{count} downloads",
|
|
"one_entry": "1 download",
|
|
"redownload_confirm_title": "Baixar Novamente?",
|
|
"redownload_confirm_message": "Baixar novamente?\n\n{title}",
|
|
"redownload_started": "Download iniciado",
|
|
"no_url_error": "Nenhuma URL encontrada no item do histórico",
|
|
"redownload_failed": "Falha ao iniciar o novo download: {error}"
|
|
},
|
|
"ffmpeg": {
|
|
"installation_title": "Instalação do FFmpeg",
|
|
"installation_message": "O YTSage precisa do FFmpeg para processar vídeos.\n\nEscolha uma opção de instalação abaixo:",
|
|
"install_button": "Instalar FFmpeg",
|
|
"manual_guide": "Guia manual",
|
|
"installation_failed": "A instalação do FFmpeg encontrou um problema.",
|
|
"already_installed": "O FFmpeg já está instalado!",
|
|
"installation_complete": "Instalação concluída. Você pode fechar este diálogo e continuar usando o YTSage.",
|
|
"installing": "Instalando FFmpeg... Aguarde",
|
|
"install_success": "FFmpeg instalado com sucesso!",
|
|
"installation_complete_close": "Instalação concluída. Agora você pode fechar este diálogo e continuar usando o YTSage.",
|
|
"try_manual": "Tente usar o guia de instalação manual."
|
|
},
|
|
"ytdlp_setup": {
|
|
"required_title": "Configuração do yt-dlp necessária",
|
|
"description": "O YTSage precisa do yt-dlp para baixar vídeos.<br><br>O yt-dlp não foi encontrado no diretório local do aplicativo. O YTSage precisa configurar o yt-dlp para o seu sistema {os_name}.<br><br>Escolha uma opção abaixo:",
|
|
"option_auto": "Baixar automaticamente (recomendado)",
|
|
"option_manual": "Selecionar caminho manualmente",
|
|
"setup_button": "Configurar yt-dlp",
|
|
"downloading": "Baixando yt-dlp...",
|
|
"success": "yt-dlp foi instalado com sucesso!",
|
|
"error": "Erro: {error}",
|
|
"download_failed_title": "Falha no download",
|
|
"download_failed_message": "Falha ao baixar yt-dlp: {error}",
|
|
"select_executable_title": "Selecionar executável do yt-dlp",
|
|
"copied_to": "yt-dlp copiado com sucesso para {path}",
|
|
"setup_error_title": "Erro de configuração",
|
|
"copy_error": "Erro ao copiar yt-dlp para o diretório do aplicativo: {error}",
|
|
"invalid_executable_title": "Executável inválido",
|
|
"invalid_executable_message": "O arquivo selecionado não parece ser um executável válido do yt-dlp.",
|
|
"verify_error": "Erro ao verificar o executável do yt-dlp: {error}",
|
|
"setup_failed_title": "Configuração falhou",
|
|
"setup_failed_message": "Falha ao configurar o yt-dlp. Alguns recursos podem não funcionar corretamente.",
|
|
"success_dialog_title": "Configuração do yt-dlp",
|
|
"success_dialog_message": "yt-dlp foi configurado com sucesso em:\n{path}",
|
|
"file_filter_windows": "Arquivos executáveis (*.exe)",
|
|
"file_filter_all": "Todos os arquivos (*)"
|
|
},
|
|
"ffmpeg_updater": {
|
|
"title": "Verificador de Versão FFmpeg",
|
|
"current_version": "Versão Atual:",
|
|
"latest_version": "Última Versão:",
|
|
"status_up_to_date": "✓ Atualizado",
|
|
"status_update_available": "⚠ Atualização disponível",
|
|
"status_not_installed": "✗ Não instalado",
|
|
"status_idle": "Clique em 'Verificar Versão' para começar",
|
|
"status_checking": "🔄 Verificando versão...",
|
|
"check_updates": "Verificar Versão",
|
|
"check_failed": "Falha ao verificar versão. Verifique sua conexão com a Internet.",
|
|
"description": "Verifique sua versão do FFmpeg e compare com a última versão disponível.",
|
|
"guide_info": " Para instalar ou atualizar o FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>clique aqui para ver nosso guia completo de instalação</a>."
|
|
},
|
|
"deno": {
|
|
"setup_required": "Configuração do Deno Necessária",
|
|
"setup_description": "O YTSage requer o Deno para executar determinados recursos.<br><br>O Deno não foi encontrado no diretório local do aplicativo. O YTSage precisa configurar o Deno para o seu sistema {os_name}.<br><br>Clique em 'Configurar Deno' para baixar e instalar automaticamente.",
|
|
"setup_button": "Configurar Deno",
|
|
"downloading": "Baixando Deno...",
|
|
"extracting": "Extraindo Deno...",
|
|
"verifying": "Verificando Deno...",
|
|
"success": "Deno foi instalado com sucesso!",
|
|
"download_failed": "Falha no Download",
|
|
"download_error": "Falha ao baixar o Deno: {error}",
|
|
"verification_failed": "Falha na verificação SHA256. O arquivo baixado pode estar corrompido ou adulterado.",
|
|
"setup_failed": "Falha ao configurar o Deno. Alguns recursos podem não funcionar corretamente.",
|
|
"setup_error": "Erro de Configuração"
|
|
},
|
|
"deno_updater": {
|
|
"title": "Verificador e Atualizador de Versão do Deno",
|
|
"description": "Verifique sua versão do Deno e atualize para a versão mais recente.",
|
|
"current_version": "Versão Atual:",
|
|
"latest_version": "Última Versão:",
|
|
"status_idle": "Clique em 'Verificar Atualizações' para começar",
|
|
"status_checking": "🔄 Verificando atualizações...",
|
|
"status_up_to_date": "✓ Atualizado",
|
|
"status_update_available": "⚠ Atualização disponível",
|
|
"status_not_installed": "✗ Não instalado",
|
|
"check_updates": "Verificar Atualizações",
|
|
"update_now": "Atualizar Deno",
|
|
"updating": "🔄 Atualizando Deno...",
|
|
"update_success": "✅ Deno foi atualizado com sucesso!",
|
|
"update_failed": "❌ Falha na atualização: {error}",
|
|
"check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet."
|
|
}
|
|
} |