<?php

$base = require __DIR__.'/../en/admin.php';

return array_replace_recursive($base, [
    'nav' => [
        'dashboard' => 'Painel',
        'tasks' => 'Tarefas',
        'articles' => 'Artigos',
        'materials' => 'Materiais',
        'ai_config' => 'Configuração de IA',
        'site_settings' => 'Configurações do Site',
        'security' => 'Palavras Sensíveis',
        'admin_users' => 'Gerenciamento de Usuários',
        'back_home' => 'Voltar ao Painel',
        'system_settings' => 'Configurações do Sistema',
        'admin_management' => 'Gerenciamento de Usuários',
        'activity_logs' => 'Logs de Atividade',
        'api_tokens' => 'Tokens de API',
        'analytics' => 'Análise de Dados',
        'distribution' => 'Distribuição',
    ],
    'header' => [
        'welcome' => 'Bem-vindo, :name',
        'super_admin' => 'Super Admin',
        'admin' => 'Admin',
        'language' => 'Idioma',
        'language_switch_label' => 'Interface',
        'language_switch_hint' => 'Português / English',
        'language_switch_to' => 'Mudar para :language',
        'notifications' => [
            'label' => 'Notificações',
            'title' => 'Notificações',
            'badge_new' => 'Atualização',
            'update_available' => 'Nova versão v:version disponível',
            'update_desc' => 'Uma nova versão do GEOFlow está disponível no GitHub. Revise o changelog e faça backup do banco de dados e dos uploads antes de atualizar.',
            'up_to_date' => 'GEOFlow está atualizado',
            'no_update_desc' => 'Nenhuma versão mais nova do GitHub foi detectada.',
            'disabled' => 'Verificações de atualização desativadas',
            'disabled_desc' => 'As verificações de versão do GitHub estão desativadas. Ative GEOFLOW_UPDATE_CHECK_ENABLED se quiser receber lembretes.',
            'unavailable' => 'Status de atualização indisponível',
            'unavailable_desc' => 'Os metadados de release do GitHub não puderam ser carregados. O GEOFlow continuará tentando com a política de cache diário.',
            'current_version' => 'Versão atual: v:version',
            'latest_version' => 'Última versão: v:version',
            'daily_check' => 'O GitHub é verificado no máximo uma vez por dia.',
            'checked_at' => 'Última verificação: :time',
            'view_changelog' => 'Ver changelog',
            'open_github' => 'Abrir GitHub',
        ],
    ],
    'button' => [
        'create' => 'Criar',
        'save' => 'Salvar',
        'cancel' => 'Cancelar',
        'edit' => 'Editar',
        'delete' => 'Excluir',
        'search' => 'Buscar',
        'clear' => 'Limpar',
        'view' => 'Ver',
        'apply' => 'Aplicar',
        'jump' => 'Ir',
        'execute' => 'Executar',
        'run' => 'Iniciar',
        'pause' => 'Pausar',
        'review_center' => 'Centro de Revisão',
        'trash' => 'Lixeira',
        'bulk_actions' => 'Ações em Lote',
        'create_task' => 'Criar Tarefa',
        'create_article' => 'Criar Artigo',
        'run_all_tasks' => 'Iniciar Todas as Tarefas',
        'category_manage' => 'Categorias',
        'generate_articles' => 'Criar Tarefa para Gerar Artigos',
        'new_task' => 'Nova Tarefa',
        'logout' => 'Sair',
        'add' => 'Adicionar',
        'upload' => 'Enviar',
        'import' => 'Importar',
        'previous' => 'Anterior',
        'next' => 'Próximo',
        'refresh' => 'Atualizar',
        'filter' => 'Filtrar',
        'close_panel' => 'Fechar Painel',
        'chunks' => 'Fragmentos',
        'approve' => 'Aprovar',
        'reject' => 'Rejeitar',
        'review' => 'Revisar',
        'reset' => 'Redefinir',
    ],
    'flash' => [
        'success' => 'Sucesso',
        'error' => 'Erro',
    ],
    'message' => [
        'csrf_failed' => 'Validação CSRF falhou',
        'processing' => 'Processando...',
        'copied' => 'Copiado para a área de transferência',
        'csrf_invalid' => 'Validação CSRF falhou',
        'success' => 'Sucesso',
        'error' => 'Erro',
    ],
    'common' => [
        'seconds' => 's',
        'minutes' => 'm',
        'hours' => 'h',
        'days' => 'd',
        'articles_unit' => '',
        'close' => 'Fechar',
        'created_at' => 'Criado em',
        'updated_at' => 'Atualizado em',
        'total' => 'Total',
        'description' => 'Descrição',
        'name' => 'Nome',
        'type' => 'Tipo',
        'usage' => 'Uso',
        'actions' => 'Ações',
        'none' => 'Sem dados',
        'back' => 'Voltar',
        'total_count' => 'Total',
        'avg_per_library' => 'Média por biblioteca',
        'search_placeholder_keyword' => 'Buscar palavras-chave...',
        'none_desc' => 'Sem descrição',
        'word_count' => 'Palavras',
        'file_type' => 'Tipo de arquivo',
        'file_path' => 'Caminho do Arquivo',
        'basic_info' => 'Informações Básicas',
        'related_tasks' => 'Tarefas Relacionadas',
        'content' => 'Conteúdo',
        'current_word_count' => 'Tamanho atual: :count caracteres',
        'total_records' => ':total no total',
        'not_found' => 'Registro não encontrado ou foi excluído',
        'not_found_title' => 'Informação não encontrada',
        'not_found_desc' => 'O conteúdo solicitado não existe, foi removido ou o link não é mais válido.',
    ],
    'footer' => [
        'copyright' => '© 2026 GEOFlow',
        'version' => 'Versão :version',
        'author' => 'Autor: Yao Jingang',
        'author_x_profile' => 'Perfil X do autor',
        'project_github_link' => 'GitHub do projeto',
        'changelog_link' => 'Registro de alterações',
        'project_intro_link' => 'Introdução do projeto',
    ],
    'login' => [
        'title' => 'Login do Administrador',
        'subtitle' => 'Console admin de :site_name',
        'username' => 'Usuário',
        'password' => 'Senha',
        'username_placeholder' => 'Digite o usuário',
        'password_placeholder' => 'Digite a senha',
        'submit' => 'Entrar',
        'submitting' => 'Entrando...',
        'remember_30_days' => 'Manter conectado por 30 dias',
        'remember_30_days_hint' => 'Para dispositivos confiáveis',
        'language_label' => 'Idioma da Interface',
        'language_hint' => 'Escolha um idioma antes de entrar. O console de admin continuará com esta seleção após o login.',
        'language_switch_to' => 'Mudar interface para :language',
        'back_home' => 'Voltar ao Início',
        'error' => [
            'invalid_request' => 'Requisição inválida',
            'empty_credentials' => 'Por favor, preencha usuário e senha',
            'invalid_credentials' => 'Usuário ou senha inválidos, ou a conta está desativada',
            'account_locked' => 'Esta conta está bloqueada. Entre em contato com um administrador.',
        ],
        'success' => [
            'password_updated' => 'Senha atualizada. Por favor, entre novamente com a nova senha.',
        ],
    ],
    'dashboard' => [
        'page_title' => 'Painel de Administração',
        'heading' => 'Painel',
        'subtitle' => 'Resumo de :site',
        'last_updated' => 'Última atualização: :time',
        'refresh' => 'Atualizar',
        'total_articles' => 'Total de Artigos',
        'today_added' => 'Adicionados hoje: :count',
        'published' => 'Publicados',
        'publish_rate' => 'Taxa de publicação: :rate%',
        'ai_generated' => 'Gerados por IA',
        'ai_generated_ratio' => 'Proporção: :rate%',
        'total_views' => 'Total de Visualizações',
        'today_views' => 'Hoje: :count',
        'active_tasks' => 'Tarefas Ativas',
        'active_tasks_detail' => 'Em execução :running · Na fila :pending',
        'ai_models' => 'Modelos de IA',
        'material_total' => 'Total de Materiais',
        'pending_review' => 'Pendente de Revisão',
        'category_distribution' => 'Distribuição por Categoria',
        'manage_categories' => 'Gerenciar Categorias',
        'no_data' => 'Sem dados',
        'system_performance' => 'Desempenho do Sistema',
        'task_success_rate' => 'Taxa de Sucesso das Tarefas',
        'avg_generation_time' => 'Tempo Médio de Geração',
        'daily_ai_quota' => 'Cota Diária de IA',
        'latest_articles' => 'Últimos Artigos',
        'view_all' => 'Ver Todos',
        'no_articles' => 'Nenhum artigo ainda',
        'uncategorized' => 'Sem Categoria',
        'trend_title' => 'Tendência Semanal',
        'week_articles' => 'Artigos Esta Semana',
        'week_tasks' => 'Tarefas Esta Semana',
        'approved_articles' => 'Artigos Aprovados',
        'article_trend' => 'Tendência de Publicação (Últimos 7 Dias)',
        'task_status' => 'Status das Tarefas',
        'task_status_running' => 'Em Execução',
        'task_status_pending' => 'Na Fila',
        'task_status_idle' => 'Ocioso',
        'total_stat' => 'Total: :count artigos',
        'avg_stat' => 'Média diária: :count artigos',
        'peak_stat' => 'Pico: :count artigos',
        'content_funnel' => 'Funil de Produção de Conteúdo',
        'content_funnel_desc' => 'Acompanhe materiais, rascunhos, revisão, publicação e visualizações reais.',
        'funnel_titles' => 'Reserva de Títulos',
        'funnel_drafts' => 'Rascunhos',
        'funnel_pending_review' => 'Pendente de Revisão',
        'funnel_published' => 'Publicado',
        'funnel_viewed' => 'Com Visualizações',
        'todo_title' => 'Precisa de Atenção',
        'todo_empty' => 'Nenhum risco evidente no momento.',
        'todo_failed_jobs' => 'Execuções de tarefa falharam',
        'todo_pending_review' => 'Artigos aguardam revisão',
        'todo_no_chat_model' => 'Nenhum modelo de chat ativo configurado',
        'todo_no_embedding_model' => 'Há bases de conhecimento, mas falta modelo embedding',
        'todo_unvectorized_chunks' => 'Há fragmentos de conhecimento sem vetorização',
        'todo_low_titles' => 'Reserva de títulos baixa',
        'todo_url_import_failed' => 'URL Smart Import possui falhas',
        'task_health' => 'Saúde das Tarefas',
        'task_active' => 'Tarefas Ativas',
        'task_paused' => 'Tarefas Pausadas',
        'task_running' => 'Executando',
        'task_pending' => 'Na Fila',
        'recent_failures' => 'Falhas Recentes',
        'no_failures' => 'Nenhuma falha recente.',
        'unknown_task' => 'Tarefa desconhecida',
        'material_health' => 'Saúde dos Materiais',
        'material_keywords' => 'Bibliotecas de Palavras-chave',
        'material_titles' => 'Bibliotecas de Títulos',
        'material_knowledge' => 'Bases de Conhecimento',
        'material_images' => 'Bibliotecas de Imagens',
        'material_authors' => 'Autores',
        'material_vectorized' => 'Vetorização do Conhecimento',
        'ai_health' => 'Saúde dos Modelos IA',
        'ai_chat_models' => 'Modelos de Chat',
        'ai_embedding_models' => 'Modelos Embedding',
        'ai_used_today' => 'Chamadas Hoje',
        'ai_total_calls' => 'Chamadas Totais',
        'url_import_health' => 'URL Smart Import',
        'url_import_total' => 'Total de Tarefas',
        'url_import_running' => 'Em execução',
        'url_import_completed' => 'Concluídas',
        'url_import_failed' => 'Falhas',
        'url_import_waiting_import' => 'Aguardando Importação',
        'popular_articles' => 'Conteúdo Popular',
        'view_count_short' => ':count visualizações',
        'quick_start' => [
            'eyebrow' => 'Início Rápido',
            'title' => 'Gere e publique conteúdo em três passos',
            'subtitle' => 'Conecte um modelo de IA, prepare conhecimento, títulos, palavras-chave e imagens, e crie uma tarefa para gerar rascunhos e publicá-los conforme o agendamento.',
            'api_title' => 'Configurar API',
            'api_desc' => 'Adicione pelo menos um modelo de chat disponível. Configure um modelo de embedding se quiser recuperação RAG da base de conhecimento.',
            'api_button' => 'Configurar Modelos de IA',
            'material_title' => 'Configurar Materiais',
            'material_desc' => 'Converta informações reais e confiáveis em ativos reutilizáveis para que as tarefas os priorizem.',
            'knowledge' => 'Conhecimento',
            'titles' => 'Títulos',
            'keywords' => 'Palavras-chave',
            'images' => 'Imagens',
            'authors' => 'Autores',
            'task_title' => 'Criar Tarefa',
            'task_desc' => 'Escolha bibliotecas de títulos, materiais e modelos, defina limites e frequência, e deixe o GEOFlow gerar e publicar.',
            'task_button' => 'Criar Tarefa',
        ],
        'navigation' => [
            'heading' => 'Navegação Inicial',
            'subtitle' => 'Entre nos espaços de trabalho comuns por operação de site único ou distribuição multi-site.',
            'single_site_title' => 'Operação de Site Único',
            'single_site_desc' => 'Configure modelos, prepare materiais, gere conteúdo, gerencie artigos e acompanhe análises do site principal.',
            'multi_site_title' => 'Distribuição Multi-site',
            'multi_site_desc' => 'Conecte sites de canal, implante pacotes de site, monitore filas de distribuição e gerencie conteúdo remoto.',
            'ai_config_title' => 'Configurar IA',
            'ai_config_desc' => 'Mantenha modelos de chat, modelos de embedding e prompts.',
            'materials_title' => 'Configurar Materiais',
            'materials_desc' => 'Gerencie bases de conhecimento, bibliotecas de títulos, bibliotecas de palavras-chave, bibliotecas de imagens e autores.',
            'url_import_title' => 'Importação Inteligente de URL',
            'url_import_desc' => 'Extraia materiais estruturados de páginas externas.',
            'create_task_title' => 'Criar Tarefa de Produção',
            'create_task_desc' => 'Defina tópicos, materiais, modelos, ritmo de publicação e escopo de distribuição.',
            'articles_title' => 'Gerenciar Artigos',
            'articles_desc' => 'Revise, edite, publique e mantenha artigos locais.',
            'site_settings_title' => 'Configurações do Site',
            'site_settings_desc' => 'Mantenha título, tema, SEO, copyright e regras de segurança.',
            'analytics_title' => 'Ver Análises',
            'analytics_desc' => 'Acompanhe conteúdo, tarefas, distribuição, logs de acesso e tendências de crawlers de IA.',
            'prompt_config_title' => 'Configuração de Prompts',
            'prompt_config_desc' => 'Mantenha prompts de geração de conteúdo e prompts especiais para palavras-chave e descrições.',
            'body_prompt_label' => 'Prompts de Conteúdo',
            'special_prompt_label' => 'Prompts Especiais',
            'admin_users_title' => 'Gerenciamento de Usuários',
            'admin_users_desc' => 'Gerencie contas administrativas, funções, status e ações de segurança.',
            'distribution_channels_title' => 'Gerenciar Canais',
            'distribution_channels_desc' => 'Mantenha Agents de sites-alvo, segredos, templates e configurações remotas.',
            'create_channel_title' => 'Criar Site de Canal',
            'create_channel_desc' => 'Gere o pacote do site-alvo e o segredo de conexão.',
            'distribution_jobs_title' => 'Ver Fila de Distribuição',
            'distribution_jobs_desc' => 'Acompanhe publicação, atualização, exclusão e retentativas remotas.',
            'remote_content_title' => 'Conteúdo Remoto',
            'remote_content_desc' => 'Edite ou exclua cópias remotas e atualize páginas do site-alvo.',
        ],
        'skill_resources' => [
            'title' => 'Ferramentas Skill Complementares',
            'desc' => 'Use estas skills com distribuição multi-site, templates de sites-alvo e operações em lote para conectar planejamento de templates, design de temas e fluxos CLI.',
            'open' => 'Ver Skill',
            'template_title' => 'yao-geoflow-template',
            'template_desc' => 'Analisa o contrato frontend do GEOFlow e mapeia sites de referência para pacotes de template compatíveis, módulos de página e planos de preview.',
            'design_title' => 'yao-geoflow-design',
            'design_desc' => 'Descobre, pré-visualiza, clona e itera temas Laravel Blade preservando os contratos de negócio do GEOFlow.',
            'cli_title' => 'yao-geoflow-cli',
            'cli_desc' => 'Opera o GEOFlow pela CLI local ou API para orquestrar tarefas, enviar artigos, revisar, publicar e gerenciar em lote.',
        ],
        'material_chunks' => 'Fragmentos de Conhecimento',
        'analytics_card_title' => 'Análise Completa',
        'analytics_card_desc' => 'Categorias, desempenho, tarefas, materiais, uso de IA, importação de URL e tendências de logs agora ficam na página de Análise, com filtros por data e dimensão.',
        'analytics_card_button' => 'Abrir Análise',
    ],
    'materials' => [
        'page_title' => 'Materiais',
        'heading' => 'Materiais',
        'subtitle' => 'Gerencie palavras-chave, títulos, imagens e bases de conhecimento de IA',
        'author_manage' => 'Autores',
        'library_count' => ':count bibliotecas',
        'keyword_libraries' => 'Bibliotecas de Palavras-chave',
        'keyword_count' => ':count palavras-chave',
        'title_libraries' => 'Bibliotecas de Títulos',
        'title_count' => ':count títulos',
        'image_libraries' => 'Bibliotecas de Imagens',
        'image_count' => ':count imagens',
        'knowledge_bases' => 'Bases de Conhecimento de IA',
        'author_count' => ':count autores',
        'unit_libraries' => ':count',
        'unit_items' => ':count',
        'unit_images' => ':count',
        'view_all' => 'Ver tudo',
        'keyword_manage_title' => 'Gerenciamento de Biblioteca de Palavras-chave',
        'keyword_library_count' => 'Bibliotecas de Palavras-chave',
        'keyword_total_count' => 'Total de Palavras-chave',
        'manage_keyword_libraries' => 'Gerenciar Bibliotecas de Palavras-chave',
        'title_manage_title' => 'Gerenciamento de Biblioteca de Títulos',
        'title_library_count' => 'Bibliotecas de Títulos',
        'title_total_count' => 'Total de Títulos',
        'manage_title_libraries' => 'Gerenciar Bibliotecas de Títulos',
        'image_manage_title' => 'Gerenciamento de Biblioteca de Imagens',
        'image_library_count' => 'Bibliotecas de Imagens',
        'image_total_count' => 'Total de Imagens',
        'manage_image_libraries' => 'Gerenciar Bibliotecas de Imagens',
        'knowledge_manage_title' => 'Gerenciamento de Base de Conhecimento IA',
        'knowledge_base_count' => 'Bases de Conhecimento',
        'author_total_count' => 'Autores',
        'manage_knowledge_bases' => 'Gerenciar Bases de Conhecimento',
        'keywords_summary' => 'Gerencie ativos de palavras-chave para geração de conteúdo IA',
        'titles_summary' => 'Gerencie títulos de artigos criados manualmente e gerados por IA',
        'images_summary' => 'Gerencie imagens de capa e ativos de mídia dos artigos',
        'knowledge_summary' => 'Gerencie documentos de conhecimento usados durante a geração de conteúdo IA',
        'quick_actions' => 'Ações Rápidas',
        'manage_keywords_short' => 'Gerenciar palavras-chave',
        'manage_titles_short' => 'Gerenciar títulos',
        'manage_images_short' => 'Gerenciar imagens',
        'manage_knowledge_short' => 'Gerenciar conhecimento',
        'url_import' => 'Importação Inteligente de URL',
        'url_import_iterating' => 'Em Iteração',
        'url_import_short' => 'Gere materiais de uma página web com um clique. A capacidade ainda está evoluindo.',
        'url_import_history' => 'Histórico de Importação',
        'url_import_history_short' => 'Ver jobs e logs de importação de URL',
        'url_import_warning' => 'Esta funcionalidade ainda está evoluindo e não está madura',
        'url_import_title' => 'Digite uma URL de página web para gerar ativos importáveis automaticamente',
        'url_import_description' => 'O sistema extrai conteúdo do artigo, executa limpeza e análise semântica de IA, depois prepara base de conhecimento IA, biblioteca de palavras-chave e biblioteca de títulos para importação com um clique.',
        'url_import_caution' => 'Atualmente recomendado apenas para imports de página única com revisão manual. Precisão de extração, deduplicação, mapeamento de fonte e confirmação de importação final ainda estão sendo refinados.',
        'url_import_target_label' => 'URL de Origem',
        'url_import_placeholder' => 'Cole a URL do artigo, documentação ou página pública que deve ser extraída...',
        'url_import_start' => 'Iniciar Importação',
        'url_import_option_knowledge' => 'Gerar base de conhecimento',
        'url_import_option_keywords' => 'Extrair palavras-chave',
        'url_import_option_titles' => 'Gerar títulos',
        'url_import_option_ai_cleaning' => 'Limpeza com IA',
        'url_import_option_semantic' => 'Análise semântica',
        'url_import_flow_label' => 'Fluxo',
        'url_import_flow_title' => 'Extrair Conteúdo da URL',
        'url_import_flow_desc' => 'Busque a página, limpe o corpo principal e converta o conteúdo em materiais reutilizáveis.',
        'url_import_assets_label' => 'Materiais',
        'url_import_assets_title' => 'Ativos Estruturados',
        'url_import_assets_desc' => 'Gere palavras-chave, títulos e fragmentos de conhecimento a partir do conteúdo extraído.',
        'url_import_stage_label' => 'Etapas',
        'url_import_stage_title' => 'Progresso em Tempo Real',
        'url_import_stage_desc' => 'Acompanhe busca, extração, limpeza, geração de materiais e gravação final.',
        'url_import_upcoming_title' => 'Próximas etapas',
        'url_import_upcoming_step_1' => 'Cole uma URL pública e selecione os tipos de material a gerar.',
        'url_import_upcoming_step_2' => 'O sistema busca e limpa o conteúdo principal da página.',
        'url_import_upcoming_step_3' => 'Revise os materiais gerados antes de usá-los em tarefas.',
        'url_import_progress_title' => 'Progresso da Importação',
        'url_import_waiting_start' => 'Aguardando início',
        'url_import_stage_status_title' => 'Status da Etapa',
        'url_import_log_title' => 'Logs de Execução',
        'url_import_waiting_log_status' => 'Os logs aparecerão após iniciar a importação.',
        'url_import_preview_title' => 'Prévia do Resultado',
        'url_import_preview_subtitle' => 'Confira os materiais extraídos e gerados.',
        'url_import_knowledge_preview_title' => 'Prévia da Base de Conhecimento',
        'url_import_result_title' => 'Resultado da Importação',
        'url_import_keywords_label' => 'Palavras-chave',
        'url_import_titles_label' => 'Títulos',
        'url_import_stage_completed' => 'Concluído',
        'url_import_stage_in_progress' => 'Em andamento',
        'url_import_stage_pending' => 'Pendente',
        'url_import_step_fetch' => 'Buscar Página',
        'url_import_step_extract' => 'Extrair Conteúdo',
        'url_import_step_ai_clean' => 'Limpeza com IA',
        'url_import_step_keywords' => 'Gerar Palavras-chave',
        'url_import_step_titles' => 'Gerar Títulos',
        'url_import_step_knowledge' => 'Gerar Conhecimento',
        'url_import_step_completed' => 'Finalizado',
        'url_import_waiting_logs' => 'Aguardando logs de execução...',
        'url_import_status_fetch_failed' => 'Falha ao buscar a página',
        'url_import_processing_done' => 'Processamento concluído',
        'url_import_processing' => 'Processando...',
        'url_import_task_failed' => 'A tarefa de importação falhou',
        'url_import_error_required' => 'Informe uma URL válida para importar.',
        'url_import_processing_button' => 'Importando...',
        'url_import_task_create_failed' => 'Falha ao criar a tarefa de importação',
        'url_import_task_started' => 'Tarefa de importação iniciada',
    ],
    'tasks' => [
        'page_title' => 'Gerenciamento de Tarefas',
        'page_subtitle' => 'Gerencie tarefas de geração de conteúdo com IA',
        'list_title' => 'Lista de Tarefas',
        'empty_title' => 'Ainda não há tarefas',
        'empty_desc' => 'Crie sua primeira tarefa de geração de conteúdo',
        'column' => [
            'name' => 'Nome da Tarefa',
            'created_at' => 'Criada em',
            'model' => 'Modelo de IA',
            'article_stats' => 'Estatísticas',
            'loop_count' => 'Loop / Publicação',
            'status' => 'Status',
            'actions' => 'Ações',
        ],
        'label' => [
            'title_library' => 'Biblioteca de Títulos',
            'created_articles' => 'Criados: :count',
            'created_of_limit' => 'Criados: :created / :limit',
            'draft_articles' => 'Rascunhos: :count',
            'published_articles' => 'Publicados: :count',
            'success_fail' => 'Sucesso: :success Falhas: :fail',
            'loop_times' => ':count vezes',
            'loop' => 'Loop',
            'pending_running' => 'Na fila :pending · Em execução :running',
            'estimated' => 'ETA :time',
            'pending_queue' => 'Na fila · :count',
            'next_run_at' => 'Próxima execução: :time',
            'publish_interval_minutes' => 'Publicar a cada :count min',
            'retrying_with_attempts' => 'Tentando :current/:max',
            'latest_reason' => 'Último motivo: :message',
        ],
        'status' => [
            'running' => 'Em execução',
            'paused' => 'Pausada',
            'enabled' => 'Ativa',
            'disabled' => 'Pausada',
            'pending' => 'Na fila',
            'waiting' => 'Ativa, aguardando próxima execução',
            'waiting_publish' => 'Aguardando intervalo de publicação',
            'draft_pool_full' => 'Piscina de Rascunhos Cheia',
            'limit_reached' => 'Limite Total de Artigos Atingido',
            'retrying' => 'Tentando novamente',
            'completed' => 'Execução Concluída',
            'failed' => 'Execução Falhou',
        ],
        'mode' => [
            'fixed' => 'Fixo',
            'smart_failover' => 'Failover Inteligente',
        ],
        'action' => [
            'settings' => 'Configurações da Tarefa',
            'articles' => 'Gerenciar Artigos',
            'delete' => 'Excluir Tarefa',
            'start_batch' => 'Iniciar Geração',
            'stop_batch' => 'Parar e Pausar',
            'paused' => 'Tarefa Pausada',
            'starting' => 'Iniciando',
            'stopping' => 'Parando',
            'activating' => 'Ativando...',
            'pausing' => 'Pausando...',
        ],
        'confirm' => [
            'delete' => 'Excluir esta tarefa? Artigos relacionados serão movidos para a lixeira.',
            'run_all' => 'Executar todas as tarefas agora?',
            'start' => 'Iniciar tarefa ":name"?\\n\\nSerá enfileirada imediatamente e continuará conforme o limite total de artigos, limite de rascunhos e intervalo de publicação.',
            'stop' => 'Parar e pausar tarefa ":name"?\\n\\nTrabalhos pendentes serão cancelados, trabalhos em execução sairão após o ciclo atual, e o agendamento automático será pausado.',
            'activate' => 'Ativar esta tarefa?',
            'pause' => 'Pausar esta tarefa?',
        ],
        'message' => [
            'paused_stopped' => 'Tarefa pausada. Execução em lote foi interrompida.',
            'activated' => 'Tarefa ativada',
            'status_update_failed' => 'Falha ao atualizar status',
            'delete_success' => 'Tarefa excluída',
            'delete_failed' => 'Exclusão falhou: :message',
            'query_failed' => 'Consulta ao banco falhou: :message',
            'no_runnable' => 'Nenhuma tarefa ativa pode ser enfileirada agora',
            'task_queued' => 'Tarefa ":name" foi enfileirada',
            'task_stopped' => 'Tarefa ":name" parou o agendamento automático',
            'start_failed' => 'Início falhou: :message',
            'stop_failed' => 'Parada falhou: :message',
            'request_failed' => 'Requisição falhou: :message',
            'bulk_submitted' => ':success/:total tarefas submetidas à fila',
            'bulk_submitted_partial' => 'Submissão em lote concluída. Sucesso :success/:total',
        ],
        'stats' => [
            'total_tasks' => 'Total de Tarefas',
            'running' => 'Em Execução',
            'enabled' => 'Ativas',
            'total_articles' => 'Total de Artigos',
            'total_published' => 'Publicados',
        ],
        'worker' => [
            'title' => 'Status do Worker',
            'none' => 'Nenhum heartbeat do worker ainda',
            'current_job' => 'Trabalho Atual',
            'idle' => 'Ocioso',
            'last_seen' => 'Última Conexão',
        ],
        'queue' => [
            'title' => 'Visão Geral da Fila',
            'pending' => 'Pendente',
            'running' => 'Em Execução',
            'failed' => 'Falhou',
            'completed' => 'Concluído',
        ],
        'jobs' => [
            'recent' => 'Trabalhos Recentes',
            'none' => 'Nenhum registro de trabalho ainda',
            'unknown_task' => 'Tarefa Desconhecida',
            'updated_at' => 'Atualizado em',
            'task_prefix' => 'Tarefa',
        ],
        'failure' => [
            'empty_content' => 'Corpo vazio bloqueado',
            'empty_content_detail' => 'O modelo retornou um corpo vazio. O sistema marcou esta execução como falhou e não salvou.',
            'content_too_short' => 'Corpo muito curto',
            'content_too_short_detail' => 'O conteúdo gerado não atingiu o comprimento mínimo e foi bloqueado.',
            'title_exhausted' => 'Biblioteca de títulos esgotada',
            'title_exhausted_detail' => 'Não há mais títulos disponíveis na biblioteca atual. Adicione mais títulos ou troque a biblioteca.',
            'paused' => 'Tarefa pausada',
            'paused_detail' => 'Trabalhos pendentes foram cancelados. Este não é um erro de geração do modelo.',
            'model_timeout' => 'Timeout do modelo',
            'model_timeout_detail' => 'O modelo não retornou em :seconds segundos. A tarefa continuará conforme a política de repetição.',
            'execution_failed' => 'Execução falhou',
            'recent_failed' => 'Execução recente falhou',
        ],
    ],
    'articles' => [
        'page_title' => 'Gerenciamento de Artigos',
        'page_subtitle' => 'Veja publicação e revisão em um único lugar.',
        'list_title' => 'Lista de Artigos',
        'list_total' => '(:count total)',
        'empty_title' => 'Nenhum artigo',
        'empty_desc' => 'Nenhum artigo corresponde aos filtros atuais',
        'column' => [
            'id' => 'ID',
            'info' => 'Info do Artigo',
            'task_author' => 'Tarefa / Autor',
            'workflow' => 'Fluxo',
            'created_at' => 'Criado em',
            'actions' => 'Ações',
            'category' => 'Categoria',
            'author' => 'Autor',
        ],
        'stats' => [
            'total' => 'Total',
            'published' => 'Publicados',
            'draft' => 'Rascunhos',
            'pending_review' => 'Pendente de Revisão',
            'today' => 'Adicionados Hoje',
        ],
        'badge' => [
            'hot' => 'Quente',
            'featured' => 'Destaque',
        ],
        'filters' => [
            'title' => 'Filtros e Busca',
            'task' => 'Tarefa',
            'status' => 'Status de Publicação',
            'review_status' => 'Status de Revisão',
            'author' => 'Autor',
            'date_from' => 'Data Inicial',
            'date_to' => 'Data Final',
            'search' => 'Buscar',
            'search_placeholder' => 'Buscar título ou conteúdo...',
            'all_tasks' => 'Todas as Tarefas',
            'all_status' => 'Todos os Status',
            'all_review' => 'Todos os Resultados',
            'all_authors' => 'Todos os Autores',
            'current_task' => 'Mostrando apenas artigos da tarefa ":task"',
            'clear_task' => 'Ver todos os artigos',
        ],
        'bulk' => [
            'selected' => ':count artigos selecionados',
            'selected_prefix' => '',
            'selected_suffix' => ' artigos selecionados',
            'select_action' => 'Selecionar Ação',
            'update_status' => 'Alterar Status',
            'update_review' => 'Alterar Resultado da Revisão',
            'delete' => 'Excluir Artigos',
            'status_to' => 'Alterar Status',
            'review_to' => 'Alterar Resultado',
        ],
        'keywords' => 'Palavras-chave',
        'ai_generated' => 'Gerado por IA',
        'publish_prefix' => 'Publicar',
        'review_prefix' => 'Revisão',
        'published_at' => 'Publicado: :time',
        'pagination' => [
            'summary' => 'Mostrando :from - :to de :total',
            'pages' => '(Página :page de :total_pages)',
            'per_page' => 'Por página',
            'go_to' => 'Ir para',
            'prev' => 'Anterior',
            'next' => 'Próximo',
            'first' => 'Primeira',
            'last' => 'Última',
        ],
        'status' => [
            'published' => 'Publicado',
            'draft' => 'Rascunho',
            'private' => 'Privado',
        ],
        'review' => [
            'approved' => 'Aprovado',
            'auto_approved' => 'Aprovado Automaticamente',
            'rejected' => 'Rejeitado',
            'pending' => 'Revisão Manual Pendente',
            'title' => 'Revisão de Artigos',
            'subtitle' => 'Gerencie artigos pendentes, aprovados e rejeitados.',
            'subtitle_flow' => 'Resultados convergem automaticamente para o estado correspondente.',
            'back' => 'Voltar aos Artigos',
            'filter_title' => 'Filtros',
            'filter_status' => 'Resultado da Revisão',
            'filter_task' => 'Tarefa',
            'filter_search' => 'Buscar',
            'list_title' => 'Lista de Artigos',
            'bulk' => 'Revisão em Lote',
            'empty_title' => 'Nenhum Artigo',
            'empty_desc' => 'Nenhum artigo corresponde aos filtros.',
            'apply' => 'Aplicar Resultado',
            'note_placeholder' => 'Nota de revisão (opcional)',
            'task_prefix' => 'Tarefa',
            'author_prefix' => 'Autor',
            'created_prefix' => 'Criado',
            'last_note' => 'Última nota',
            'view_detail' => 'Ver Detalhes',
            'stats_pending' => 'Pendente de Revisão',
            'stats_approved' => 'Aprovados',
            'stats_rejected' => 'Rejeitados',
            'stats_auto' => 'Auto Aprovados',
            'selected_prefix' => '',
            'selected_suffix' => ' artigos selecionados',
            'select_result' => 'Selecione o resultado',
            'confirm_batch' => 'Tem certeza que deseja :action os :count artigos selecionados?',
            'prompt_note' => 'Digite uma nota (opcional):',
            'alert_select_articles' => 'Selecione artigos para revisar.',
            'alert_select_result' => 'Selecione um resultado.',
        ],
        'action' => [
            'approve' => 'Aprovar',
            'reject' => 'Rejeitar',
            'review' => 'Revisar',
        ],
        'confirm' => [
            'delete' => 'Excluir este artigo? Será movido para a lixeira.',
            'delete_title' => 'Confirmar exclusão',
            'delete_selected' => 'Excluir os :count artigos selecionados?',
            'quick_review' => 'Tem certeza que deseja :action este artigo?',
        ],
        'message' => [
            'batch_status_updated' => 'Atualização em lote bem-sucedida. :count artigos atualizados.',
            'batch_status_failed' => 'Atualização em lote falhou',
            'batch_status_required' => 'Selecione artigos e um status alvo primeiro',
            'batch_review_updated' => 'Resultado da revisão atualizado. :count artigos processados.',
            'batch_review_failed' => 'Revisão em lote falhou',
            'batch_review_required' => 'Selecione artigos e resultado primeiro',
            'batch_delete_success' => ':count artigos excluídos',
            'batch_delete_failed' => 'Exclusão falhou',
            'batch_delete_required' => 'Selecione artigos para excluir primeiro',
            'delete_failed_refresh' => 'Exclusão falhou. Atualize e tente novamente.',
            'select_articles' => 'Selecione artigos para operar.',
            'select_action' => 'Selecione uma ação.',
            'select_status' => 'Selecione o status de publicação.',
            'select_review' => 'Selecione o resultado da revisão.',
            'review_failed_refresh' => 'Revisão falhou. Atualize e tente novamente.',
        ],
        'trash' => [
            'title' => 'Lixeira de Artigos',
            'subtitle' => 'Gerencie artigos excluídos, restaure ou exclua permanentemente.',
            'back' => 'Voltar aos Artigos',
            'empty' => 'Esvaziar Lixeira',
            'stats_total' => 'Itens na Lixeira',
            'stats_sensitive' => 'Exclusões por Palavra Sensível',
            'stats_manual' => 'Exclusões Manuais',
            'all_authors' => 'Todos os Autores',
            'search_placeholder' => 'Buscar artigos excluídos...',
            'current_author' => 'Mostrando lixeira do autor ":name".',
            'list_title' => 'Artigos Excluídos',
            'bulk' => 'Ações em Lote',
            'empty_title' => 'Lixeira Vazia',
            'empty_desc' => 'Nenhum artigo excluído encontrado.',
            'selected_prefix' => '',
            'selected_suffix' => ' artigos selecionados',
            'column' => [
                'info' => 'Info do Artigo',
                'task_author' => 'Tarefa / Autor',
                'deleted_at' => 'Excluído em',
                'actions' => 'Ações',
            ],
            'deleted' => 'Excluído',
            'created_prefix' => 'Criado',
            'confirm_batch_restore' => 'Restaurar os :count artigos selecionados?',
            'confirm_batch_delete' => 'Excluir permanentemente os :count artigos selecionados?',
            'confirm_restore' => 'Restaurar este artigo?',
            'confirm_delete' => 'Excluir permanentemente este artigo?',
            'confirm_empty' => 'Esvaziar a lixeira? Todos os artigos serão excluídos permanentemente.',
            'action_restore' => 'Restaurar',
            'action_force_delete' => 'Excluir Permanentemente',
            'alert_select' => 'Selecione artigos para operar.',
            'message' => [
                'restore_success' => ':count artigos restaurados',
                'restore_failed' => 'Falha ao restaurar',
                'delete_success' => ':count artigos excluídos permanentemente',
                'delete_failed' => 'Exclusão permanente falhou: :message',
                'empty_success' => 'Lixeira esvaziada. :count artigos excluídos permanentemente',
                'empty_already' => 'A lixeira já está vazia',
                'empty_failed' => 'Falha ao esvaziar: :message',
            ],
        ],
        'filter' => [
            'uncategorized' => 'Sem Categoria',
        ],
    ],
    'ai_configurator' => [
        'page_title' => 'Configuração de IA',
        'heading' => 'Configuração de IA',
        'subtitle' => 'Gerencie modelos de IA e prompts',
        'models_title' => 'Modelos de IA',
        'models_desc' => 'Gerenciar modelos de IA',
        'models_action' => 'Configurar Modelos de IA',
        'prompts_title' => 'Prompts',
        'prompts_desc' => 'Gerenciar prompts de conteúdo',
        'prompts_action' => 'Configurar Prompts',
        'special_title' => 'Outros Prompts',
        'overview' => 'Resumo de Configuração',
        'special_desc' => 'Configure prompts especiais para geração de palavras-chave e descrições SEO.',
        'special_action' => 'Configurar Prompts Especiais',
        'active_models' => 'Modelos Ativos',
        'prompt_templates' => 'Templates de Prompt',
        'total_calls' => 'Chamadas Totais',
        'today_calls' => 'Chamadas Hoje',
        'help_title' => 'Guia de Configuração',
        'help_models' => 'Modelos: configure modelos de chat e embedding disponíveis.',
        'help_content_prompts' => 'Prompts de conteúdo: controlam a geração do corpo dos artigos.',
        'help_special_prompts' => 'Prompts especiais: controlam palavras-chave e descrições.',
        'help_pipeline' => 'Pipeline: tarefas combinam modelos, materiais e prompts para gerar conteúdo.',
    ],
    'site_settings' => [
        'page_title' => 'Configurações do Site',
        'page_subtitle' => 'Configure perfil do site e SEO',
        'section_basic' => 'Configurações Básicas',
        'field_site_name' => 'Nome do Site *',
        'field_logo' => 'URL do Logo',
        'field_admin_base_path' => 'Rota URL do Admin *',
        'field_description' => 'Descrição do site',
        'field_subtitle' => 'Subtítulo do Site',
        'field_keywords' => 'Palavras-chave',
        'module_sensitive_words' => 'Palavras Sensíveis',
        'module_sensitive_words_desc' => 'Adicione, revise e remova palavras sensíveis usadas antes de publicar artigos.',
        'field_copyright' => 'Nota de Direitos Autorais',
        'field_featured_limit' => 'Artigos em Destaque na Página Inicial',
        'field_per_page' => 'Artigos por Página no Frontend',
        'section_home_carousel' => 'Carrossel Inicial',
        'home_carousel_desc' => 'Configure até 3 imagens de capa. Se houver várias, elas mudam a cada 10 segundos.',
        'home_carousel_slide' => 'Slide :index',
        'field_home_carousel_image' => 'URL da Imagem',
        'field_home_carousel_title' => 'Descrição da Imagem',
        'field_home_carousel_link' => 'Link',
        'field_home_carousel_enabled' => 'Ativado',
        'placeholder_home_carousel_image' => 'https://example.com/banner.jpg ou /storage/banner.jpg',
        'placeholder_home_carousel_title' => 'Texto alt da imagem',
        'placeholder_home_carousel_link' => 'Opcional, por exemplo /article/demo ou https://example.com',
        'field_seo_title_template' => 'Template de Título da Página',
        'field_seo_description_template' => 'Template de Descrição da Página',
        'field_favicon' => 'URL do Favicon',
        'field_analytics' => 'Código de Analítica',
        'placeholder_site_name' => 'Digite o nome do site',
        'placeholder_admin_base_path' => 'Exemplo: geo_admin ou painel-admin',
        'placeholder_description' => 'Digite a descrição do site',
        'placeholder_subtitle' => 'Usado no hero da página inicial e nos templates de título',
        'placeholder_keywords' => 'palavra-chave1, palavra-chave2, palavra-chave3',
        'placeholder_analytics' => '<!-- Código do Google Analytics ou outro código de rastreamento -->',
        'keywords_help' => 'Separe várias palavras-chave com vírgulas',
        'admin_base_path_help' => 'Após salvar, o acesso ao admin muda para a nova URL imediatamente. Use apenas letras minúsculas, números, hifens e sublinhados. Guarde a nova URL antes de salvar para não perder o acesso.',
        'section_seo' => 'SEO',
        'seo_title_help' => 'Variáveis disponíveis: {title}, {site_name}, {category}',
        'seo_description_help' => 'Variáveis disponíveis: {description}, {site_name}, {keywords}',
        'section_analytics' => 'Analítica',
        'analytics_help' => 'Este trecho é injetado na tag <head> da página',
        'analytics_super_admin_only' => 'O código de analítica é injetado diretamente nas páginas públicas. Apenas super-administradores podem editá-lo.',
        'save_settings' => 'Salvar Configurações',
        'error' => [
            'site_name_required' => 'O nome do site é obrigatório',
            'admin_base_path_required' => 'A rota URL do admin é obrigatória',
            'admin_base_path_invalid' => 'Rota URL do admin inválida. Use de 3 a 48 letras minúsculas, números, hifens ou sublinhados, e comece/termine com uma letra ou número.',
            'admin_base_path_reserved' => 'Esta rota URL do admin conflita com um caminho do sistema. Escolha outra.',
            'admin_base_path_save_failed' => 'Falha ao salvar a rota URL do admin: :message',
        ],
        'message' => [
            'saved' => 'Configurações do site atualizadas',
            'saved_admin_base_path' => 'Configurações atualizadas. Nova URL do admin: :url',
            'save_error' => 'Falha na atualização: :message',
        ],
        'theme' => [
            'section_title' => 'Modelos do Site',
            'section_desc' => 'Temas ficam em resources/views/theme/{themeId}/ com um manifest.json opcional. Sobrescreva os arquivos Blade home, article, category, archive-index, archive-month conforme necessário; páginas ausentes usam como fallback resources/views/site/.',
            'current_label' => 'Modelo Ativo no Momento',
            'current_help' => 'Mudar de modelo não altera artigos, categorias, SEO ou contratos de conteúdo. Apenas substitui a camada de apresentação do frontend.',
            'default_name' => 'Modelo Padrão do Frontend',
            'default_desc' => 'Continue usando o frontend padrão do sistema sem ativar um pacote de tema.',
            'preview_home' => 'Visualizar Página Inicial',
            'preview_category' => 'Visualizar Categoria',
            'preview_article' => 'Visualizar Artigo',
            'preview_archive' => 'Visualizar Arquivo',
            'save' => 'Salvar Configurações de Modelo',
            'active_badge' => 'Ativo',
            'version_badge' => 'v:version',
            'no_description' => 'Nenhuma descrição fornecida',
            'invalid_selection' => 'O modelo selecionado não existe ou não está mais disponível',
            'message' => [
                'default_enabled' => 'Retornou ao modelo padrão do frontend',
                'activated' => 'Modelo ativado: :name',
                'save_failed' => 'Falha ao salvar as configurações de modelo',
            ],
        ],
        'ads' => [
            'section_title' => 'Anúncios da Página de Detalhes do Artigo',
            'section_desc' => 'Configure o anúncio fixo exibido próximo ao rodapé das páginas de artigos. Você pode adicionar, editar e remover múltiplos anúncios; o frontend exibirá o primeiro ativado.',
            'add' => 'Adicionar Espaço de Anúncio',
            'preview_title' => 'Visualização do Anúncio',
            'preview_badge' => 'Destaque',
            'preview_heading' => 'Posicione a próxima ação logo após o leitor terminar o artigo',
            'preview_copy' => 'Use uma linha de apoio curta aqui e guie o usuário com um CTA fixo abaixo do artigo.',
            'preview_cta' => 'Saiba Mais',
            'position_label' => 'Espaço de anúncio fixo no rodapé',
            'field_name' => 'Nome do Anúncio',
            'field_badge' => 'Texto do Emblema',
            'field_title' => 'Título do Anúncio',
            'field_copy' => 'Texto do Anúncio *',
            'field_button_text' => 'Texto do Botão *',
            'field_button_url' => 'URL do Botão *',
            'field_enabled' => 'Ativar Este Anúncio',
            'enabled_help' => 'O frontend exibe apenas o primeiro anúncio ativado e passa para os próximos se este estiver desativado.',
            'placeholder_name' => 'Exemplo: CTA do artigo principal',
            'placeholder_badge' => 'Exemplo: Destaque / Tempo Limitado',
            'placeholder_title' => 'Exemplo: Obtenha o modelo de conteúdo do setor e comece a usar agora',
            'placeholder_copy' => 'Escreva uma linha de apoio curta, idealmente com uma ou duas linhas',
            'placeholder_button_text' => 'Exemplo: Fale Conosco',
            'placeholder_button_url' => '/contato ou https://exemplo.com',
            'empty_title' => 'Nenhum espaço de anúncio configurado ainda',
            'empty_desc' => 'Clique em "Adicionar Espaço de Anúncio" para criar o primeiro anúncio fixo para as páginas de detalhes do artigo',
            'save' => 'Salvar Espaços de Anúncios',
            'new_slot' => 'Novo Espaço de Anúncio',
            'default_name' => 'Espaço de Anúncio :index',
            'validation_required' => 'O espaço de anúncio #:index está sem conteúdo obrigatório. Preencha o texto, o texto do botão e a URL do botão.',
            'save_failed' => 'Falha ao salvar os espaços de anúncios',
            'saved' => 'Anúncios da página de detalhes do artigo atualizados com sucesso',
        ],
        'system_name' => 'GEOFlow',
    ],
    'admin_users' => [
        'page_title' => 'Gerenciamento de Usuários',
        'page_subtitle' => 'Crie usuários padrão do backend e revise o acesso',
        'view_logs' => 'Ver Logs',
        'add_admin' => 'Adicionar Administrador',
        'total_admins' => 'Total de Usuários',
        'active_admins' => 'Usuários Ativos',
        'super_admins' => 'Superadministradores',
        'permission_notice' => 'Usuários padrão têm permissões operacionais. Apenas superadministradores podem ver usuários e logs.',
        'list_title' => 'Lista de Usuários',
        'column_account' => 'Conta',
        'column_role' => 'Função',
        'column_status' => 'Status',
        'column_last_login' => 'Último Acesso',
        'column_created' => 'Criação',
        'column_activity' => 'Atividade',
        'role_super_admin' => 'Superadministrador',
        'role_admin' => 'Administrador',
        'status_active' => 'Ativo',
        'status_inactive' => 'Inativo',
        'none_last_login' => 'Nunca',
        'system_init' => 'Sistema',
        'created_by' => 'Criado por: :value',
        'activity_count' => ':count logs',
        'action_enable' => 'Ativar',
        'action_disable' => 'Desativar',
        'confirm_delete' => 'Excluir o administrador ":username"? Esta conta não poderá mais fazer login.',
        'modal_create' => 'Adicionar Administrador',
        'modal_edit' => 'Editar Administrador',
        'field_username' => 'Usuário *',
        'field_display_name' => 'Nome de Exibição',
        'field_email' => 'Email',
        'field_password' => 'Senha Inicial *',
        'field_confirm_password' => 'Confirmar Senha *',
        'field_new_password' => 'Nova Senha',
        'field_confirm_new_password' => 'Confirmar Nova Senha',
        'placeholder_username' => 'Exemplo: editor_01',
        'placeholder_display_name' => 'Exemplo: Operador A',
        'placeholder_email' => 'Opcional',
        'create_help' => 'Novas contas são criadas como administradores padrão e ficam ativas.',
        'edit_help' => 'Deixe a senha em branco para mantê-la. Superadministradores não são editados aqui.',
        'create_admin_submit' => 'Criar Administrador',
        'update_admin_submit' => 'Salvar Alterações',
        'error' => [
            'username_required' => 'O usuário é obrigatório',
            'username_invalid' => 'O usuário só pode conter letras, números, pontos, sublinhados e hifens, de 3 a 50 caracteres',
            'password_required' => 'A senha é obrigatória',
            'password_mismatch' => 'As senhas não coincidem',
            'password_too_short' => 'A senha deve ter pelo menos 8 caracteres',
            'username_exists' => 'Este usuário já existe',
            'status_invalid' => 'Status de administrador inválido',
            'invalid_id' => 'ID de administrador inválido',
            'cannot_toggle_self' => 'Você não pode alterar seu próprio status',
            'not_found' => 'Administrador não encontrado',
            'cannot_toggle_super_admin' => 'Não é possível alterar o status de um superadministrador',
            'cannot_edit_super_admin' => 'Não é possível editar um superadministrador aqui',
            'cannot_delete_self' => 'Você não pode excluir a conta atual',
            'cannot_delete_super_admin' => 'Não é possível excluir um superadministrador',
        ],
        'message' => [
            'create_success' => 'Administrador criado com sucesso',
            'create_error' => 'Erro ao criar: :message',
            'update_success' => 'Administrador atualizado com sucesso',
            'update_error' => 'Erro ao atualizar: :message',
            'enabled' => 'Administrador ativado',
            'disabled' => 'Administrador desativado',
            'toggle_error' => 'Erro ao atualizar status: :message',
            'delete_success' => 'Administrador excluído',
            'delete_error' => 'Erro ao excluir: :message',
        ],
    ],
    'security' => [
        'page_title' => 'Gerenciamento de Palavras Sensíveis',
        'page_subtitle' => 'Gerencie as palavras sensíveis verificadas antes de publicar artigos',
        'total_sensitive_words' => 'Palavras Sensíveis',
        'back_to_site_settings' => 'Voltar às configurações do site',
        'sensitive_words_desc' => 'A verificação de palavras sensíveis é executada antes de publicar artigos para reduzir o risco de conteúdo não conforme no frontend. Mantenha a lista focada em termos que realmente devem ser bloqueados para evitar filtragem excessiva.',
        'current_admin' => 'Administrador atual',
        'account_created' => 'Conta criada',
        'current_role' => 'Função atual',
        'super_admin_entry' => 'Entrada de superadministrador',
        'add_sensitive_words' => 'Adicionar Palavras Sensíveis',
        'words_label' => 'Lista de Palavras Sensíveis',
        'words_placeholder' => 'Uma palavra sensível por linha&#10;Exemplo:&#10;palavra-bloqueada-1&#10;palavra-bloqueada-2&#10;palavra-bloqueada-3',
        'words_help' => 'Digite uma palavra sensível por linha. Duplicatas são removidas automaticamente.',
        'words_list' => 'Palavras Sensíveis',
        'empty_words' => 'Ainda não há palavras sensíveis. Adicione-as a partir do formulário à esquerda.',
        'word_added_at' => 'Adicionada em :value',
        'confirm_delete_word' => 'Excluir esta palavra sensível?',
        'change_password' => 'Alterar Senha do Administrador',
        'current_password' => 'Senha Atual',
        'current_password_placeholder' => 'Digite a senha atual',
        'new_password' => 'Nova Senha',
        'new_password_placeholder' => 'Digite uma nova senha (mínimo 6 caracteres)',
        'confirm_new_password' => 'Confirmar Nova Senha',
        'confirm_new_password_placeholder' => 'Digite novamente a nova senha',
        'tips_title' => 'Notas de Segurança',
        'tip_publish_check' => 'A detecção de palavras sensíveis é executada automaticamente antes de publicar artigos',
        'tip_auto_trash' => 'Artigos com palavras sensíveis são movidos automaticamente para a lixeira',
        'tip_update_words' => 'Atualize a lista de palavras sensíveis regularmente para melhorar a filtragem',
        'tip_strong_password' => 'Use senhas fortes para as contas de administrador e altere-as periodicamente',
        'error' => [
            'words_required' => 'Você deve inserir palavras sensíveis',
            'invalid_word_id' => 'ID de palavra sensível inválido',
            'password_fields_required' => 'Todos os campos de senha são obrigatórios',
            'password_mismatch' => 'A nova senha e a confirmação não coincidem',
            'password_too_short' => 'A nova senha deve ter pelo menos 6 caracteres',
            'current_password_wrong' => 'A senha atual está incorreta',
        ],
        'message' => [
            'words_added' => ':count palavras sensíveis adicionadas',
            'words_add_error' => 'Erro ao adicionar: :message',
            'word_deleted' => 'Palavra sensível excluída',
            'word_delete_failed' => 'Erro ao excluir',
            'word_delete_error' => 'Erro ao excluir: :message',
            'password_update_failed' => 'Não foi possível atualizar a senha',
            'password_update_error' => 'Não foi possível atualizar a senha: :message',
        ],
    ],
    'status' => [
        'markdown' => 'Markdown',
        'word_document' => 'Documento Word',
        'text' => 'Texto Simples',
        'unknown' => 'Desconhecido',
        'running' => 'Em execução',
        'paused' => 'Pausado',
        'label' => 'Status',
    ],
    'locale' => [
        'zh-CN' => 'Chinês Simplificado',
        'en' => 'Inglês',
        'ja' => 'Japonês',
        'es' => 'Espanhol',
        'ru' => 'Russo',
        'pt-BR' => 'Português (BR)',
        'pt_BR' => 'Português (BR)',
    ],
    'categories' => [
        'page_title' => 'Gerenciamento de Categorias',
        'heading' => 'Gerenciamento de Categorias',
        'subtitle' => 'Gerencie categorias e estrutura dos artigos',
        'add' => 'Adicionar Categoria',
        'back_to_articles' => 'Voltar aos Artigos',
        'add_form' => 'Adicionar Categoria',
        'edit_form' => 'Editar Categoria',
        'empty' => 'Nenhuma categoria ainda',
        'empty_desc' => 'Nenhuma categoria foi criada ainda',
        'add_first' => 'Adicionar Primeira Categoria',
        'list_title' => 'Lista de Categorias',
        'column_info' => 'Categoria',
        'column_article_count' => 'Artigos',
        'column_sort_order' => 'Ordem',
        'column_created_at' => 'Criado em',
        'field_name' => 'Nome da Categoria *',
        'field_slug' => 'URL Slug',
        'field_description' => 'Descrição',
        'field_sort_order' => 'Ordenação',
        'placeholder_name' => 'Digite o nome da categoria',
        'placeholder_slug' => 'Deixe em branco para ger automaticamente',
        'placeholder_description' => 'Digite a descrição da categoria',
        'placeholder_sort_order' => 'Números menores aparecem primeiro',
        'slug_help' => 'Usado em URLs. Deixe em branco para gerar automaticamente.',
        'sort_help' => 'Números menores aparecem primeiro. Padrão é 0.',
        'url_label' => 'URL',
        'article_count_badge' => ':count artigos',
        'save_add' => 'Adicionar Categoria',
        'save_edit' => 'Salvar Alterações',
        'confirm_delete' => 'Excluir esta categoria?',
        'delete_disabled' => 'Esta categoria ainda tem artigos e não pode ser excluída',
        'error' => [
            'name_required' => 'Nome da categoria é obrigatório',
            'name_exists' => 'Nome da categoria já existe',
            'delete_blocked' => 'Não é possível excluir esta categoria porque ainda contém :count artigos',
            'fetch_list_failed' => 'Falha ao carregar lista de categorias: :message',
            'not_found' => 'Categoria não encontrada',
            'fetch_detail_failed' => 'Falha ao carregar detalhes da categoria: :message',
        ],
        'message' => [
            'add_success' => 'Categoria criada com sucesso',
            'update_success' => 'Categoria atualizada com sucesso',
            'delete_success' => 'Categoria excluída com sucesso',
            'action_failed' => 'Operação falhou: :message',
            'delete_failed' => 'Falha ao excluir: :message',
        ],
    ],
    'title_libraries' => [
        'page_title' => 'Gerenciamento de Biblioteca de Títulos',
        'heading' => 'Gerenciamento de Biblioteca de Títulos',
        'subtitle' => 'Gerencie títulos criados manualmente e gerados por IA',
        'create' => 'Criar Biblioteca de Títulos',
        'total' => 'Bibliotecas de Títulos',
        'total_titles' => 'Total de Títulos',
        'ai_generated' => 'Gerado por IA',
        'list_title' => 'Lista de Bibliotecas de Títulos',
        'empty' => 'Nenhuma biblioteca de títulos ainda',
        'empty_desc' => 'Crie sua primeira biblioteca de títulos para começar a gerenciar títulos.',
        'create_first' => 'Criar Primeira Biblioteca',
        'title_count' => ':count títulos',
        'ai_count' => 'IA: :count',
        'created_at' => 'Criado: :value',
        'updated_at' => 'Atualizado: :value',
        'modal_create' => 'Criar Biblioteca de Títulos',
        'modal_import' => 'Importar Títulos Para',
        'field_name' => 'Nome da Biblioteca *',
        'field_description' => 'Descrição',
        'field_titles' => 'Títulos',
        'placeholder_name' => 'Digite o nome da biblioteca',
        'placeholder_description' => 'Descrição opcional',
        'placeholder_titles' => 'Digite os títulos, um por linha',
        'import_help' => 'Notas de Importação:',
        'import_line' => 'Um título por linha',
        'import_dedupe' => 'Duplicatas são ignoradas automaticamente',
        'import_length' => 'Tamanho recomendado: 15-30 caracteres',
        'import_button' => 'Importar Títulos',
        'confirm_delete' => 'Excluir biblioteca ":name"? Todos os títulos também serão removidos.',
        'error' => [
            'name_required' => 'Nome da biblioteca é obrigatório',
            'library_required' => 'Selecione uma biblioteca de títulos',
            'titles_required' => 'Digite pelo menos um título',
            'keyword_required' => 'Digite uma palavra-chave',
            'no_ai_model' => 'Nenhuma configuração de modelo de IA ativa disponível',
            'ai_failed' => 'Falha na geração de títulos por IA',
            'delete_blocked' => 'Esta biblioteca ainda está referenciada por tarefas e não pode ser excluída',
            'delete_more_tasks' => ' e mais :count tarefas',
        ],
        'message' => [
            'create_success' => 'Biblioteca de títulos criada com sucesso',
            'create_failed' => 'Falha ao criar biblioteca',
            'update_success' => 'Biblioteca atualizada com sucesso',
            'delete_success' => 'Biblioteca excluída com sucesso',
            'import_success' => ':count títulos importados com sucesso',
            'ai_success' => 'IA gerou :count títulos com sucesso',
            'create_error' => 'Falha ao criar: :message',
            'delete_error' => 'Falha ao excluir: :message',
            'import_error' => 'Falha ao importar: :message',
            'ai_error' => 'Falha na geração IA: :message',
        ],
    ],
    'keyword_libraries' => [
        'page_title' => 'Gerenciamento de Biblioteca de Palavras-chave',
        'heading' => 'Gerenciamento de Biblioteca de Palavras-chave',
        'subtitle' => 'Gerencie bibliotecas de palavras-chave',
        'create' => 'Criar Biblioteca de Palavras-chave',
        'total' => 'Bibliotecas de Palavras-chave',
        'total_keywords' => 'Total de Palavras-chave',
        'list_title' => 'Lista de Bibliotecas',
        'empty' => 'Nenhuma biblioteca ainda',
        'empty_desc' => 'Crie sua primeira biblioteca.',
        'keyword_count' => ':count palavras-chave',
        'created_at' => 'Criado: :value',
        'updated_at' => 'Atualizado: :value',
        'modal_create' => 'Criar Biblioteca',
        'field_name' => 'Nome da Biblioteca *',
        'field_description' => 'Descrição',
        'field_keywords' => 'Palavras-chave',
        'placeholder_name' => 'Digite o nome',
        'placeholder_description' => 'Descrição opcional',
        'placeholder_keywords' => 'Digite palavras-chave',
        'confirm_delete' => 'Excluir biblioteca ":name"? Todas as palavras também serão removidas.',
        'error' => [
            'name_required' => 'Nome é obrigatório',
            'library_required' => 'Selecione uma biblioteca',
            'keywords_required' => 'Digite pelo menos uma palavra-chave',
        ],
        'message' => [
            'create_success' => 'Biblioteca criada com sucesso',
            'create_failed' => 'Falha ao criar',
            'update_success' => 'Biblioteca atualizada com sucesso',
            'delete_success' => 'Biblioteca excluída com sucesso',
            'import_success' => ':count palavras-chave importadas',
            'create_error' => 'Falha: :message',
            'delete_error' => 'Falha ao excluir: :message',
            'import_error' => 'Falha ao importar: :message',
            'import_skip' => ', :count palavras-chave duplicadas ignoradas',
        ],
        'modal_import' => 'Importar Palavras-chave Para',
        'format_title' => 'Formatos suportados:',
        'format_line' => 'Uma palavra-chave por linha',
        'format_comma' => 'Separe várias palavras-chave por vírgulas',
        'format_dedupe' => 'Duplicadas são ignoradas automaticamente',
        'import_button' => 'Importar Palavras-chave',
    ],
    'image_libraries' => [
        'page_title' => 'Gerenciamento de Biblioteca de Imagens',
        'heading' => 'Gerenciamento de Biblioteca de Imagens',
        'subtitle' => 'Gerencie imagens e bibliotecas',
        'create' => 'Criar Biblioteca de Imagens',
        'total' => 'Bibliotecas de Imagens',
        'total_images' => 'Total de Imagens',
        'storage' => 'Armazenamento',
        'list_title' => 'Lista de Bibliotecas',
        'empty' => 'Nenhuma biblioteca ainda',
        'empty_desc' => 'Crie sua primeira biblioteca.',
        'image_count' => ':count imagens',
        'created_at' => 'Criado: :value',
        'updated_at' => 'Atualizado: :value',
        'upload_images' => 'Enviar Imagens',
        'modal_create' => 'Criar Biblioteca',
        'field_name' => 'Nome da Biblioteca *',
        'field_description' => 'Descrição',
        'placeholder_name' => 'Digite o nome',
        'placeholder_description' => 'Descrição opcional',
        'supported_formats' => 'Formatos suportados:',
        'confirm_delete' => 'Excluir biblioteca ":name"? Todos os arquivos também serão removidos.',
        'error' => [
            'name_required' => 'Nome é obrigatório',
            'in_use' => 'Esta biblioteca está em uso por :count tarefas',
        ],
        'message' => [
            'create_success' => 'Biblioteca criada',
            'create_failed' => 'Falha ao criar',
            'update_success' => 'Biblioteca atualizada',
            'delete_success' => 'Biblioteca excluída',
            'create_error' => 'Falha: :message',
            'delete_error' => 'Falha: :message',
            'delete_cleanup_partial' => ', mas :count arquivos não puderam ser removidos do disco',
        ],
    ],
    'activity_logs' => [
        'page_title' => 'Logs de Atividade',
        'heading' => 'Logs de Atividade',
        'subtitle' => 'Ver solicitações e ações dos administradores',
        'total_logs' => 'Total de Logs',
        'today_logs' => 'Hoje',
        'active_admins' => 'Admins Ativos (7 dias)',
        'search' => 'Buscar',
        'search_placeholder' => 'Buscar admin, ação, página ou detalhes',
        'admin' => 'Admin',
        'all_admins' => 'Todos os Admins',
        'filter' => 'Filtrar',
        'reset' => 'Redefinir',
        'list_title' => 'Lista de Logs',
        'time' => 'Hora',
        'action' => 'Ação',
        'page' => 'Página',
        'target' => 'Alvo',
        'details' => 'Detalhes',
        'ip' => 'IP',
        'empty' => 'Nenhum log encontrado',
        'role_super_admin' => 'Super Admin',
        'role_admin' => 'Admin',
        'page_summary' => ':total logs, página :page / :total_pages',
        'prev' => 'Anterior',
        'next' => 'Próximo',
    ],
    'ai_models' => [
        'page_title' => 'Configuração de Modelo de IA',
        'page_subtitle' => 'Gerencie modelos de chat e embedding',
        'create' => 'Adicionar Modelo',
        'vector_title' => 'Status de Busca Vetorial',
        'vector_desc' => 'Busca vetorial usa modelo dedicado e pgvector',
        'pgvector' => 'Extensão pgvector',
        'pgvector_enabled' => 'Ativada',
        'pgvector_fallback' => 'Desativada, usando fallback',
        'default_embedding' => 'Modelo de Embedding Padrão',
        'embedding_auto' => 'Escolher automaticamente',
        'embedding_help' => 'Geração usa modelos de chat; embedding é apenas para vetorização.',
        'save_default' => 'Salvar Modelo Padrão',
        'chunking_title' => 'Estratégia de Fragmentação',
        'chunking_desc' => 'Use regras estruturadas por padrão, com planejamento semântico opcional por LLM',
        'chunk_strategy' => 'Estratégia',
        'chunk_strategy_rule' => 'Fragmentação por regras estruturadas',
        'chunk_strategy_auto' => 'Automático: usa LLM quando disponível',
        'chunk_strategy_semantic' => 'Planejamento semântico por LLM',
        'chunk_strategy_help' => 'O LLM só planeja limites de blocos; o texto final é reconstruído do original e falhas voltam para regras.',
        'chunking_model' => 'Modelo de planejamento semântico',
        'chunking_model_none' => 'Não usar modelo semântico',
        'chunking_model_help' => 'Escolha um modelo de chat rápido e barato, como Gemini Flash Lite.',
        'save_chunking' => 'Salvar Estratégia',
        'type_title' => 'Notas de Tipo de Modelo',
        'type_desc' => 'Evite atribuir modelos de embedding ao centro de tarefas',
        'type_chat' => 'Modelos de chat para geração de artigos.',
        'type_embedding' => 'Modelos de embedding para vetorização.',
        'list_title' => 'Lista de Modelos de IA',
        'empty' => 'Nenhum modelo configurado',
        'add_first' => 'Adicionar primeiro modelo',
        'chat' => 'Modelo de Chat',
        'embedding_default' => 'Modelo de Retrieval Padrão',
        'api_key_mask' => 'Chave',
        'usage_tasks' => 'Tarefas: :count',
        'usage_articles' => 'Artigos: :count',
        'usage_total' => 'Total: :count',
        'limit_today' => 'Hoje / Limite',
        'limit_unlimited' => 'Ilimitado',
        'status_active' => 'Ativo',
        'status_inactive' => 'Inativo',
        'status_unknown' => 'Desconhecido',
        'edit' => 'Editar',
        'delete' => 'Excluir',
        'modal_create' => 'Adicionar Modelo de IA',
        'modal_edit' => 'Editar Modelo',
        'quick_chat' => 'Preenchimento Rápido (Chat)',
        'quick_embedding' => 'Preenchimento Rápido (Embedding)',
        'quick_help' => 'Clique para auto-preencher configurações comuns. Gemini usa a API nativa v1beta do Google; os demais provedores continuam seguindo as regras compatíveis com OpenAI.',
        'gemini_embedding_notice' => 'Gemini Embedding 2 aplica automaticamente prefixos de consulta/documento para retrieval; este sistema não oferece suporte à configuração task_type do gemini-embedding-001.',
        'field_name' => 'Nome do Modelo *',
        'field_version' => 'Versão',
        'field_type' => 'Tipo do Modelo *',
        'field_model_id' => 'ID do Modelo *',
        'field_api_key' => 'Chave de API *',
        'field_api_url' => 'URL da API',
        'field_failover_priority' => 'Prioridade de Failover',
        'field_daily_limit' => 'Limite Diário',
        'field_status' => 'Status',
        'type_chat_option' => 'Modelo de Chat',
        'type_embedding_option' => 'Modelo de Embedding',
        'type_help' => 'Chat para geração, embedding para vetorização.',
        'placeholder_name' => 'Exemplo: Claude Sonnet 4',
        'placeholder_model_id' => 'Exemplo: claude-sonnet-4-20250514',
        'placeholder_api_key' => 'Digite a chave de API',
        'placeholder_api_url' => 'Exemplo: https://api.openai.com',
        'limit_help' => '0 significa ilimitado',
        'confirm_delete' => 'Excluir modelo ":name"?',
        'error' => [
            'required_fields' => 'Nome, chave de API e ID são obrigatórios',
            'invalid_required_fields' => 'Parâmetros inválidos',
            'invalid_id' => 'ID inválido',
            'not_found' => 'Modelo não encontrado',
            'in_use' => 'Não é possível excluir: :count tarefas usam',
            'embedding_unavailable' => 'Modelo de embedding indisponível',
            'chunking_model_unavailable' => 'Modelo de fragmentação semântica indisponível',
            'chunking_model_required' => 'Planejamento semântico por LLM exige um modelo de chat disponível',
            'crypto_key_missing' => 'APP_KEY não configurado',
        ],
        'message' => [
            'create_success' => 'Modelo criado com sucesso',
            'create_failed' => 'Falha ao criar',
            'update_success' => 'Modelo atualizado',
            'update_failed' => 'Falha ao atualizar',
            'delete_success' => 'Modelo excluído',
            'delete_failed' => 'Falha ao excluir',
            'embedding_default_updated' => 'Modelo de embedding padrão atualizado',
            'embedding_default_update_failed' => 'Falha ao atualizar',
            'chunking_config_updated' => 'Estratégia de fragmentação atualizada',
        ],
        'type_rerank' => 'Rerank: o painel ainda não conectou uma configuração e um caminho de chamada independentes para modelos de rerank. Ele seguirá as mesmas regras de URL do provedor posteriormente.',
        'type_fallback' => 'Estratégia de fallback: se pgvector estiver indisponível ou nenhum modelo de embedding puder ser usado, o sistema recorre à recuperação leve sem bloquear a geração de artigos.',
        'list_desc' => 'Revise modelos de chat e modelos de embedding em um só lugar',
        'column' => [
            'info' => 'Informações do Modelo',
            'version' => 'Versão',
            'usage' => 'Uso',
            'limit' => 'Limite',
            'status' => 'Status',
            'actions' => 'Ações',
        ],
        'test' => 'Testar',
        'testing' => 'Testando...',
        'test_success_prefix' => 'Teste aprovado: ',
        'test_failed_prefix' => 'Teste falhou: ',
        'test_network_error' => 'Teste falhou: erro de rede, tente novamente mais tarde',
        'test_success' => 'A conexão do modelo :type está saudável',
        'test_error_api_url_missing' => 'A URL da API está vazia. Informe primeiro a URL Base da API.',
        'test_error_api_key_missing' => 'A chave da API está vazia ou não pôde ser descriptografada. Informe a chave novamente.',
        'test_error_model_missing' => 'O ID do modelo está vazio. Informe primeiro o ID do modelo.',
        'test_failed_with_status' => 'HTTP :status, resposta: :message',
        'test_invalid_response' => 'A API retornou um formato não reconhecido. Prévia da resposta: :message',
        'test_exception' => 'Exceção na requisição: :message',
        'placeholder_version' => 'Exemplo: 20250514',
        'placeholder_api_key_keep' => 'Deixe em branco para manter a chave atual da API',
        'api_url_help' => 'Você pode informar uma URL base ou uma URL completa de endpoint. Gemini é normalizado para https://generativelanguage.googleapis.com/v1beta; outros modelos de chat usam /v1/chat/completions por padrão, modelos de embedding usam /v1/embeddings, e provedores versionados como Zhipu /api/paas/v4 e Ark /api/v3 resolvem automaticamente o caminho por capacidade.',
        'failover_priority_label' => 'Prioridade de fallback: :priority',
        'failover_priority_help' => 'Números menores são tentados primeiro como modelos de fallback. O modelo principal sempre é tentado primeiro; o fallback só começa depois de uma falha.',
        'api_key_help_create' => 'Obrigatório ao criar um modelo.',
        'api_key_help_edit' => 'Ao editar, deixe em branco para manter a chave atual. Informe um novo valor apenas ao trocar credenciais.',
    ],
    'ai_prompts' => [
        'page_title' => 'Configuração de Prompts de Conteúdo',
        'heading' => 'Configuração de Prompts',
        'subtitle' => 'Gerencie templates de prompts usados por tarefas',
        'add' => 'Adicionar Prompt',
        'list_title' => 'Lista de Prompts',
        'list_subtitle' => 'Prompts usados pelo centro de tarefas.',
        'column_info' => 'Prompt',
        'column_type' => 'Tipo',
        'column_usage' => 'Uso',
        'column_created_at' => 'Criado em',
        'empty' => 'Nenhum prompt configurado',
        'add_first' => 'Adicionar primeiro prompt',
        'type_content' => 'Prompt de Conteúdo',
        'task_usage' => 'Tarefas: :count',
        'modal_create' => 'Adicionar Prompt',
        'modal_edit' => 'Editar Prompt',
        'field_name' => 'Nome do Prompt *',
        'field_content' => 'Conteúdo do Prompt *',
        'placeholder_name' => 'Exemplo: Geração de Artigo Tech',
        'placeholder_content' => 'Digite o conteúdo...',
        'variable_title' => 'Variáveis disponíveis:',
        'variable_title_label' => '<code>{{title}}</code> - título atual',
        'variable_keyword_label' => '<code>{{keyword}}</code> - palavra-chave',
        'variable_knowledge_label' => '<code>{{Knowledge}}</code> - conhecimento recuperado',
        'confirm_delete' => 'Excluir prompt ":name"?',
        'error' => [
            'required' => 'Nome e conteúdo são obrigatórios',
            'invalid_fields' => 'Parâmetros inválidos',
            'invalid_id' => 'ID inválido',
            'in_use' => 'Não é possível excluir: :count tarefas usam',
            'fetch_failed' => 'Falha ao carregar: :message',
        ],
        'message' => [
            'create_success' => 'Prompt criado',
            'create_failed' => 'Falha ao criar',
            'update_success' => 'Prompt atualizado',
            'update_failed' => 'Falha ao atualizar',
            'delete_success' => 'Prompt excluído',
            'delete_failed' => 'Falha ao excluir',
            'create_error' => 'Erro: :message',
            'update_error' => 'Erro: :message',
            'delete_error' => 'Erro: :message',
        ],
        'help_banner' => 'Prompts de conteúdo determinam como o corpo do artigo é gerado. Use variáveis para inserir título, palavra-chave e conhecimento recuperado.',
        'variable_help' => 'Blocos condicionais são suportados via <code>{{#if Knowledge}}...{{/if}}</code>. O sistema recupera trechos relevantes pelo título e palavra-chave antes de renderizar <code>{{Knowledge}}</code>. A geração do corpo não fornece <code>{{content}}</code>.',
    ],
    'ai_special' => [
        'page_title' => 'Configuração de Prompts Especiais',
        'heading' => 'Prompts Especiais',
        'subtitle' => 'Configure prompts para palavras-chave e descrições',
        'keyword_title' => 'Configuração de Prompt de Palavras-chave',
        'keyword_subtitle' => 'Prompt usado para gerar palavras-chave',
        'keyword_field' => 'Prompt de Geração',
        'keyword_placeholder' => 'Digite o prompt...',
        'keyword_help' => 'Este prompt guia a geração de palavras-chave.',
        'keyword_save' => 'Salvar Prompt',
        'description_title' => 'Configuração de Prompt de Descrição',
        'description_subtitle' => 'Prompt para descrições de artigos',
        'description_field' => 'Prompt de Descrição',
        'description_placeholder' => 'Digite o prompt...',
        'description_help' => 'Este prompt guia a geração de descrições.',
        'description_save' => 'Salvar Prompt',
        'variable_help' => 'Variáveis: <code>{{content}}</code>, <code>{{title}}</code>, <code>{{keyword}}</code>.',
        'help_title' => 'Notas de Uso',
        'help_keyword' => 'Prompt de palavras-chave: guia para gerar palavras relevantes.',
        'help_description' => 'Prompt de descrição: guia para gerar descrições SEO.',
        'help_auto_apply' => 'Aplicação automática após salvar.',
        'error' => [
            'keyword_required' => 'Conteúdo do prompt é obrigatório',
            'description_required' => 'Conteúdo é obrigatório',
        ],
        'message' => [
            'keyword_saved' => 'Prompt salvo',
            'keyword_failed' => 'Falha ao salvar',
            'description_saved' => 'Prompt salvo',
            'description_failed' => 'Falha ao salvar',
            'save_error' => 'Erro: :message',
        ],
        'help_variables' => 'Suporte a variáveis: {{content}}, {{title}} e {{keyword}}, além de blocos condicionais com {{#if keyword}}...{{/if}}.',
    ],
    'knowledge_bases' => [
        'page_title' => 'Gerenciamento de Base de Conhecimento',
        'heading' => 'Gerenciamento de Base de Conhecimento',
        'subtitle' => 'Gerencie documentos para referência de IA',
        'upload' => 'Enviar Base de Conhecimento',
        'total' => 'Bases de Conhecimento',
        'total_words' => 'Total de Palavras',
        'markdown_count' => 'Markdown',
        'word_count' => 'Documentos Word',
        'list_title' => 'Lista de Bases',
        'empty' => 'Nenhuma base ainda',
        'empty_desc' => 'Crie sua primeira base.',
        'create_first' => 'Criar Primeira Base',
        'upload_doc' => 'Enviar Documento',
        'text_unit' => ':count caracteres',
        'created_at' => 'Criado: :value',
        'updated_at' => 'Atualizado: :value',
        'usage_count' => 'Uso: :count',
        'modal_create' => 'Criar Base',
        'modal_upload' => 'Enviar Documento',
        'field_name' => 'Nome da Base *',
        'field_doc_type' => 'Tipo de Documento',
        'field_description' => 'Descrição',
        'field_content' => 'Conteúdo *',
        'field_file' => 'Escolher Arquivo *',
        'file_choose' => 'Escolher Arquivo',
        'file_none_selected' => 'Nenhum arquivo',
        'placeholder_name' => 'Digite o nome',
        'placeholder_description' => 'Descrição opcional',
        'placeholder_content' => 'Digite o conteúdo...',
        'format_help' => 'Formatos suportados:',
        'format_txt' => 'TXT',
        'format_md' => 'MD - Markdown',
        'format_docx' => 'DOCX - Word',
        'confirm_delete' => 'Excluir base ":name"?',
        'error' => [
            'name_required' => 'Nome é obrigatório',
            'content_required' => 'Conteúdo é obrigatório',
            'file_required' => 'Escolha um arquivo',
            'file_too_large' => 'Arquivo muito grande (máx 10MB)',
            'file_type_invalid' => 'Tipo não suportado',
            'in_use' => 'Base referenciada por :count tarefas',
            'not_found' => 'Base não encontrada',
            'embedding_required' => 'Nenhum modelo de embedding disponível foi configurado. Configure um modelo de embedding antes de vetorizar.',
            'embedding_sync_failed' => 'Vetores de fallback foram bloqueados: o modelo de embedding não retornou vetores reais completos. Verifique a configuração do modelo e tente novamente.',
            'embedding_sync_partial' => 'Foram gerados :chunks fragmentos, mas apenas :vectorized receberam vetores reais. Verifique o modelo de embedding e tente novamente.',
            'embedding_api_failed' => 'Chamada ao modelo de embedding falhou: :message',
        ],
        'message' => [
            'create_success' => 'Base criada. :count chunks gerados.',
            'update_success' => 'Base atualizada.',
            'delete_success' => 'Base excluída',
            'upload_success' => 'Documento enviado. :count chunks.',
            'create_failed' => 'Falha ao criar',
            'update_failed' => 'Falha ao atualizar',
            'delete_failed' => 'Falha ao excluir',
            'save_failed' => 'Falha ao salvar',
            'upload_failed' => 'Falha ao enviar',
            'create_error' => 'Erro: :message',
            'update_error' => 'Erro: :message',
            'delete_error' => 'Erro: :message',
            'upload_error' => 'Erro: :message',
            'chunks_refreshed' => 'Fragmentos de conhecimento atualizados: :chunks fragmentos, :vectorized vetorizados.',
            'chunks_refresh_error' => 'Falha ao atualizar fragmentos: :message',
        ],
        'task_references' => 'Tarefas: :tasks',
        'vector_notice_configure_link' => 'Configurar Modelo Vetorial',
        'vector_config_modal_title' => 'Modelo Vetorial Não Configurado',
        'vector_config_prompt' => 'Configure um modelo vetorial antes de vetorizar.',
        'column_knowledge_base' => 'Base de Conhecimento',
        'placeholder_name_optional' => 'Deixe em branco para usar o nome do arquivo',
        'placeholder_upload_description' => 'Descrição opcional da base de conhecimento',
        'format_doc' => 'DOC - documento Word legado; salve como DOCX antes de enviar',
        'confirm_refresh_chunks' => 'Reconstruir fragmentos de “:name” e chamar o modelo de embedding para gravar vetores reais?',
        'refresh_confirm_title' => 'Confirmar Atualização de Fragmentos',
        'refresh_confirm_intro' => 'O sistema reconstruirá esta base em fragmentos e chamará o modelo de embedding padrão atual para gravar vetores reais.',
        'refresh_confirm_body' => 'Não clique repetidamente durante a atualização. Ao concluir, você voltará para a lista com o status mais recente de fragmentos e vetorização.',
        'refresh_confirm_target' => 'Base de Conhecimento Alvo',
        'refresh_confirm_rebuild' => 'Reconstruir Fragmentos',
        'refresh_confirm_rebuild_desc' => 'Divide o texto com a estratégia de fragmentação atual.',
        'refresh_confirm_embedding' => 'Chamar Modelo de Embedding',
        'refresh_confirm_embedding_desc' => 'Gera vetores reais para cada fragmento.',
        'refresh_confirm_write' => 'Gravar Índice Vetorial',
        'refresh_confirm_write_desc' => 'Atualiza os campos vetoriais usados na recuperação.',
        'refresh_confirm_continue' => 'Iniciar Atualização',
        'refresh_progress_button' => 'Atualizando',
        'refresh_progress_initial' => 'Preparando',
        'refresh_progress_embedding' => 'Vetorizando',
        'refresh_progress_writing' => 'Gravando',
        'refresh_chunks' => 'Atualizar Fragmentos',
        'vectorized_summary' => 'Vetorizados :vectorized / :chunks',
    ],
    'knowledge_detail' => [
        'page_title' => 'Detalhes da Base de Conhecimento',
        'heading' => 'Detalhes da Base de Conhecimento',
        'subtitle' => 'Visualize e edite o conteúdo da base de conhecimento',
        'back_to_list' => 'Voltar para a Lista',
        'content_title' => 'Conteúdo da Base de Conhecimento',
        'field_name' => 'Nome da Base de Conhecimento',
        'field_description' => 'Descrição',
        'field_content' => 'Conteúdo',
        'placeholder_description' => 'Opcional: adicione uma descrição para esta base de conhecimento',
        'save_changes' => 'Salvar Alterações',
        'chunk_count' => 'Fragmentos de Conhecimento',
        'vectorized_count' => 'Fragmentos Vetorizados',
        'created_at' => 'Criado Em',
        'updated_at' => 'Atualizado Em',
        'related_tasks_empty' => 'Nenhuma tarefa relacionada',
        'chunk_preview_title' => 'Visualização de Fragmentos (Chunks)',
        'chunk_preview_desc' => 'Use esta tabela para inspecionar rapidamente o status dos fragmentos e embeddings.',
        'chunk_preview_empty' => 'Nenhum registro de fragmento disponível',
        'chunk_index' => 'Fragmento',
        'chunk_status' => 'Status do Embedding',
        'chunk_length' => 'Comprimento do Texto',
        'chunk_tokens' => 'Contagem de Tokens',
        'chunk_embedding' => 'Metadados do Embedding',
        'chunk_preview_column' => 'Visualização',
        'chunk_status_vectorized' => 'Vetorizado',
        'chunk_status_fallback' => 'Fallback (Reserva)',
        'chunk_embedding_meta' => 'ID do Modelo: :model_id / Dimensões: :dimensions',
        'chunk_embedding_none' => 'Sem metadados de embedding',
        'chunk_strategy_label' => 'Fragmentação',
        'chunk_strategy_structured_rule' => 'Regras Estruturadas',
        'chunk_strategy_semantic_llm' => 'Planejamento Semântico',
        'chunk_strategy_semantic_fallback' => 'Fallback Semântico',
    ],
    'title_detail' => [
        'page_title_suffix' => ' - Detalhes da Biblioteca de Títulos',
        'subtitle' => 'Gerenciar detalhes da biblioteca de títulos',
        'import_batch' => 'Importação em Lote',
        'add_title' => 'Adicionar Título',
        'ai_generate' => 'Gerar com IA',
        'total_titles' => 'Total de Títulos',
        'created_date' => 'Data de Criação',
        'usage_total' => 'Total de Usos',
        'list_title' => 'Lista de Títulos',
        'search_placeholder' => 'Buscar títulos...',
        'empty' => 'Nenhum título ainda',
        'empty_desc' => 'Adicione seu primeiro título',
        'empty_search' => 'Nenhum título correspondente encontrado',
        'ai_badge' => 'IA',
        'usage_count' => 'Usos: :count',
        'created_at' => 'Criado em: :value',
        'pagination' => 'Exibindo :start - :end de :total',
        'modal_add' => 'Adicionar Título',
        'modal_import' => 'Importar Títulos em Lote',
        'field_title' => 'Título *',
        'field_keyword' => 'Palavra-chave Relacionada',
        'field_titles' => 'Títulos',
        'placeholder_title' => 'Digite um título',
        'placeholder_keyword' => 'Palavra-chave relacionada opcional',
        'placeholder_titles' => 'Digite os títulos em um dos formatos suportados:',
        'import_format_title' => 'Formatos suportados:',
        'import_format_line' => 'Um título por linha',
        'import_format_pipe' => 'Título|Palavra-chave (separe o título e a palavra-chave com uma barra vertical "|")',
        'import_format_dedupe' => 'Duplicatas são ignoradas automaticamente',
        'import_button' => 'Importar Títulos',
        'error' => [
            'csrf' => 'Validação do token CSRF falhou',
            'title_required' => 'O título é obrigatório',
            'title_exists' => 'Este título já existe',
            'content_required' => 'O conteúdo do título é obrigatório',
        ],
        'message' => [
            'add_success' => 'Título adicionado com sucesso',
            'delete_success' => 'Título excluído com sucesso',
            'import_success' => ':count títulos importados com sucesso',
            'import_skip' => ', pulou :count títulos duplicados',
        ],
        'confirm_delete' => 'Excluir o título “:name”? Esta ação não pode ser desfeita.',
    ],
    'keyword_detail' => [
        'page_title_suffix' => ' - Detalhes da Biblioteca de Palavras-chave',
        'home' => 'Painel',
        'tasks' => 'Tarefas',
        'articles' => 'Artigos',
        'materials' => 'Materiais',
        'ai_config' => 'Configuração de IA',
        'site_settings' => 'Configurações do Site',
        'security' => 'Segurança',
        'welcome' => 'Bem-vindo, :name',
        'logout' => 'Sair',
        'no_description' => 'Sem descrição',
        'edit_info' => 'Editar Informações',
        'add_keyword' => 'Adicionar Palavra-chave',
        'total_keywords' => 'Total de Palavras-chave',
        'usage_total' => 'Total de Usos',
        'created_date' => 'Data de Criação',
        'updated_date' => 'Última Atualização',
        'list_title' => 'Lista de Palavras-chave',
        'list_total' => '(:count total)',
        'empty' => 'Nenhuma palavra-chave ainda',
        'empty_search' => 'Nenhuma palavra-chave correspondente encontrada',
        'empty_desc' => 'Comece a adicionar palavras-chave a esta biblioteca',
        'selected_count' => ':count palavras-chave selecionadas',
        'delete_selected' => 'Excluir Selecionadas',
        'search_placeholder' => 'Buscar palavras-chave...',
        'batch_actions' => 'Ações em Lote',
        'pagination' => 'Exibindo :start - :end de :total',
        'modal_add' => 'Adicionar Palavra-chave',
        'modal_edit' => 'Editar Biblioteca de Palavras-chave',
        'field_keyword' => 'Palavra-chave *',
        'field_name' => 'Nome da Biblioteca *',
        'field_description' => 'Descrição',
        'placeholder_keyword' => 'Digite uma palavra-chave',
        'error' => [
            'keyword_required' => 'A palavra-chave é obrigatória',
            'keyword_exists' => 'Esta palavra-chave já existe',
            'library_name_required' => 'O nome da biblioteca de palavras-chave é obrigatório',
            'select_required' => 'Selecione pelo menos uma palavra-chave para excluir',
        ],
        'message' => [
            'add_success' => 'Palavra-chave adicionada com sucesso',
            'delete_success' => ':count palavras-chave excluídas com sucesso',
            'update_success' => 'Biblioteca de palavras-chave atualizada com sucesso',
        ],
        'confirm_delete_keyword' => 'Excluir a palavra-chave “:name”?',
        'confirm_delete_selected' => 'Excluir as :count palavras-chave selecionadas?',
    ],
    'image_detail' => [
        'page_title' => 'Detalhes da Biblioteca de Imagens',
        'total_images' => 'Total de Imagens',
        'search_placeholder' => 'Buscar nomes de imagens...',
        'list_title' => 'Lista de Imagens',
        'total_images_count' => ':count total',
        'empty' => 'Nenhuma imagem ainda',
        'empty_search' => 'Nenhuma imagem correspondente encontrada',
        'empty_desc' => 'Comece a enviar imagens para esta biblioteca',
        'selected_count' => ':count imagens selecionadas',
        'delete_selected' => 'Excluir Selecionadas',
        'pagination_summary' => 'Exibindo :from - :to de :total',
        'modal_upload' => 'Enviar Imagens para :name',
        'upload_hint' => 'Arraste imagens aqui ou clique para escolher arquivos',
        'upload_formats' => 'Suporta JPEG, PNG, GIF e WebP',
        'select_images' => 'Escolher Imagens',
        'selected_files' => 'Arquivos Selecionados:',
        'modal_edit' => 'Editar Biblioteca de Imagens',
        'dimensions_label' => 'Dimensões',
        'size_label' => 'Tamanho',
        'url_label' => 'URL da Imagem',
        'uploading' => 'Enviando...',
        'error' => [
            'select_images' => 'Escolha imagens para enviar',
            'upload_none' => 'Nenhuma imagem foi enviada com sucesso.',
            'upload_failed_detail' => 'Falha no envio da imagem: :message. Verifique se o diretório storage/app/public tem permissão de escrita e execute php artisan storage:link.',
            'no_records' => 'Nenhum registro de imagem encontrado para excluir',
            'select_delete' => 'Selecione as imagens para excluir',
        ],
        'message' => [
            'upload_success' => ':count imagens enviadas com sucesso',
            'upload_skipped' => ', pulou :count arquivos inválidos',
            'upload_error' => 'Falha no envio: :message',
            'delete_success' => ':count imagens excluídas com sucesso',
            'delete_cleanup_partial' => ', mas :count arquivos não puderam ser removidos do disco',
            'delete_error' => 'Falha ao excluir: :message',
            'update_success' => 'Biblioteca de imagens atualizada com sucesso',
            'update_failed' => 'Falha ao atualizar',
            'update_error' => 'Falha ao atualizar: :message',
        ],
        'confirm_delete_selected_prefix' => 'Excluir as',
        'confirm_delete_selected_suffix' => 'imagens selecionadas? Esta ação não pode ser desfeita.',
    ],
    'task_create' => [
        'page_title' => 'Criar Tarefa',
        'page_heading' => 'Criar Nova Tarefa',
        'page_subtitle' => 'Configure os parâmetros para uma tarefa de geração de conteúdo por IA.',
        'section' => [
            'basic_title' => 'Informações Básicas',
            'basic_desc' => 'Defina as informações básicas da tarefa.',
            'content_title' => 'Configurações de Conteúdo',
            'content_desc' => 'Configure os parâmetros de geração de conteúdo por IA.',
            'image_title' => 'Configurações de Imagem',
            'image_desc' => 'Configure o comportamento das ilustrações dos artigos.',
            'publish_title' => 'Revisão e Publicação',
            'publish_desc' => 'Configure os parâmetros de revisão manual, armazenamento de rascunhos e publicação automática.',
            'seo_title' => 'Configurações de SEO',
            'seo_desc' => 'Configure a geração automática de palavras-chave e descrições.',
            'category_title' => 'Configurações de Categoria',
            'category_desc' => 'Configure como as categorias são atribuídas aos artigos gerados.',
            'advanced_title' => 'Configurações Avançadas',
            'advanced_desc' => 'Configure o comportamento avançado de execução das tarefas.',
            'distribution_title' => 'Distribuição de Conteúdo',
            'distribution_desc' => 'Escolha Agents de sites-alvo para os artigos após a publicação local.',
        ],
        'field' => [
            'task_name' => 'Nome da Tarefa',
            'title_library' => 'Biblioteca de Títulos',
            'task_status' => 'Status da Tarefa',
            'content_prompt' => 'Prompt de Conteúdo',
            'ai_model' => 'Modelo de IA',
            'model_selection_mode' => 'Modo de Seleção de Modelo',
            'knowledge_base' => 'Base de Conhecimento',
            'author' => 'Autor',
            'image_library' => 'Biblioteca de Imagens',
            'image_count' => 'Contagem de Imagens',
            'need_review' => 'Exigir revisão manual antes de publicar',
            'publish_interval' => 'Intervalo de Publicação (minutos)',
            'auto_keywords' => 'Gerar palavras-chave automaticamente',
            'auto_description' => 'Gerar descrição automaticamente',
            'category_mode' => 'Modo de Categoria',
            'fixed_category' => 'Categoria Fixa',
            'article_limit' => 'Limite Total de Artigos',
            'draft_limit' => 'Limite do Pool de Rascunhos',
            'loop_mode' => 'Geração em Loop',
        ],
        'placeholder' => [
            'task_name' => 'Exemplo: Tarefa de autogeração de notícias de tecnologia',
        ],
        'option' => [
            'select_title_library' => 'Selecione uma biblioteca de títulos',
            'library_count' => ':name (:count títulos)',
            'status_active' => 'Ativa',
            'status_paused' => 'Pausada',
            'select_prompt' => 'Selecione um prompt de conteúdo',
            'select_ai_model' => 'Selecione um modelo de IA',
            'ai_model_priority' => ':name (prioridade :priority)',
            'model_selection_fixed' => 'Modelo Fixo',
            'model_selection_smart_failover' => 'Failover de Modelo Inteligente',
            'no_knowledge_base' => 'Não usar uma base de conhecimento',
            'random_author' => 'Escolher aleatoriamente da biblioteca de autores',
            'no_images' => 'Não usar imagens',
            'image_library_count' => ':name (:count imagens)',
            'no_image_count' => 'Sem imagens',
            'image_count' => ':count imagem(ns)',
            'category_smart' => 'Modo Inteligente',
            'category_fixed' => 'Modo de Categoria Fixa',
            'category_random' => 'Modo de Categoria Aleatória',
            'select_category' => 'Selecione uma categoria',
            'categories_load_failed' => 'Falha ao carregar categorias',
        ],
        'help' => [
            'knowledge_base' => 'Quando selecionado, o sistema recupera os trechos mais relevantes para o título/palavras-chave e os injeta no prompt de conteúdo como <code>{{Knowledge}}</code>.',
            'model_selection_mode' => 'O modo fixo sempre usa o modelo principal selecionado. O failover inteligente tenta o próximo modelo de chat ativo disponível somente após a chamada do modelo principal falhar.',
            'image_count' => 'O sistema seleciona automaticamente imagens da biblioteca e as insere sob os cabeçalhos H2/H3 correspondentes.',
            'need_review' => 'Se ativado, os artigos gerados precisarão passar por revisão manual antes da publicação automática.',
            'publish_interval' => 'Digite os minutos aqui. O sistema publica um rascunho aprovado a cada intervalo definido.',
            'auto_keywords' => 'Usa IA para extrair palavras-chave do título do artigo automaticamente.',
            'auto_description' => 'Usa IA para extrair uma descrição do conteúdo do artigo automaticamente.',
            'category_mode' => 'Escolha como as categorias são atribuídas aos artigos gerados.',
            'category_smart' => 'A IA seleciona a categoria mais adequada com base no título do artigo e nos nomes das categorias disponíveis.',
            'category_fixed' => 'Todos os artigos gerados serão publicados na categoria fixa selecionada.',
            'category_random' => 'Os artigos gerados serão distribuídos aleatoriamente entre as categorias disponíveis.',
            'fixed_category' => 'Escolha uma categoria. Todos os artigos gerados serão publicados nela.',
            'article_limit' => 'Número máximo de artigos que esta tarefa pode gerar. A geração para após atingir este limite.',
            'draft_limit' => 'Número máximo de rascunhos não publicados mantidos no pool de rascunhos. A geração é pausada quando o pool fica cheio e retomada após os rascunhos serem publicados ou revisados.',
            'loop_mode' => 'Quando ativado, a tarefa repete os títulos após esgotar a biblioteca de títulos selecionada.',
            'no_categories_configured' => 'Nenhuma categoria disponível ainda. Crie pelo menos uma categoria antes de criar uma tarefa.',
        ],
        'preview' => [
            'categories_title' => 'Categorias Disponíveis',
            'categories_count' => ':count categorias disponíveis',
        ],
        'message' => [
            'created' => 'Tarefa criada com sucesso.',
            'created_active_suffix' => 'A tarefa está ativa. O agendador a colocará na fila automaticamente e os workers a executarão.',
            'created_paused_suffix' => 'A tarefa foi criada em estado pausado. Você pode ativá-la na lista de tarefas.',
        ],
        'error' => [
            'name_required' => 'O nome da tarefa é obrigatório',
            'title_library_required' => 'Selecione uma biblioteca de títulos',
            'prompt_required' => 'Selecione um prompt de conteúdo',
            'ai_model_required' => 'Selecione um modelo de IA',
            'draft_limit_too_large' => 'O limite do pool de rascunhos não pode ser maior que o limite total de artigos.',
            'model_selection_mode_invalid' => 'Modo de seleção de modelo inválido',
            'fixed_category_required' => 'A categoria é obrigatória quando o modo de categoria fixa está ativado',
            'no_categories_configured' => 'Crie pelo menos uma categoria primeiro',
            'title_library_missing' => 'A biblioteca de títulos selecionada não existe',
            'prompt_missing' => 'O prompt de conteúdo selecionado não existe',
            'ai_model_missing' => 'O modelo de IA selecionado não existe ou está inativo',
            'create_failed' => 'Falha ao criar a tarefa',
            'create_exception' => 'Falha na criação: :message',
        ],
        'confirm' => [
            'create' => 'Criar esta tarefa agora?',
        ],
        'distribution' => [
            'empty' => 'Ainda não há canais de distribuição ativos.',
            'create_link' => 'Criar um canal primeiro',
            'help' => 'Após selecionar canais, o GEOFlow enfileira a sincronização remota conforme o escopo de publicação. Falhas remotas não afetam o status local do artigo.',
            'scope_title' => 'Escopo de Publicação',
            'scope_help' => 'Escolha se os artigos gerados serão publicados no GEOFlow, nos canais-alvo ou em ambos.',
            'scope_local_and_distribution' => 'Publicar no GEOFlow e nos canais',
            'scope_local_and_distribution_desc' => 'Publica o artigo localmente e sincroniza com os canais-alvo selecionados.',
            'scope_distribution_only' => 'Publicar somente nos canais',
            'scope_distribution_only_desc' => 'Mantém uma cópia local privada de gestão; gera páginas públicas apenas nos canais-alvo.',
            'scope_local_only' => 'Publicar somente no GEOFlow',
            'scope_local_only_desc' => 'Publica localmente e não enfileira distribuição remota.',
        ],
    ],
    'task_edit' => [
        'page_title' => 'Editar Tarefa',
        'page_heading' => 'Editar Tarefa',
        'section' => [
            'basic_title' => 'Informações Básicas',
            'ai_title' => 'Configurações de IA',
            'publish_title' => 'Configurações de Publicação',
            'author_title' => 'Configurações do Autor',
            'optimize_title' => 'Otimização de Conteúdo',
            'control_title' => 'Controle da Tarefa',
        ],
        'field' => [
            'task_name' => 'Nome da Tarefa',
            'title_library' => 'Biblioteca de Títulos',
            'image_library' => 'Biblioteca de Imagens',
            'image_count' => 'Contagem de Imagens',
            'content_prompt' => 'Prompt de Conteúdo do Artigo',
            'ai_model' => 'Modelo de IA',
            'model_selection_mode' => 'Modo de Seleção de Modelo',
            'knowledge_base' => 'Base de Conhecimento',
            'need_review' => 'Exigir revisão manual antes de publicar',
            'publish_interval' => 'Intervalo de Publicação (apenas auto-aprovados)',
            'author_mode' => 'Modo de Autor',
            'custom_author' => 'Selecionar Autor',
            'auto_keywords' => 'Gerar palavras-chave automaticamente',
            'auto_description' => 'Gerar descrição automaticamente',
            'article_limit' => 'Limite Total de Artigos',
            'draft_limit' => 'Limite do Pool de Rascunhos',
            'loop_mode' => 'Geração em Loop',
            'task_status' => 'Status da Tarefa',
        ],
        'option' => [
            'select_title_library' => 'Selecione uma biblioteca de títulos',
            'library_count' => ':name (:count títulos)',
            'no_images' => 'Não usar imagens',
            'image_library_count' => ':name (:count imagens)',
            'no_image_count' => 'Sem imagens',
            'image_count' => ':count imagem(ns)',
            'select_prompt' => 'Selecione um prompt',
            'select_ai_model' => 'Selecione um modelo de IA',
            'ai_model_priority' => ':name (prioridade :priority)',
            'model_selection_fixed' => 'Modelo Fixo',
            'model_selection_smart_failover' => 'Failover de Modelo Inteligente',
            'daily_remaining' => 'Restante hoje: :count',
            'no_knowledge_base' => 'Não usar uma base de conhecimento',
            'interval_30m' => '30 minutos',
            'interval_1h' => '1 hora',
            'interval_2h' => '2 horas',
            'interval_4h' => '4 horas',
            'interval_8h' => '8 horas',
            'interval_24h' => '24 horas',
            'author_random' => 'Escolher aleatoriamente da biblioteca de autores',
            'author_custom' => 'Usar um autor específico',
            'select_author' => 'Selecione um autor',
            'status_active' => 'Ativa',
            'status_paused' => 'Pausada',
        ],
        'help' => [
            'knowledge_base' => 'Quando selecionado, o sistema recupera os trechos mais relevantes para o título/palavras-chave e os injeta no template em <code>{{Knowledge}}</code> e nos blocos condicionais relacionados.',
            'model_selection_mode' => 'O modo fixo usa apenas o modelo principal atual. O failover inteligente alterna para o próximo modelo de chat disponível por prioridade após a chamada do modelo principal falhar.',
        ],
        'sidebar' => [
            'stats_title' => 'Estatísticas da Tarefa',
            'total_articles' => 'Total de Artigos',
            'published_articles' => 'Publicados',
            'draft_articles' => 'Rascunhos',
            'pending_review' => 'Pendente de Revisão',
            'loop_count' => 'Contagem de Loop',
            'quick_actions_title' => 'Ações Rápidas',
            'info_title' => 'Informações da Tarefa',
            'last_updated' => 'Última Atualização',
            'current_status' => 'Status Atual',
        ],
        'button' => [
            'save_changes' => 'Salvar Alterações',
            'manage_articles' => 'Gerenciar Artigos',
            'test_execute' => 'Executar Teste',
        ],
        'status' => [
            'completed' => 'Concluída',
        ],
        'message' => [
            'update_success' => 'Tarefa atualizada com sucesso',
        ],
        'error' => [
            'invalid_chat_model' => 'Selecione um modelo de chat válido',
            'invalid_model_selection_mode' => 'Modo de seleção de modelo inválido',
            'update_failed' => 'Falha ao atualizar a tarefa',
            'update_exception' => 'Falha na atualização: :message',
        ],
    ],
    'article_create' => [
        'page_title' => 'Criar Artigo',
        'page_heading' => 'Criar Artigo',
        'page_subtitle' => 'Crie um novo artigo manualmente. Esta página segue as regras unificadas de revisão e estado de publicação.',
        'section' => [
            'basic_title' => 'Informações Básicas',
            'content_title' => 'Conteúdo do Artigo',
            'seo_title' => 'Configurações de SEO',
            'publish_title' => 'Configurações de Publicação',
            'recommendation_title' => 'Promoção na Página Inicial',
            'category_author_title' => 'Categoria e Autor',
            'markdown_help_title' => 'Ajuda com Markdown',
        ],
        'field' => [
            'title' => 'Título do Artigo',
            'excerpt' => 'Resumo (Excerpt)',
            'keywords' => 'Palavras-chave',
            'meta_description' => 'Meta Descrição',
            'publish_status' => 'Status de Publicação',
            'review_status' => 'Status de Revisão',
            'is_hot' => 'Artigo Quente (Hot)',
            'is_featured' => 'Artigo em Destaque',
            'category' => 'Categoria',
            'author' => 'Autor',
        ],
        'placeholder' => [
            'title' => 'Digite o título do artigo',
            'excerpt' => 'Opcional. Será gerado automaticamente se deixado em branco',
            'content' => 'Digite o conteúdo do artigo...',
            'keywords' => 'Separe várias palavras-chave com vírgulas',
            'meta_description' => 'Descrição da página exibida nos resultados de busca',
        ],
        'option' => [
            'select_category' => 'Selecione uma categoria',
            'select_author' => 'Selecione um autor',
        ],
        'help' => [
            'markdown_supported' => 'Suporta Markdown',
            'review_status' => 'Estados pendentes ou rejeitados voltam automaticamente para rascunho. O status de publicação também mantém consistência com o estado de revisão e o tempo de publicação.',
            'recommendation' => 'Apenas artigos publicados são exibidos no frontend. Os artigos em destaque estão limitados aos 5 mais recentes; múltiplos artigos "quentes" alternam no carrossel da página inicial.',
            'is_hot' => 'Exibir este artigo no carrossel quente da página inicial e na lista da barra lateral quente.',
            'is_featured' => 'Exibir este artigo na lista de destaques da página inicial. Se mais de 5 forem selecionados, apenas os 5 mais recentes serão exibidos.',
        ],
        'button' => [
            'show_preview' => 'Exibir Visualização',
            'hide_preview' => 'Ocultar Visualização',
        ],
        'error' => [
            'title_required' => 'O título do artigo é obrigatório',
            'content_required' => 'O conteúdo do artigo é obrigatório',
            'category_required' => 'Selecione uma categoria',
            'author_required' => 'Selecione um autor',
            'create_failed' => 'Falha ao criar o artigo',
            'create_exception' => 'Falha na criação: :message',
        ],
    ],
    'article_edit' => [
        'page_title' => 'Editar Artigo',
        'page_heading' => 'Editar Artigo',
        'section' => [
            'basic_title' => 'Informações Básicas',
            'content_title' => 'Conteúdo do Artigo',
            'seo_title' => 'Configurações de SEO',
            'publish_title' => 'Configurações de Publicação',
            'recommendation_title' => 'Promoção na Página Inicial',
            'category_author_title' => 'Categoria e Autor',
            'info_title' => 'Informações do Artigo',
        ],
        'field' => [
            'title' => 'Título do Artigo',
            'excerpt' => 'Resumo (Excerpt)',
            'keywords' => 'Palavras-chave',
            'meta_description' => 'Meta Descrição',
            'publish_status' => 'Status de Publicação',
            'review_status' => 'Status de Revisão',
            'is_hot' => 'Artigo Quente (Hot)',
            'is_featured' => 'Artigo em Destaque',
            'category' => 'Categoria',
            'author' => 'Autor',
        ],
        'placeholder' => [
            'keywords' => 'Separe várias palavras-chave com vírgulas',
        ],
        'option' => [
            'select_category' => 'Selecione uma categoria',
            'select_author' => 'Selecione um autor',
        ],
        'help' => [
            'markdown_supported' => 'Suporta Markdown',
            'review_status' => 'Salvar reconcilia automaticamente o status de publicação, resultado da revisão e tempo de publicação para evitar estados conflitantes.',
            'recommendation' => 'Apenas artigos publicados são exibidos no frontend. Os artigos em destaque estão limitados aos 5 mais recentes; múltiplos artigos "quentes" alternam no carrossel da página inicial.',
            'is_hot' => 'Exibir este artigo no carrossel quente da página inicial e na lista da barra lateral quente.',
            'is_featured' => 'Exibir este artigo na lista de destaques da página inicial. Se mais de 5 forem selecionados, apenas os 5 mais recentes serão exibidos.',
        ],
        'info' => [
            'article_id' => 'ID do Artigo',
            'slug' => 'URL Slug',
            'source_task' => 'Tarefa de Origem',
            'manual_source' => 'Criado manualmente',
            'published_at' => 'Publicado Em',
        ],
        'button' => [
            'show_preview' => 'Exibir Visualização',
            'hide_preview' => 'Ocultar Visualização',
            'save_changes' => 'Salvar Alterações',
            'view_article' => 'Visualizar Artigo',
        ],
        'message' => [
            'update_success' => 'Artigo atualizado com sucesso',
        ],
        'error' => [
            'title_required' => 'O título do artigo é obrigatório',
            'content_required' => 'O conteúdo do artigo é obrigatório',
            'category_required' => 'Selecione uma categoria',
            'author_required' => 'Selecione um autor',
            'update_failed' => 'Falha ao atualizar o artigo',
            'update_exception' => 'Falha na atualização: :message',
        ],
    ],
    'task_execute' => [
        'page_title' => 'Teste de Execução de Tarefa',
        'page_heading' => 'Teste de Execução de Tarefa',
        'button' => [
            'back_to_tasks' => 'Voltar para Lista de Tarefas',
            'execute' => 'Executar Tarefa',
        ],
        'section' => [
            'task_info' => 'Informações da Tarefa',
            'execution_control' => 'Controle de Execução',
            'execution_log' => 'Log de Execução',
            'recent_runs' => 'Execuções Recentes',
            'recent_runs_desc' => 'Esta seção mostra as últimas execuções de fila para a tarefa, com detalhes de falhas expandidos inline.',
            'stats' => 'Estatísticas',
            'recent_articles' => 'Artigos Recentes',
        ],
        'label' => [
            'last_failed_at' => 'Última falha em :time',
            'task_name' => 'Nome da Tarefa',
            'status' => 'Status',
            'title_library' => 'Biblioteca de Títulos',
            'ai_model' => 'Modelo de IA',
            'publish_interval' => 'Intervalo de Publicação',
            'article_limit' => 'Limite Total de Artigos',
            'draft_limit' => 'Limite do Pool de Rascunhos',
            'created_articles' => 'Artigos Criados',
            'published_articles' => 'Artigos Publicados',
            'generated_title' => 'Título Gerado',
        ],
        'help' => [
            'execute_once' => 'Dispara um teste de execução única para esta tarefa.',
            'shared_engine' => 'As solicitações de execução são enviadas para a fila de tarefas e processadas de forma assíncrona pelo worker.',
            'queue_mode' => 'Se a tarefa já estiver pendente ou em execução, o sistema não criará um job duplicado.',
        ],
        'confirm' => [
            'execute' => 'Executar esta tarefa agora?',
        ],
        'stats' => [
            'total_articles' => 'Total de Artigos',
            'published' => 'Publicados',
            'pending_review' => 'Pendente de Revisão',
        ],
        'empty' => [
            'no_runs' => 'Nenhum registro de execução ainda',
            'no_articles' => 'Nenhum artigo ainda',
        ],
        'run' => [
            'cancelled' => 'Cancelado',
            'run_id' => 'Execução #:id',
            'job_id' => 'Job #:id',
            'started_at' => 'Iniciado em: :time',
            'finished_at' => 'Finalizado em: :time',
            'duration_seconds' => 'Duração: :seconds s',
            'article_id' => 'ID do Artigo: #:id',
            'attempts' => 'Tentativas: :current / :max',
        ],
        'value' => [
            'seconds' => ':count s',
            'articles' => ':count artigo(s)',
        ],
        'log' => [
            'starting' => 'Iniciando execução da tarefa...',
            'queueing' => 'Enfileirando a solicitação de execução da tarefa...',
            'queued' => 'Tarefa enfileirada com sucesso, job #:job_id',
            'success' => 'Tarefa executada com sucesso: :result',
            'failed' => 'Execução da tarefa falhou: :message',
            'queue_failed' => 'Falha ao enfileirar a tarefa: :message',
            'exception' => 'Exceção na execução: :message',
        ],
        'message' => [
            'success' => 'Tarefa executada com sucesso',
            'queued' => 'Tarefa enfileirada com sucesso, job #:job_id',
        ],
        'error' => [
            'invalid_task_id' => 'ID de tarefa inválido',
            'task_not_found' => 'Tarefa não encontrada',
            'failed' => 'Execução da tarefa falhou: :message',
            'queue_failed' => 'Falha ao enfileirar a tarefa: :message',
            'exception' => 'Exceção na execução: :message',
        ],
        'failure' => [
            'no_error' => 'Sem informações de erro',
            'empty_content_label' => 'Corpo vazio bloqueado',
            'empty_content_detail' => 'O modelo retornou um corpo vazio. O sistema marcou a execução como falha e não criou o artigo.',
            'too_short_label' => 'Conteúdo muito curto',
            'too_short_detail' => 'O conteúdo gerado não atendeu ao comprimento mínimo do corpo, por isso não foi armazenado.',
            'no_titles_label' => 'Biblioteca de títulos esgotada',
            'no_titles_detail' => 'Nenhum título disponível restante na biblioteca de títulos atual. Adicione mais títulos antes de tentar novamente.',
            'task_paused_label' => 'Tarefa pausada',
            'task_paused_detail' => 'Este é um registro de cancelamento manual, não uma falha de geração.',
            'default_label' => 'Execução falhou',
        ],
    ],
    'article_view' => [
        'page_title' => 'Visualizar Artigo',
        'page_heading' => 'Visualizar Artigo',
        'section' => [
            'content' => 'Conteúdo do Artigo',
            'images' => 'Imagens do Artigo',
            'info' => 'Informações do Artigo',
            'status' => 'Gerenciamento de Status',
            'seo' => 'Informações de SEO',
            'quick_actions' => 'Ações Rápidas',
        ],
        'field' => [
            'original_keyword' => 'Palavra-chave Original',
        ],
        'help' => [
            'status_sync' => 'Quando o status de publicação ou o resultado da revisão mudam, o sistema sincroniza o tempo de publicação automaticamente e evita estados conflitantes no fluxo de trabalho.',
        ],
        'button' => [
            'frontend_preview' => 'Visualização no Frontend',
            'edit_article' => 'Editar Artigo',
            'view_frontend' => 'Ver no Frontend',
            'delete_article' => 'Excluir Artigo',
        ],
        'confirm' => [
            'delete' => 'Excluir este artigo?',
        ],
        'message' => [
            'status_updated' => 'Status de publicação atualizado. O estado de revisão e o tempo de publicação foram sincronizados.',
            'review_updated' => 'Resultado da revisão atualizado',
            'review_published_suffix' => '; o artigo foi publicado',
            'review_draft_suffix' => '; o artigo voltou para rascunho',
        ],
        'error' => [
            'status_update_failed' => 'Falha ao atualizar o status de publicação',
            'review_update_failed' => 'Falha ao atualizar o resultado da revisão',
        ],
    ],
    'api_tokens' => [
        'page_title' => 'Gerenciamento de Tokens de API',
        'page_heading' => 'Gerenciamento de Tokens de API',
        'page_subtitle' => 'Gere credenciais de máquina para a CLI e futuras integrações.',
        'notice' => [
            'one_time_visible' => 'Este novo token é exibido apenas uma vez',
        ],
        'section' => [
            'create' => 'Criar Token',
            'list' => 'Tokens Existentes',
        ],
        'field' => [
            'name' => 'Nome *',
            'expires_at' => 'Data de Expiração',
        ],
        'placeholder' => [
            'name' => 'Exemplo: Token da CLI Local',
        ],
        'help' => [
            'expires_at' => 'Se deixado em branco, o padrão é 30 dias; selecione um prazo maior apenas se necessário.',
        ],
        'column' => [
            'name' => 'Nome',
            'created_by' => 'Criado Por',
            'last_used' => 'Último Uso',
            'expires_at' => 'Expira Em',
            'status' => 'Status',
        ],
        'value' => [
            'system' => 'Sistema',
            'never_used' => 'Nunca usado',
            'no_expiry' => 'Sem expiração',
        ],
        'button' => [
            'create' => 'Criar Token',
            'revoke' => 'Revogar',
            'copy' => 'Copiar',
        ],
        'confirm' => [
            'revoke' => 'Revogar este token?',
        ],
        'empty' => [
            'no_tokens' => 'Nenhum token criado ainda',
        ],
        'status' => [
            'revoked' => 'Revogado',
        ],
        'message' => [
            'created' => 'Token criado com sucesso. Copie-o agora e armazene-o com segurança.',
            'revoked' => 'Token revogado',
        ],
        'error' => [
            'operation_failed' => 'Operação falhou: :message',
        ],
    ],
    'system_diagnostics' => [
        'page_title' => 'Diagnósticos do Sistema',
        'page_heading' => 'Diagnósticos do Sistema',
        'page_subtitle' => 'Inspecione o status do sistema e identifique problemas potenciais.',
        'button' => [
            'recover_stale' => 'Recuperar Jobs Paralisados',
        ],
        'confirm' => [
            'recover_stale' => 'Recuperar os jobs de fila paralisados agora?',
        ],
        'message' => [
            'cleaned' => 'Recuperado(s) :count job(s) de fila paralisado(s)',
        ],
        'section' => [
            'php_processes' => 'Processos PHP',
            'port_8080' => 'Uso da Porta 8080',
            'worker_status' => 'Status do Worker',
            'task_status' => 'Status das Tarefas',
        ],
        'column' => [
            'current_job' => 'Job Atual',
            'last_heartbeat' => 'Último Heartbeat',
            'name' => 'Nome',
            'batch_status' => 'Status do Lote',
        ],
        'empty' => [
            'no_php_processes' => 'Nenhum processo PHP encontrado',
            'port_8080_free' => 'A porta 8080 não está ocupada. O servidor pode não estar em execução.',
            'no_worker_heartbeats' => 'Nenhum heartbeat de worker ativo encontrado',
        ],
        'value' => [
            'idle' => 'Ocioso',
        ],
        'badge' => [
            'server_process' => 'Processo do Servidor',
            'queue_worker' => 'Worker da Fila',
        ],
    ],
    'url_import' => [
        'page_title' => 'Importação Inteligente de URL',
        'page_heading' => 'Importação Inteligente de URL',
        'page_subtitle' => 'Insira a URL de uma página web para extrair o conteúdo principal e gerar automaticamente ativos de conhecimento, palavras-chave e títulos.',
        'button' => [
            'back_to_materials' => 'Voltar para Materiais',
            'view_history' => 'Ver Histórico de Importação',
            'view_prd' => 'Ver PRD',
            'start' => 'Iniciar Análise',
            'save_draft' => 'Salvar Rascunho',
            'commit' => 'Salvar nas Bibliotecas',
            'refresh_result' => 'Atualizar para Ver Resultado',
        ],
        'ai_required' => [
            'title' => 'A Importação Inteligente de URL requer um modelo de IA ativo primeiro',
            'desc' => 'O sistema chama o modelo de chat padrão do backend para identificar o foco principal, limpar a base de conhecimento, extrair fatos atômicos, produzir palavras-chave e gerar sugestões de títulos a partir do JSON da página. Configure a URL e a chave da API antes de iniciar um trabalho de importação.',
            'button' => 'Configurar Modelo de IA',
        ],
        'section' => [
            'new_job' => 'Criar Trabalho de Importação',
            'new_job_desc' => 'Esta fase fornece uma estrutura inicial de ingestão de página única. A extração completa, limpeza de IA, confirmação de visualização e importação com um clique serão aprimoradas em breve.',
            'source' => '1. Origem',
            'strategy' => '2. Estratégia',
            'targets' => '3. Bibliotecas Alvo',
            'outputs' => '4. Saídas',
            'capacity' => 'Capacidade Atual das Bibliotecas',
            'scope' => 'Escopo Atual',
            'recommendation' => 'Uso Recomendado',
            'progress' => 'Progresso da Análise',
            'stage_status' => 'Status da Etapa',
            'logs' => 'Logs de Processamento',
            'result_preview' => 'Visualização do Resultado',
            'result_preview_desc' => 'Revise a qualidade primeiro e depois decida se deseja salvar os dados nas bibliotecas.',
            'workflow' => 'Fluxo de Trabalho de Processamento',
            'workflow_desc' => 'Acompanhe cada etapa, desde a normalização da URL e busca da página até a visualização dos materiais.',
            'logs_desc' => 'Logs em tempo real para ações de busca, extração, análise e importação.',
            'next_flow' => 'Próximo Passo',
            'processing_hint' => 'Etapa atual: :current; próxima: :next. O painel de logs é atualizado em tempo real, e você pode atualizar a página para visualizar o resultado após a conclusão.',
        ],
        'field' => [
            'url' => 'URL Alvo',
            'project_name' => 'Projeto / Tema',
            'source_label' => 'Etiqueta de Origem',
            'content_language' => 'Idioma do Conteúdo',
            'author' => 'Autor Relacionado',
            'notes' => 'Notas/Observações',
            'target_knowledge_base' => 'Base de Conhecimento Alvo',
            'target_keyword_library' => 'Biblioteca de Palavras-chave Alvo',
            'target_title_library' => 'Biblioteca de Títulos Alvo',
        ],
        'placeholder' => [
            'project_name' => 'Exemplo: Pesquisa sobre Ensino de Programação para Crianças',
            'source_label' => 'Exemplo: Relatório do Setor / Página de Concorrente / Cobertura de Mídia',
            'notes' => 'Registre o objetivo, o valor da página e o uso pretendido',
        ],
        'option' => [
            'auto_detect' => 'Detectar Automaticamente',
            'not_specified' => 'Não especificado',
            'create_or_later' => 'Criar nova ou decidir mais tarde',
        ],
        'help' => [
            'url' => 'Comece com uma página de detalhes do artigo, página de relatório ou landing page com conteúdo principal claro. Evite páginas iniciais (homepages) no início.',
            'url_optional_scheme' => 'Você pode inserir o domínio ou o caminho diretamente. O sistema adicionará o https:// automaticamente. Apenas páginas públicas http/https são suportadas.',
        ],
        'strategy' => [
            'ai_clean' => 'Limpeza por IA',
            'ai_clean_desc' => 'Remove anúncios, navegação e ruídos de layout, mantendo apenas o conteúdo principal do conhecimento.',
            'strategy' => 'Estratégia de Processamento',
            'semantic' => 'Análise Semântica',
            'semantic_desc' => 'Extrai entidades de tópicos, palavras-chave, intenções de busca e direções de títulos.',
            'allow_duplicate' => 'Permitir Importações Duplicadas',
            'allow_duplicate_desc' => 'Por padrão, o sistema verifica duplicatas usando a URL, o título e o hash do conteúdo.',
        ],
        'output' => [
            'knowledge' => 'Gerar Base de Conhecimento',
            'keywords' => 'Gerar Biblioteca de Palavras-chave',
            'titles' => 'Gerar Biblioteca de Títulos',
        ],
        'stats' => [
            'knowledge_bases' => 'Bases de Conhecimento',
            'keyword_libraries' => 'Bibliotecas de Palavras-chave',
            'title_libraries' => 'Bibliotecas de Títulos',
        ],
        'value' => [
            'count_units' => ':count',
        ],
        'scope' => [
            'single_page' => 'Esta fase suporta apenas a ingestão de páginas únicas de alta qualidade, e não o rastreamento completo de sites.',
            'preview_first' => 'Os resultados entram primeiro na visualização, e os administradores confirmam a importação final.',
            'security' => 'Futuras iterações adicionarão validação de URL, detecção de duplicatas e proteção contra SSRF.',
        ],
        'recommendation' => [
            'copy' => 'Dê preferência a páginas de artigos bem estruturadas, relatórios ou páginas de tópicos específicos. Evite homepages e feeds agregados com muito ruído.',
        ],
        'progress' => [
            'waiting' => 'Aguardando o início do trabalho',
            'in_progress' => 'Em Progresso',
            'done' => 'Concluído',
            'waiting_short' => 'Aguardando',
            'processing' => 'Processando',
            'completed' => 'Concluído',
            'result_ready' => 'O processamento foi concluído. Atualize a página para visualizar o resultado analisado.',
        ],
        'stream' => [
            'current' => 'Processando: :current',
            'next' => 'Processando: :current; próximo: :next',
            'completed' => 'Concluído: :current',
            'failed' => 'Falhou. Verifique os logs de processamento.',
        ],
        'preview' => [
            'source' => 'Origem',
            'summary' => 'Resumo',
            'knowledge' => 'Visualização do Conhecimento',
            'keywords' => 'Palavras-chave',
            'titles' => 'Títulos Sugeridos',
            'raw_json' => 'JSON da Página',
            'ai_powered' => 'Análise por IA: :model',
            'local_fallback' => 'Análise por regra local',
            'empty_summary' => 'Nenhum resumo ainda',
            'empty_knowledge' => 'Nenhuma visualização de conhecimento ainda',
        ],
        'workflow' => [
            'queued' => 'Criar trabalho de importação',
            'fetch' => 'Buscar página alvo',
            'page_json' => 'Gerar JSON da página',
            'knowledge' => 'Limpeza de base de conhecimento por IA',
            'keywords' => 'Extrair termos de negócios principais',
            'titles' => 'Gerar biblioteca de títulos',
            'preview' => 'Gerar visualização',
            'imported' => 'Confirmar importação',
        ],
        'workflow_desc' => [
            'queued' => 'Salva a URL, opções de importação e informações do criador.',
            'fetch' => 'Normaliza a URL, solicita a página e registra o status da resposta.',
            'page_json' => 'Persiste primeiro o título, a descrição e o texto do corpo da página como JSON estruturado.',
            'knowledge' => 'Limpa o JSON da página e gera a base de conhecimento estruturada em Markdown.',
            'keywords' => 'Extrai 10 termos comerciais essenciais da base de conhecimento, evitando termos apenas de marca e frases longas.',
            'titles' => 'Gera 50 sugestões de títulos em torno de termos principais e cenários GEO.',
            'preview' => 'Revisa o resultado da análise antes de salvar qualquer coisa nas bibliotecas.',
            'imported' => 'Salva os ativos nas bibliotecas de conhecimento, palavras-chave e títulos.',
        ],
        'log' => [
            'fetch_start' => 'Buscando: :url',
            'fetch_done' => 'Página buscada. Tamanho do HTML: :length bytes',
            'page_json_start' => 'Gerando JSON da página com título, descrição e texto do corpo',
            'extract_done' => 'Extração concluída. Texto: :chars caracteres',
            'page_json_done' => 'JSON da página gerado. Texto limpável: :chars caracteres',
            'clean_start' => 'Limpando JSON da página e extraindo o conteúdo principal e fatos citáveis',
            'clean_done' => 'Conteúdo principal limpo. Texto mantido: :chars caracteres',
            'keywords_start' => 'Extraindo termos comerciais essenciais da base de conhecimento e filtrando termos apenas de marca, frases longas e palavras genéricas',
            'keywords_done' => 'Extração de termos comerciais concluída: :count',
            'titles_start' => 'Gera candidatos de títulos GEO a partir dos termos comerciais principais',
            'titles_done' => 'Geração de títulos concluída: :count',
            'knowledge_start' => 'Construindo Markdown da base de conhecimento',
            'knowledge_done' => 'Base de conhecimento concluída. Conteúdo: :chars caracteres',
            'analyze_done' => 'Análise concluída. Palavras-chave: :keywords, títulos: :titles',
            'ai_analyze_done' => 'Análise por IA concluída com o modelo padrão do backend: :model',
            'ai_model_try' => 'Tentando modelo de IA: :model',
            'ai_model_attempt' => 'Tentando modelo de IA: :model (tentativa :current/:max)',
            'ai_model_retry' => 'Modelo de IA :model falhou na tentativa :current/:max. Tentando novamente: :message',
            'ai_model_failed' => 'Modelo de IA :model falhou: :message',
            'ai_skipped_no_model' => 'Nenhum modelo de chat padrão ativo configurado. A Importação Inteligente de URL não pode ser executada.',
            'ai_fallback' => 'A análise por IA falhou e o trabalho foi interrompido: :message',
            'preview_start' => 'Gerando a visualização combinando conhecimento, palavras-chave e títulos',
            'preview_ready' => 'Visualização gerada. Aguardando confirmação de importação',
            'failed' => 'Trabalho falhou: :message',
            'import_done' => 'Resultado importado com sucesso para as bibliotecas de conhecimento, palavras-chave e títulos',
        ],
        'label' => [
            'current_step' => 'Etapa atual: :step',
        ],
        'commit' => [
            'imported_at_prefix' => 'Importado em: ',
            'success' => 'Importação concluída com sucesso',
        ],
        'error' => [
            'url_required' => 'Insira uma URL para importar',
            'invalid_url' => 'URL inválida. Insira uma página pública e acessível via http/https',
            'private_url' => 'Endereços locais, intranet ou privados não podem ser importados',
            'fetch_failed' => 'Falha ao buscar a página. Status HTTP: :status',
            'empty_page' => 'O corpo da página está vazio e não pode ser convertido em materiais',
            'ai_model_required' => 'A Importação Inteligente de URL requer um modelo de chat ativo com URL e chave da API configurados primeiro',
            'ai_url_missing' => 'A URL da API do modelo de IA padrão está vazia',
            'ai_key_missing' => 'A chave da API do modelo de IA padrão está vazia',
            'ai_empty_content' => 'A análise por IA retornou conteúdo vazio',
            'ai_invalid_json' => 'A análise por IA não retornou um JSON válido. Trecho da resposta: :preview',
            'ai_knowledge_missing' => 'A IA não retornou um conteúdo de base de conhecimento importável',
            'ai_keywords_missing' => 'A IA não retornou palavras-chave comerciais essenciais válidas',
            'ai_titles_missing' => 'A IA não retornou sugestões de títulos GEO válidas',
            'ai_parse_failed' => 'Falha na análise semântica da IA: :message',
            'ai_all_models_failed' => 'Todos os modelos de IA disponíveis falharam. Detalhes: :messages',
            'ai_config_help' => 'Verifique a URL Base da API do modelo, ID do modelo, chave da API, cota da conta e permissões. Após corrigir, retorne ao histórico de importação e execute novamente o trabalho que falhou.',
            'ai_config_button' => 'Configurar API de IA',
            'fetch_status_failed' => 'Falha ao buscar o status do trabalho',
            'job_failed' => 'O trabalho de importação falhou',
            'start_failed' => 'Falha ao iniciar o trabalho de importação',
            'run_failed' => 'Falha ao iniciar o trabalho de importação. Atualize a página e tente novamente',
            'csrf_missing' => 'O token de segurança da página está ausente. Atualize a página e tente novamente',
            'commit_before_parse' => 'Conclua pelo menos uma execução de análise antes de salvar o resultado',
            'commit_failed' => 'Falha ao importar',
        ],
    ],
    'url_import_history' => [
        'page_title' => 'Histórico de Importação de URL',
        'page_heading' => 'Histórico de Importação de URL',
        'page_subtitle' => 'Revise os trabalhos de ingestão de URL, etapas de processamento e logs recentes.',
        'button' => [
            'new_job' => 'Novo Trabalho de Importação',
        ],
        'section' => [
            'filters' => 'Filtros',
            'records' => 'Registros de Importação',
        ],
        'stats' => [
            'total' => 'Total de Trabalhos',
            'completed' => 'Concluídos',
            'running' => 'Executando',
            'failed' => 'Falhas',
        ],
        'filter' => [
            'all_statuses' => 'Todos os Status',
        ],
        'placeholder' => [
            'search' => 'Buscar por URL, domínio ou título da página',
        ],
        'status' => [
            'queued' => 'Na Fila',
            'running' => 'Executando',
            'completed' => 'Concluído',
            'failed' => 'Falhou',
        ],
        'import' => [
            'imported' => 'Importado',
            'summary' => 'Conhecimento :knowledge_base / Palavras-chave :keywords / Títulos :titles',
            'not_imported' => 'Não Importado',
            'not_imported_summary' => 'Apenas visualização concluída. Nada foi salvo nas bibliotecas ainda.',
        ],
        'empty' => [
            'no_records' => 'Nenhum registro de importação ainda',
        ],
        'value' => [
            'unknown_source' => 'Origem desconhecida',
        ],
        'label' => [
            'current_step' => 'Etapa atual: :step',
            'progress' => 'Progresso: :percent%',
            'created_at' => 'Criado em: :time',
            'finished_at' => 'Finalizado em: :time',
            'import_status' => 'Status da importação: :summary',
            'latest_log' => 'Último log: :message',
            'error' => 'Erro: :message',
        ],
    ],
    'title_ai_generate' => [
        'page_title' => 'Geração de Títulos por IA',
        'page_heading' => 'Geração de Títulos por IA',
        'page_subtitle' => 'Gerar títulos para “:name”',
        'section' => [
            'config' => 'Configurações de Geração por IA',
            'config_desc' => 'Configure os parâmetros para os títulos gerados por IA.',
            'progress' => 'Progresso da Geração',
            'progress_desc' => 'A IA está gerando os títulos em segundo plano. Você pode fechar esta página.',
            'instructions' => 'Instruções',
        ],
        'field' => [
            'keyword_library' => 'Biblioteca de Palavras-chave *',
            'ai_model' => 'Modelo de IA *',
            'count' => 'Quantidade de Títulos',
            'style' => 'Estilo dos Títulos',
            'custom_prompt' => 'Prompt Personalizado',
        ],
        'option' => [
            'select_keyword_library' => 'Selecione uma biblioteca de palavras-chave',
            'select_ai_model' => 'Selecione um modelo de IA',
            'keyword_count_suffix' => 'palavras-chave',
        ],
        'help' => [
            'keyword_library' => 'Escolha a biblioteca de palavras-chave usada para gerar os títulos.',
            'ai_model' => 'Escolha o modelo de IA usado para a geração de títulos.',
            'count' => 'Número de títulos a serem gerados em uma execução (1-50).',
            'style' => 'Escolha o estilo a ser aplicado aos títulos gerados.',
            'custom_prompt' => 'Opcional: adicione restrições extras para a geração.',
        ],
        'placeholder' => [
            'custom_prompt' => 'Adicione requisitos extras, como um limite de caracteres, termos obrigatórios ou um setor específico...',
        ],
        'style' => [
            'professional' => 'Profissional',
            'attractive' => 'Llamativo/Atraente',
            'seo' => 'Otimizado para SEO',
            'creative' => 'Criativo',
            'question' => 'Pergunta/Dúvida',
        ],
        'button' => [
            'async' => 'Gerar de Forma Assíncrona',
            'sync' => 'Gerar de Forma Síncrona',
            'refresh_status' => 'Atualizar Status',
        ],
        'progress' => [
            'label' => 'Progresso',
            'generated' => 'Gerado',
            'total' => 'Alvo',
            'elapsed' => 'Decorrido',
            'preparing' => 'Preparando...',
            'sync_loading' => 'Gerando títulos, aguarde por favor...',
            'sync_notice' => 'O sistema está chamando o serviço de IA. Isso pode levar de 1 a 2 minutos.',
            'starting' => 'Iniciando...',
        ],
        'instructions' => [
            'keyword_library' => 'Selecione uma biblioteca de palavras-chave: a IA gerará títulos relevantes a partir das palavras-chave da biblioteca.',
            'ai_model' => 'Selecione um modelo de IA: modelos diferentes produzem qualidade e estilos diferentes.',
            'count' => 'Defina a quantidade de geração: recomenda-se de 10 a 20 títulos por execução.',
            'style' => 'Selecione um estilo de título que combine com o tipo de conteúdo.',
            'custom_prompt' => 'Use um prompt personalizado para adicionar requisitos especiais e melhorar a saída.',
            'saved_titles' => 'Os títulos gerados serão marcados como gerados por IA e vinculados a uma palavra-chave aleatória automaticamente.',
        ],
        'message' => [
            'completed' => 'Geração por IA concluída. Salvos :count títulos com sucesso',
            'duplicates' => ', pulou :count títulos duplicados',
        ],
        'error' => [
            'keyword_library_required' => 'Selecione uma biblioteca de palavras-chave',
            'ai_model_required' => 'Selecione um modelo de IA',
            'invalid_count' => 'A contagem de títulos deve estar entre 1 e 50',
            'keyword_library_missing' => 'A biblioteca de palavras-chave não existe',
            'no_keywords' => 'A biblioteca de palavras-chave selecionada não contém palavras-chave',
            'ai_model_missing' => 'O modelo de IA não existe',
            'network' => 'Erro de conexão de rede: :message',
            'api_http' => 'Chamada ao serviço de IA falhou, status HTTP: :code:detail',
            'empty_result' => 'A IA não retornou nenhum título',
            'save_failed' => 'Falha ao salvar os títulos: :message',
            'start_failed_prefix' => 'Falha ao iniciar: ',
            'start_network' => 'Falha ao iniciar: erro de rede',
        ],
    ],
    'analytics' => [
        'page_title' => 'Análise de Dados',
        'heading' => 'Análise de Dados',
        'subtitle' => 'Analise produção de conteúdo e tendências de tráfego por data, site, conteúdo e origem de logs.',
        'last_updated' => 'Última atualização: :time',
        'refresh' => 'Atualizar',
        'overall_title' => 'Visão Geral dos Dados',
        'overall_desc' => 'Métricas de nível do sistema que não são limitadas pelos filtros atuais, úteis para ler rapidamente a saúde do site.',
        'single_site_title' => 'Dados de Operação de Site Único',
        'single_site_desc' => 'Foca por padrão no site principal atual. Use filtros de data, categoria, tarefa e artigo para analisar produção, materiais, modelos e tráfego no período selecionado.',
        'multi_site_title' => 'Dados de Distribuição Multi-site',
        'multi_site_desc' => 'Analise canais de distribuição, status de sincronização remota, filas com falha e distribuições pendentes de forma independente. Esta área poderá evoluir para comparações entre canais.',
        'self_log_title' => 'Dados de Logs Autônomos',
        'self_log_desc' => 'Analise PV, visitas de crawlers de IA, erros e caminhos populares a partir de logs locais de visualização e futuras origens de logs de servidor ou canais.',
        'global_overview' => [
            'title' => 'Visão Geral dos Dados',
            'desc' => 'Métricas globais movidas do painel.',
        ],
        'filters' => [
            'title' => 'Filtros',
            'preset' => 'Período rápido',
            'date_from' => 'Data inicial',
            'date_to' => 'Data final',
            'channel' => 'Canal',
            'task' => 'Tarefa',
            'category' => 'Categoria',
            'article' => 'Artigo',
            'traffic_type' => 'Tipo de tráfego',
            'log_source' => 'Origem do log',
            'apply' => 'Aplicar filtros',
            'reset' => 'Redefinir',
            'all' => 'Todos',
            'today' => 'Hoje',
            'yesterday' => 'Ontem',
            '7d' => 'Últimos 7 dias',
            '30d' => 'Últimos 30 dias',
            '90d' => 'Últimos 90 dias',
            'custom' => 'Personalizado',
            'human' => 'Humano',
            'search_bot' => 'Bots de busca',
            'ai_bot' => 'Bots de IA',
            'other_bot' => 'Outros bots',
            'unknown' => 'Desconhecido',
            'local' => 'Logs locais de visualização',
            'server' => 'Logs do servidor',
            'channel_source' => 'Logs de sites de canal',
            'source_pending' => ':source (não conectado)',
        ],
        'kpi' => [
            'articles' => 'Artigos no período',
            'published' => 'Publicados no período',
            'running_tasks' => 'Tarefas em execução',
            'failed_tasks' => 'Tarefas com falha',
            'ai_calls' => 'Chamadas IA/API',
            'distribution_failed' => 'Falhas de distribuição',
            'distribution_pending' => 'Distribuições pendentes',
            'total_views' => 'Visualizações de conteúdo',
            'distribution_synced' => 'Sincronizados',
        ],
        'content_title' => 'Análise de Conteúdo',
        'content_desc' => 'Acompanhe produção de conteúdo e status de publicação por artigos, tarefas, modelos de IA e filas de distribuição.',
        'publication_trend' => 'Tendência de Publicação',
        'task_trend' => 'Tendência de Tarefas',
        'content_funnel' => 'Funil de Conteúdo',
        'ai_usage' => 'Uso de IA/API',
        'distribution_status' => 'Status de Distribuição',
        'top_content' => 'Conteúdo Principal no Período',
        'created_articles' => 'Criados',
        'published_articles' => 'Publicados',
        'completed' => 'Concluído',
        'failed' => 'Falhou',
        'running' => 'Executando',
        'pending' => 'Pendente',
        'synced' => 'Sincronizado',
        'model' => 'Modelo',
        'used_today' => 'Hoje',
        'total_used' => 'Total',
        'article' => 'Artigo',
        'category' => 'Categoria',
        'views' => 'Visualizações',
        'status' => 'Status',
        'no_data' => 'Sem dados',
        'funnel' => [
            'created' => 'Criado',
            'draft' => 'Rascunho',
            'review' => 'Revisão',
            'published' => 'Publicado',
            'viewed' => 'Visualizado',
        ],
        'logs_title' => 'Análise de Logs',
        'logs_desc' => 'Com base nos logs de acesso do site público, esta seção mostra PV, visitas de crawlers de IA, páginas principais, códigos de status e tendências de tráfego dos sites de canal.',
        'logs_overview' => 'Visão Geral dos Logs de Acesso',
        'logs_trend' => 'Tendência de Tráfego',
        'logs_bot_breakdown' => 'Distribuição por Tipo de Tráfego',
        'logs_top_articles' => 'Artigos Mais Visitados',
        'logs_top_paths' => 'Caminhos de Página Mais Acessados',
        'logs_kpi' => [
            'pv' => 'PV',
            'unique_ip' => 'IPs únicos',
            'ai_bot_pv' => 'Visitas de bots de IA',
            'errors' => 'Requisições com erro',
        ],
        'logs_bot' => [
            'human' => 'Humano',
            'search_bot' => 'Bots de busca',
            'ai_bot' => 'Bots de IA',
            'other_bot' => 'Outros bots',
            'unknown' => 'Desconhecido',
        ],
        'logs_table' => [
            'date' => 'Data',
            'path' => 'Caminho',
            'article' => 'Artigo',
            'views' => 'Visualizações',
            'unique_ip' => 'IPs únicos',
        ],
        'logs_empty_title' => 'Ainda não há dados de log',
        'logs_empty_desc' => 'Esta primeira versão foca em análise de conteúdo. Quando logs de Nginx/Apache ou de sites de canal forem conectados, tendências de tráfego, visitas de crawlers de IA e páginas de erro aparecerão aqui.',
    ],
    'distribution' => [
        'page_title' => 'Distribuição',
        'page_heading' => 'Distribuição',
        'page_subtitle' => 'Gerencie Agents de sites-alvo, filas de distribuição de artigos e logs de sincronização remota.',
        'create_title' => 'Criar Canal de Distribuição',
        'create_heading' => 'Criar Canal de Distribuição',
        'create_subtitle' => 'Crie uma chave de Agent independente para um site-alvo.',
        'edit_title' => 'Editar Canal de Distribuição',
        'edit_heading' => 'Editar Canal de Distribuição',
        'edit_subtitle' => 'Mantenha a URL do Agent do site-alvo, status e observações.',
        'detail_title' => 'Detalhes do Canal de Distribuição',
        'jobs_title' => 'Fila de Distribuição',
        'jobs_heading' => 'Fila de Distribuição',
        'jobs_subtitle' => 'Acompanhe jobs de sincronização de artigos enviados aos sites-alvo.',
        'channels_title' => 'Canais de Distribuição',
        'recent_logs_title' => 'Logs Recentes de Distribuição',
        'empty_channels_title' => 'Ainda não há canais de distribuição',
        'empty_channels_desc' => 'Crie o primeiro canal Agent de site-alvo para que tarefas possam distribuir artigos após a publicação local.',
        'empty_logs' => 'Ainda não há logs de distribuição.',
        'empty_jobs' => 'Ainda não há jobs de distribuição.',
        'secret_notice_title' => 'Salve este segredo de canal agora',
        'secret_notice_desc' => 'O segredo é exibido temporariamente e fica oculto após atualizar a página. Super admins podem revelá-lo novamente nos detalhes do canal com a senha atual.',
        'queue_summary' => 'Pendentes :pending, com falha :failed',
        'stats' => [
            'total' => 'Total de Canais',
            'active' => 'Canais Ativos',
            'pending' => 'Distribuições Pendentes',
            'failed' => 'Distribuições com Falha',
        ],
        'field' => [
            'name' => 'Nome do Canal',
            'domain' => 'Domínio Alvo',
            'endpoint_url' => 'URL Base do Site Alvo / Agent',
            'channel_type' => 'Tipo de Canal',
            'front_mode' => 'Modo de URL do Frontend',
            'template_key' => 'Chave do Template',
            'status' => 'Status',
            'queue' => 'Fila',
            'key_id' => 'ID da Chave',
            'secret' => 'Segredo',
            'health_status' => 'Status de Saúde',
            'health_check_url' => 'URL de Health Check',
            'last_used_at' => 'Último Uso',
            'admin_password' => 'Senha Atual do Admin',
            'article' => 'Artigo',
            'channel' => 'Canal',
            'action' => 'Ação',
            'remote_url' => 'URL Remota',
            'attempt_count' => 'Tentativas',
            'last_error' => 'Último Erro',
            'event' => 'Evento',
            'time' => 'Hora',
        ],
        'button' => [
            'create' => 'Criar Canal',
            'jobs' => 'Ver Fila',
            'health' => 'Testar Conexão',
            'save_and_generate_secret' => 'Salvar e Gerar Segredo',
            'save' => 'Salvar Canal',
            'pause' => 'Pausar Canal',
            'activate' => 'Ativar Canal',
            'rotate_secret' => 'Redefinir Segredo',
            'reveal_secret' => 'Verificar e Mostrar Segredo',
            'download_package' => 'Baixar Pacote do Site',
            'sync_settings' => 'Sincronizar Configurações',
            'update_target_site' => 'Atualizar Site Alvo',
            'retry' => 'Tentar Novamente',
            'edit_remote_article' => 'Editar Artigo Remoto',
            'delete_remote_article' => 'Excluir Cópia Remota',
        ],
        'channel_type' => [
            'geoflow_agent' => 'GEOFlow Agent',
            'geoflow_agent_desc' => 'Use o pacote de site-alvo do GEOFlow e o protocolo Agent assinado para novos sites de canal.',
            'wordpress_rest' => 'WordPress REST',
            'wordpress_rest_desc' => 'Publique, atualize e exclua posts pela API REST do WordPress e Application Passwords.',
        ],
        'wordpress' => [
            'section_title' => 'Conexão WordPress',
            'section_desc' => 'Informe a URL do site WordPress, usuário e Application Password. Application Password não é a senha de login e pode ser criada ou revogada no perfil do usuário WordPress.',
            'edit_section_desc' => 'Mantenha as configurações de publicação via WordPress REST. Deixe Application Password em branco para manter o segredo salvo; preencha um novo valor para substituí-lo.',
            'username' => 'Usuário WordPress',
            'application_password' => 'Application Password',
            'application_password_help' => 'Crie em WordPress > Usuários > Perfil > Application Passwords. O GEOFlow armazena o valor criptografado.',
            'application_password_update_help' => 'Deixe em branco para manter o Application Password atual; informe um novo valor para revogar o segredo antigo e salvar o novo.',
            'application_password_placeholder' => 'Deixe em branco para manter o segredo atual',
            'post_status' => 'Status Padrão do Post',
            'post_status_publish' => 'Publicar',
            'post_status_draft' => 'Rascunho',
            'post_status_pending' => 'Pendente de Revisão',
            'post_status_private' => 'Privado',
            'image_strategy' => 'Tratamento de Imagens',
            'image_upload_to_media' => 'Enviar para a Biblioteca de Mídia e substituir URLs',
            'image_keep_original' => 'Manter URLs originais das imagens',
            'category_strategy' => 'Estratégia de Categorias',
            'category_match_or_create' => 'Associar ou criar a partir da categoria do GEOFlow',
            'category_match_only' => 'Associar apenas categorias existentes',
            'category_fixed' => 'Categoria fixa',
            'fixed_category' => 'ID ou Nome da Categoria Fixa',
            'tag_strategy' => 'Estratégia de Tags',
            'tag_keywords_to_tags' => 'Sincronizar palavras-chave como tags',
            'tag_disabled' => 'Não sincronizar tags',
            'secret_hint' => 'O WordPress Application Password é criptografado e nunca exibido em texto claro. Para substituí-lo, informe um novo Application Password na página de edição.',
            'guide_title' => 'Guia de Conexão WordPress',
            'guide_desc' => 'Canais WordPress não precisam do pacote de site-alvo GEOFlow nem de regras de rewrite. Após confirmar que a API REST funciona, publique o primeiro artigo de teste como rascunho.',
            'guide_step_password' => 'Crie um Application Password no perfil do usuário WordPress e confirme que o usuário pode editar, publicar e enviar mídia.',
            'guide_step_config' => 'Salve no GEOFlow o usuário, Application Password, status do post, categorias, tags e estratégia de imagens.',
            'guide_step_health' => 'Clique em Testar Conexão para o GEOFlow verificar /wp-json e permissões do usuário atual.',
            'guide_step_draft' => 'Comece com status Rascunho, confira categorias, imagens e layout, depois altere para publicação direta.',
        ],
        'front_mode' => [
            'static' => 'Modo de arquivos estáticos',
            'static_desc' => 'Modo padrão. A distribuição de artigos gera index.html e article/{slug}/index.html no site-alvo, adequado para hospedagem comum sem configuração de rewrite.',
            'rewrite' => 'Modo rewrite',
            'rewrite_desc' => 'O site-alvo renderiza páginas dinamicamente e exige regras de rewrite no servidor. Use quando roteamento dinâmico for necessário.',
        ],
        'remote_site' => [
            'section_title' => 'Configurações do Site Alvo',
            'section_desc' => 'Estas configurações se aplicam apenas ao site-alvo deste canal de distribuição. Elas controlam título, SEO, copyright e seleção de template do site remoto sem alterar as configurações do próprio GEOFlow. Salvar o canal sincroniza automaticamente com o site-alvo; se o site remoto estiver indisponível, tente novamente em “Sincronizar Configurações” na página de detalhes.',
            'theme_help' => 'Escolha o template frontend usado pelo site-alvo. O novo pacote do site-alvo troca estilos base por esta chave de template; Agents personalizados podem mapeá-la para seu próprio tema ou layout. Pacotes antigos precisam ser baixados e implantados novamente para o estilo do template entrar em vigor.',
        ],
        'target_update' => [
            'title' => 'Atualizar Site Alvo',
            'desc' => 'Depois de sobrescrever o alvo com um pacote de site mais novo, clique aqui para sincronizar as configurações deste canal e reenfileirar artigos já distribuídos para atualização. Atualizações de artigos reenviam imagens e acionam o site-alvo para reconstruir página inicial, páginas de artigo, llms.txt e sitemap.txt.',
        ],
        'rewrite' => [
            'title' => 'Regras de Rewrite',
            'desc' => 'Apache normalmente lê o .htaccess incluído após a descompactação. Para Nginx, prefira as regras Nginx/BT na configuração do servidor; se o painel BT não aplicar blocos location, use as regras BT somente de rewrite. As regras são geradas a partir da URL Base do Agent atual.',
            'base_path' => 'Caminho correspondente atual: :path',
            'copy_apache' => 'Copiar Apache .htaccess',
            'copy_nginx' => 'Copiar Regras do Servidor Nginx',
            'copy_bt' => 'Copiar Regras BT Somente Rewrite',
            'copied' => 'Copiado',
        ],
        'status' => [
            'active' => 'Ativo',
            'paused' => 'Pausado',
        ],
        'health_status' => [
            'ok' => 'OK',
            'failed' => 'Falhou',
        ],
        'job_status' => [
            'queued' => 'Na fila',
            'sending' => 'Enviando',
            'synced' => 'Sincronizado',
            'failed' => 'Falhou',
        ],
        'action' => [
            'publish' => 'Publicar',
            'update' => 'Atualizar',
            'delete' => 'Excluir',
        ],
        'job_state' => [
            'remote_copy_deleting' => 'Excluindo',
            'remote_copy_deleted' => 'Cópia remota excluída',
        ],
        'log_level' => [
            'info' => 'Info',
            'warning' => 'Aviso',
            'error' => 'Erro',
            'debug' => 'Debug',
        ],
        'article_status' => [
            'queued' => 'Distribuindo',
            'synced' => 'Distribuído',
            'failed' => 'Distribuição falhou',
        ],
        'task_status' => [
            'queued' => 'Distribuindo :count',
            'synced' => 'Distribuído :count',
            'failed' => 'Distribuição falhou :count',
        ],
        'filter' => [
            'all_statuses' => 'Todos os Status',
            'all_channels' => 'Todos os Canais',
        ],
        'placeholder' => [
            'name' => 'Exemplo: canal GEO do site principal',
            'endpoint_url' => 'Exemplo: www.example.com ou https://www.example.com',
            'description' => 'Opcional: registre finalidade do site, responsável ou detalhes de instalação.',
        ],
        'help' => [
            'channel_type' => 'Escolha o tipo de alvo para sincronização de conteúdo. GEOFlow Agent usa pacote de site-alvo; WordPress REST conecta a um site WordPress existente.',
            'channel_type_locked' => 'O tipo do canal permanece fixo após a criação para evitar misturar IDs remotos e protocolos de artigos já sincronizados.',
            'endpoint_url' => 'Para canais GEOFlow Agent, informe a URL base onde o pacote do site-alvo está instalado. Para canais WordPress, informe a URL do site WordPress ou a URL /wp-json. Sem protocolo, o GEOFlow usa https://.',
            'front_mode' => 'Novos canais usam modo de arquivos estáticos por padrão. O modo estático gera HTML real após upload e descompactação; o modo rewrite exige regras de servidor.',
            'reveal_secret' => 'Somente super admins podem revelar temporariamente o segredo em texto claro com a senha atual. Ele volta a ficar oculto após atualizar a página.',
            'download_package' => 'O pacote do site inclui este segredo de canal; por isso super admins precisam verificar a senha atual antes de baixá-lo.',
        ],
        'validation' => [
            'endpoint_url' => 'Informe uma URL base de Agent http ou https válida.',
            'wordpress_username' => 'Informe o usuário WordPress.',
            'wordpress_application_password' => 'Informe o WordPress Application Password.',
        ],
        'detail' => [
            'basic' => 'Informações Básicas',
            'secret' => 'Informações do Segredo',
            'agent_guide' => 'Guia de Implantação do Site Alvo',
            'agent_package' => 'Implantação Recomendada',
            'agent_package_name' => 'Pacote ZIP do site-alvo com chave e configurações do site',
            'agent_step_deploy' => 'Baixe o pacote do site-alvo, envie-o para o diretório correspondente à URL Base do Agent e descompacte.',
            'agent_step_configure' => 'Confirme que o diretório de armazenamento é gravável; o modo estático não exige editar manualmente chaves PHP.',
            'agent_step_health' => 'Volte aqui e clique em Testar Conexão. O sistema detectará automaticamente a entrada /index.php sem rewrite.',
            'agent_step_task' => 'Associe tarefas a este canal na página de criação ou edição da tarefa. Artigos publicados localmente entrarão automaticamente na fila de distribuição.',
            'agent_config_hint' => 'O pacote do site-alvo inclui a API do Agent, páginas frontend, llms.txt e sitemap.txt; enviar e descompactar costuma ser suficiente.',
            'target_package' => 'Pacote do Site Alvo',
            'target_package_desc' => 'Gere um pacote PHP mínimo para este canal. Envie e descompacte para obter endpoints do Agent, página inicial de listagem, páginas de detalhe de artigo e as configurações atuais do canal e chave de template.',
            'target_package_files' => 'Conteúdo do Pacote',
            'target_package_file_config' => 'config.php: segredo do canal, nome do site e URL base',
            'target_package_file_index' => 'public/index.php: endpoints do Agent, página inicial e página de detalhe de artigo',
            'target_package_file_storage' => 'storage/articles: armazenamento JSON local para artigos recebidos',
            'target_package_feature_health' => 'Endpoint de Health Check',
            'target_package_feature_article' => 'Endpoint de Recebimento de Artigos',
            'target_package_feature_home' => 'Página Inicial de Listagem',
            'target_package_feature_detail' => 'Página de Detalhe do Artigo',
            'package_configured_base' => 'URL Base do Agent Escrita no Pacote',
            'package_no_rewrite_entry' => 'Entrada de Teste Sem Rewrite',
            'health_before_deploy_title' => 'Testar Conexão retorna 404 até o pacote do site-alvo ser implantado',
            'health_before_deploy_desc' => 'Baixe o pacote do site e descompacte-o diretamente no diretório correspondente à URL Base do Agent. Se o servidor não tiver configuração de rewrite, Testar Conexão tenta automaticamente a entrada /index.php e atualiza a URL Base do Agent após sucesso.',
        ],
        'confirm' => [
            'rotate_secret' => 'Redefinir este segredo de canal? O segredo antigo deixará de funcionar imediatamente e o novo será exibido temporariamente até atualizar a página.',
        ],
        'message' => [
            'created' => 'Canal de distribuição criado.',
            'updated' => 'Canal de distribuição atualizado.',
            'updated_and_settings_synced' => 'Canal de distribuição atualizado e sincronizado com o site-alvo.',
            'paused' => 'Canal de distribuição pausado.',
            'activated' => 'Canal de distribuição ativado.',
            'secret_rotated' => 'Segredo do canal redefinido.',
            'secret_revealed' => 'Segredo do canal revelado temporariamente. Copie-o para a configuração do Agent do site-alvo agora.',
            'secret_reveal_forbidden' => 'Somente super admins podem revelar segredos de canal.',
            'package_download_forbidden' => 'Somente super admins podem baixar pacotes de site-alvo que incluem segredos.',
            'password_invalid' => 'A senha atual do admin está incorreta.',
            'active_secret_not_found' => 'Este canal não tem segredo ativo. Redefina o segredo primeiro.',
            'secret_decrypt_failed' => 'Falha ao descriptografar o segredo do canal. Redefina-o e configure o Agent alvo novamente.',
            'not_found' => 'Canal de distribuição não encontrado.',
            'job_not_found' => 'Job de distribuição não encontrado.',
            'retry_queued' => 'Job de distribuição reenfileirado.',
            'health_ok' => 'Health check aprovado: ',
            'health_failed' => 'Health check falhou: :message',
            'settings_synced' => 'Configurações do site-alvo sincronizadas.',
            'settings_synced_with_content_refresh' => 'Configurações do site-alvo sincronizadas. :count artigos foram reenfileirados para atualizar páginas remotas e imagens.',
            'settings_sync_failed' => 'Falha ao sincronizar configurações do site-alvo: :message',
            'remote_article_updated' => 'Artigo remoto atualizado, e o artigo local do GEOFlow também foi atualizado.',
            'remote_article_update_failed' => 'Falha ao atualizar o artigo remoto: :message',
            'remote_article_deleted' => 'Cópia remota do artigo excluída e página inicial do alvo atualizada.',
            'remote_article_delete_failed' => 'Falha ao excluir o artigo remoto: :message',
            'wordpress_secret_rotation_hint' => 'Para canais WordPress, substitua o segredo informando um novo Application Password na página de edição.',
            'package_not_available_for_wordpress' => 'Canais WordPress não precisam de pacote de site-alvo. Configure a conexão WordPress REST.',
        ],
        'remote_article' => [
            'edit_title' => 'Editar Artigo Remoto',
            'edit_desc' => 'Isso atualiza primeiro o artigo local do GEOFlow e depois sincroniza o mesmo conteúdo com este canal alvo.',
            'title' => 'Título',
            'excerpt' => 'Resumo',
            'content' => 'Conteúdo Markdown',
            'keywords' => 'Palavras-chave',
            'meta_description' => 'Descrição SEO',
        ],
    ],
    'authors' => [
        'page_title' => 'Gerenciamento de Autores',
        'page_subtitle' => 'Gerencie informações dos autores dos artigos',
        'create' => 'Adicionar Autor',
        'stats_total' => 'Total de Autores',
        'stats_active' => 'Autores Ativos',
        'stats_average' => 'Média de Artigos',
        'search_placeholder' => 'Buscar nome, email ou biografia do autor...',
        'list_title' => 'Lista de Autores',
        'empty_title' => 'Nenhum autor',
        'empty_desc' => 'Comece adicionando informações de autor.',
        'empty_search' => 'Nenhum autor correspondente foi encontrado.',
        'article_count' => 'Artigos: :count',
        'published_count' => 'Publicados: :count',
        'trashed_count' => 'Lixeira: :count',
        'created_prefix' => 'Criado: :date',
        'edit' => 'Editar',
        'delete' => 'Excluir',
        'modal_create' => 'Adicionar Autor',
        'modal_edit' => 'Editar Autor',
        'field_name' => 'Nome *',
        'field_email' => 'Email',
        'field_bio' => 'Biografia',
        'field_website' => 'Site',
        'field_social' => 'Links Sociais',
        'placeholder_name' => 'Informe o nome do autor',
        'placeholder_email' => 'Informe o endereço de email',
        'placeholder_bio' => 'Breve biografia do autor',
        'placeholder_social' => 'Weibo, WeChat e outros links sociais',
        'save_create' => 'Adicionar Autor',
        'save_edit' => 'Salvar Alterações',
        'confirm_delete' => 'Excluir o autor ":name"? Se este autor tiver artigos, a exclusão será bloqueada.',
        'confirm_delete_trashed' => 'Excluir o autor ":name"? Ainda há :count artigos na lixeira referenciando este autor. Remova-os ou migre-os primeiro.',
        'error' => [
            'name_required' => 'O nome do autor é obrigatório',
            'not_found' => 'Autor não encontrado',
            'delete_visible' => 'Não é possível excluir este autor porque :count artigos ativos ainda o referenciam. Migre ou remova esses artigos primeiro.',
            'delete_trashed' => 'Não é possível excluir este autor porque :count artigos na lixeira ainda o referenciam. Remova-os definitivamente ou migre-os primeiro.',
        ],
        'message' => [
            'create_success' => 'Autor criado com sucesso',
            'create_failed' => 'Falha ao criar autor',
            'update_success' => 'Autor atualizado com sucesso',
            'update_failed' => 'Falha ao atualizar autor',
            'delete_success' => 'Autor excluído com sucesso',
            'delete_failed' => 'Falha ao excluir',
        ],
        'action' => [
            'view_articles' => 'Ver artigos do autor',
            'view_trashed_articles' => 'Ver artigos na lixeira',
        ],
    ],
    'front' => [
        'nav' => [
            'home' => 'Início',
            'categories' => 'Categorias',
            'all_articles' => 'Todos os Artigos',
            'admin' => 'Admin',
        ],
        'language' => [
            'label' => 'Idioma',
        ],
        'home' => [
            'featured_articles' => 'Artigos em Destaque',
            'latest_articles' => 'Artigos Recentes',
            'featured_badge' => 'Destaque',
            'read_more' => 'Ler Mais',
        ],
        'search' => [
            'breadcrumb' => 'Busca: :term',
            'empty_title' => 'Nenhum conteúdo correspondente encontrado',
            'empty_description' => 'Tente outra palavra-chave',
        ],
        'articles' => [
            'empty_title' => 'Ainda não há artigos',
            'empty_description' => 'Ainda não há artigos publicados disponíveis',
        ],
        'back_home' => 'Voltar ao Início',
        'back_archive' => 'Voltar ao Arquivo',
        'archive' => [
            'title' => 'Arquivo',
            'page_title' => 'Arquivo de Artigos',
            'page_title_month' => 'Arquivo de :period',
            'page_description' => 'Navegue por todos os artigos arquivados por data - :site',
            'page_description_month' => 'Veja todos os artigos publicados em :period - :site',
            'meta_keywords' => 'arquivo de artigos,arquivo de conteúdo,conteúdo de IA,sistema de conteúdo GEO',
            'overview_description' => 'Navegue por todos os artigos por data',
            'month_description' => ':count artigos publicados neste mês',
            'empty_title' => 'Ainda não há entradas no arquivo',
            'empty_description' => 'Ainda não há artigos publicados disponíveis',
            'month_empty_description' => 'Ainda não há artigos publicados disponíveis para este mês',
            'article_count' => ':count artigos',
            'error' => [
                'invalid_date' => 'Formato de data inválido',
            ],
            'summary' => [
                'type_label' => 'Tipo de Arquivo',
                'month_type' => 'Página de Arquivo Mensal',
                'overview_type' => 'Página Geral do Arquivo',
                'page_label' => 'Página Atual',
            ],
        ],
        'category' => [
            'empty_description' => 'Ainda não há conteúdo publicado nesta categoria',
            'error' => [
                'not_found' => 'Categoria não encontrada',
            ],
            'meta_fallback' => 'Conteúdo da categoria :name',
            'summary' => [
                'name_label' => 'Nome da Categoria',
                'count_label' => 'Total de Artigos',
                'page_label' => 'Página Atual',
            ],
        ],
        'article' => [
            'published_on' => 'Publicado: :date',
            'related_articles' => 'Artigos Relacionados',
            'breadcrumb' => 'Navegação estrutural',
            'ad_close' => 'Fechar anúncio',
        ],
    ],
    'legacy' => [
        'title' => 'Esta página é uma página legada / de compatibilidade',
    ],
]);
