Plugin automatic-ai-posts (v2.0.0) - Pipeline completo: coleta de feeds RSS/Atom, filtro por IA, reescrita, categoria, imagem de capa e agendamento - Página de configuração com teste real do provedor de IA - Editor: botão para refazer imagem de capa e metadados, textos em PT-BR - Ajuda com botão Pix (copia-e-cola + QR) e sem nota de avaliação - Cache-busting por mtime nos assets do admin Tema gustavoo-portfolio - Marca do cabeçalho reduzida a "Gustavo" - Suporte a título próprio da marca Setup (docker/wp-init.sh, compose.yaml) - Plugins de terceiros (Post Views Counter, Rank Math, Site Kit) instalados do WordPress.org em vez de versionados - Falha explícita ao final se algum plugin obrigatório não instalar - WPCLI_UID/WPCLI_GID configuráveis Seeder do tema - Links permanentes "Dia e nome" e avatar "Iniciais" aplicados apenas em instalação nova, com regravação do .htaccess
202 lines
14 KiB
PHP
202 lines
14 KiB
PHP
<?php
|
|
defined('ABSPATH') || exit;
|
|
|
|
/**
|
|
* Português (Brasil)
|
|
*/
|
|
return [
|
|
'nav_label' => 'Navegação do plugin',
|
|
'tab_execucoes' => 'Execuções',
|
|
'tab_configuracoes' => 'Configurações',
|
|
'tab_log' => 'Log em tempo real',
|
|
'tab_ajuda' => 'Ajuda',
|
|
'config_subtitle' => 'Configure todas as opções do plugin organizadas por categoria.',
|
|
'config_categories' => 'Categorias de configuração',
|
|
'section_general' => 'Geral',
|
|
'section_general_desc' => 'Configurações principais do plugin.',
|
|
'section_prompts' => 'Prompts e Filtro',
|
|
'section_prompts_desc' => 'Perfil editorial, exclusões e instruções de reescrita.',
|
|
'section_feeds' => 'Feeds RSS',
|
|
'section_feeds_desc' => 'Fontes de notícias por RSS.',
|
|
'section_gnews' => 'GNews.io',
|
|
'section_gnews_desc' => 'Chave de API e categorias para busca de notícias.',
|
|
'section_ai' => 'Inteligência Artificial',
|
|
'section_ai_desc' => 'Provedor, modelo e parâmetros da IA.',
|
|
'section_other' => 'Outras Configurações',
|
|
'section_other_desc' => 'Versão e suporte.',
|
|
'field_pub_mode' => 'Modo de publicação',
|
|
'pub_mode_draft_label' => 'Salvar como rascunho',
|
|
'pub_mode_pub_label' => 'Publicar automaticamente',
|
|
'pub_mode_desc' => 'Aplica-se tanto ao botão manual quanto à geração automática.',
|
|
'field_language' => 'Idioma dos posts',
|
|
'language_desc' => 'Define o idioma em que a IA escreve os textos.',
|
|
'field_app_language' => 'Idioma do aplicativo',
|
|
'app_language_desc' => 'Idioma do painel de administração.',
|
|
'field_posts_per_run' => 'Posts por execução',
|
|
'min_posts' => 'Mínimo:',
|
|
'max_posts' => 'Máximo:',
|
|
'field_editorial' => 'Perfil editorial',
|
|
'editorial_ph' => 'Ex: Blog de tecnologia, IA e startups. Priorize notícias sobre IA generativa.',
|
|
'editorial_desc' => 'A IA usa este perfil para escolher os artigos mais relevantes.',
|
|
'field_negative' => 'Perfil negativo',
|
|
'negative_ph' => 'Ex: Evite política, futebol e conteúdo sensacionalista.',
|
|
'negative_desc' => 'Temas que a IA deve <strong>evitar</strong> ao selecionar artigos.',
|
|
'rewrite_label' => 'Reescrita',
|
|
'image_label' => 'Imagem de capa',
|
|
'field_rewrite' => 'Instruções de reescrita',
|
|
'rewrite_ph' => 'Ex: Escreva em tom formal, use dados e evite clickbait.',
|
|
'rewrite_desc' => 'Instruções extras enviadas à IA ao reescrever o artigo.',
|
|
'field_feeds' => 'URLs dos feeds',
|
|
'feeds_desc' => 'Um feed por linha.',
|
|
'field_feed_max' => 'Artigos por feed',
|
|
'feed_max_desc' => 'Quantos artigos recentes de cada feed serão avaliados.',
|
|
'field_gnews_key' => 'Chave de API',
|
|
'key_saved_hint' => 'Uma chave já está salva. Deixe o campo em branco para mantê-la.',
|
|
'gnews_key_desc' => 'Obtenha em <a href="https://gnews.io" target="_blank" rel="noopener">gnews.io</a>.',
|
|
'field_gnews_cats' => 'Categorias',
|
|
'gnews_cats_desc' => 'Uma requisição separada é feita para cada categoria selecionada.',
|
|
'field_gnews_max' => 'Artigos por categoria',
|
|
'gnews_max_desc' => 'No plano gratuito do GNews o máximo é 10 artigos por requisição.',
|
|
'field_provider' => 'Provedor de IA',
|
|
'provider_desc' => 'O provedor usado em todas as chamadas de IA.',
|
|
'field_nvidia_key' => 'Chave de API NVIDIA',
|
|
'nvidia_key_desc' => 'Obtenha em <a href="https://build.nvidia.com" target="_blank" rel="noopener">build.nvidia.com</a>.',
|
|
'field_openai_key' => 'Chave de API OpenAI',
|
|
'openai_key_desc' => 'Obtenha em <a href="https://platform.openai.com" target="_blank" rel="noopener">platform.openai.com</a>.',
|
|
'field_anthropic_key' => 'Chave de API Anthropic',
|
|
'anthropic_key_desc' => 'Obtenha em <a href="https://console.anthropic.com" target="_blank" rel="noopener">console.anthropic.com</a>.',
|
|
'field_openrouter_key' => 'Chave de API OpenRouter',
|
|
'openrouter_key_desc' => 'Obtenha em <a href="https://openrouter.ai" target="_blank" rel="noopener">openrouter.ai</a>.',
|
|
'field_custom_url' => 'URL base',
|
|
'custom_url_desc' => 'Endpoint compatível com OpenAI, incluindo o /v1.',
|
|
'field_custom_key' => 'Chave de API',
|
|
'custom_key_desc' => 'Chave enviada como Bearer para o endpoint acima.',
|
|
'field_vertex_project' => 'Projeto (Project ID)',
|
|
'field_vertex_location' => 'Região',
|
|
'field_vertex_sa' => 'Service account (JSON)',
|
|
'vertex_sa_desc' => 'Conteúdo completo do arquivo JSON da service account do Google Cloud.',
|
|
'field_model' => 'Modelo',
|
|
'model_desc' => 'Deixe em branco para usar o modelo padrão do provedor.',
|
|
'field_ai_limits' => 'Timeout e tentativas',
|
|
'timeout_label' => 'Timeout',
|
|
'retries_label' => 'Tentativas',
|
|
'ai_limits_desc' => 'Aplica-se a todas as chamadas de IA.',
|
|
'ai_test_label' => 'Testar conexão',
|
|
'ai_test_btn' => 'Testar agora',
|
|
'ai_test_desc' => 'Envia uma chamada curta ao provedor selecionado e mostra a resposta ou o erro.',
|
|
'ai_test_testing' => 'Testando…',
|
|
'ai_test_ok' => 'Conexão funcionando',
|
|
'field_image_instructions' => 'Instruções de imagem',
|
|
'image_instructions_ph' => 'Ex: Prefira fotos reais de pessoas trabalhando, sem texto na imagem.',
|
|
'image_instructions_desc' => 'A IA usa estas instruções para montar a busca no DuckDuckGo e escrever os textos da imagem.',
|
|
'field_image_caption' => 'Legenda configurável',
|
|
'image_caption_ph' => 'Ex: Sempre cite o nome da empresa. Máximo 120 caracteres.',
|
|
'image_caption_desc' => 'Estilo ou regras que a legenda da imagem deve seguir.',
|
|
'other_version' => 'Versão do plugin',
|
|
'other_support' => 'Suporte e créditos',
|
|
'save_all' => 'Salvar todas as configurações',
|
|
'discard_changes' => 'Descartar alterações',
|
|
'unsaved_changes' => 'Alterações não salvas',
|
|
'exec_subtitle' => 'Acompanhe as execuções do plugin e controle a geração automática.',
|
|
'running_now' => 'Executando agora...',
|
|
'no_execution' => 'Nenhum processo em execução',
|
|
'started_in' => 'Iniciado em: %s',
|
|
'idle_desc' => 'Nenhuma execução em andamento no momento.',
|
|
'processing_feeds' => 'Processando feeds...',
|
|
'last_run' => 'Última:',
|
|
'never' => 'nunca',
|
|
'running_btn' => 'Em execução...',
|
|
'abort_btn' => 'Abortar execução',
|
|
'exec_note' => 'Atualizado automaticamente a cada 3 segundos. O abort encerra o processo imediatamente.',
|
|
'status_running' => 'Em execução',
|
|
'status_idle' => 'Parado',
|
|
'section_run_now' => 'Executar agora',
|
|
'card_auto' => 'Geração automática',
|
|
'auto_status_label' => 'Status',
|
|
'auto_active' => 'Ativa',
|
|
'auto_inactive' => 'Inativa',
|
|
'next_run' => 'Próxima:',
|
|
'auto_first_run' => 'Primeira execução',
|
|
'start_now' => 'Iniciar agora',
|
|
'set_schedule' => 'Definir um horário',
|
|
'schedule_desc' => 'Escolha data e hora para a primeira execução.',
|
|
'field_auto_period' => 'Período de geração automática',
|
|
'auto_period_hint' => 'Intervalo entre execuções automáticas.',
|
|
'stop_auto_btn' => 'Pausar automático',
|
|
'start_auto_btn' => 'Iniciar automático',
|
|
'log_title' => 'Log em tempo real',
|
|
'log_panel_subtitle' => 'Acompanhe os eventos e erros do plugin.',
|
|
'log_live' => 'Atualização automática',
|
|
'log_level' => 'Nível',
|
|
'log_level_all' => 'Todos os níveis',
|
|
'log_loading' => 'Carregando...',
|
|
'log_load_more' => 'Carregar mais',
|
|
'help_subtitle' => 'Créditos do plugin.',
|
|
'created_by' => 'criado por',
|
|
'licence_label' => 'Licença GPLv2',
|
|
'help_website' => 'Site do autor',
|
|
'plugin_active' => 'Plugin ativo',
|
|
'version_label' => 'Versão %s',
|
|
'js_no_execution' => 'Nenhum processo em execução',
|
|
'js_running' => 'Em execução...',
|
|
'js_aborting' => 'Abortando...',
|
|
'js_run_now' => 'Executar agora',
|
|
'js_processing' => 'Processando feeds...',
|
|
'js_error_prefix' => 'Erro:',
|
|
'js_aborted' => 'Execução abortada.',
|
|
'js_wait' => 'Aguarde...',
|
|
'js_auto_started' => 'Geração automática ativada.',
|
|
'js_auto_paused' => 'Geração automática pausada.',
|
|
'js_comm_error' => 'Falha de comunicação.',
|
|
'js_error_start' => 'Não foi possível iniciar.',
|
|
'js_error_abort' => 'Não foi possível abortar.',
|
|
'js_start_auto' => 'Iniciar automático',
|
|
'js_stop_auto' => 'Pausar automático',
|
|
'js_log_empty' => 'Nenhum log registrado ainda.',
|
|
'js_log_updated' => 'Atualizado',
|
|
'js_next_run' => 'Próxima:',
|
|
'js_auto_active' => 'Ativa',
|
|
'js_auto_inactive' => 'Inativa',
|
|
'js_schedule_required' => 'Escolha data e hora.',
|
|
'js_schedule_past' => 'A data precisa estar no futuro.',
|
|
'js_settings_saved' => 'Configurações salvas.',
|
|
'js_preparing' => 'Preparando...',
|
|
'js_running_feeds' => 'Processando feeds...',
|
|
'js_sleeping' => 'Aguardando...',
|
|
'gnews_categories' => ['general' => 'Geral', 'world' => 'Mundo', 'nation' => 'Nacional', 'business' => 'Negócios', 'technology' => 'Tecnologia', 'entertainment' => 'Entretenimento', 'sports' => 'Esportes', 'science' => 'Ciência', 'health' => 'Saúde'],
|
|
'auto_period_units' => ['minutes' => 'minutos', 'hours' => 'horas', 'days' => 'dias'],
|
|
'help_page_title' => 'Ajuda, Créditos e Doação',
|
|
'help_page_subtitle' => 'Encontre ajuda, veja os créditos do plugin e contribua com o projeto.',
|
|
'section_donate' => 'Contribua com o Projeto',
|
|
'section_donate_desc' => 'Seu apoio nos ajuda a manter o plugin atualizado e continuar evoluindo.',
|
|
'donate_title' => 'Faça uma doação',
|
|
'donate_desc' => 'Qualquer valor ajuda muito a manter o desenvolvimento deste plugin e trazer novas funcionalidades para você.',
|
|
'donate_btn' => 'Doar agora com Pix',
|
|
'donate_copied' => 'Chave copia e cola copiada!',
|
|
'donate_qr_hint' => 'Aponte sua câmera',
|
|
'or_label' => 'ou',
|
|
'section_credits' => 'Créditos',
|
|
'section_credits_desc' => 'Agradecemos a todos que tornam este projeto possível.',
|
|
'credit_developer' => 'Desenvolvedor Principal',
|
|
'section_about' => 'Sobre o Plugin',
|
|
'section_about_desc' => 'Informações importantes sobre o Automatic AI Posts.',
|
|
'about_desc' => 'Plugin WordPress para gerar e publicar posts automaticamente com inteligência artificial, de forma simples e eficiente.',
|
|
'about_feature_1' => 'Posts automáticos com IA',
|
|
'about_feature_2' => 'Múltiplas configurações',
|
|
'about_feature_3' => 'Logs detalhados',
|
|
'about_feature_4' => 'Suporte a feeds RSS',
|
|
'about_feature_5' => 'Execução agendada',
|
|
'about_feature_6' => 'Provedores de IA variados',
|
|
'about_github' => 'Projeto no GitHub',
|
|
'donate_key_label' => 'Chave copia e cola:',
|
|
'donate_no_qr' => 'Salve a imagem do QR code em admin/pix-qrcode.png',
|
|
'editor_box_title' => 'Automatic AI Posts',
|
|
'editor_desc' => 'Busca uma nova imagem de capa e regenera o alt, a legenda e a descrição, exatamente como o pipeline.',
|
|
'editor_btn_has_image' => 'Buscar nova imagem',
|
|
'editor_btn_no_image' => 'Buscar imagem de capa',
|
|
'editor_working' => 'Buscando uma nova imagem…',
|
|
'editor_success' => 'Imagem de capa atualizada.',
|
|
'editor_no_image' => 'Nenhuma imagem utilizável foi encontrada. A capa atual foi mantida.',
|
|
'editor_error' => 'Não foi possível buscar a imagem. Consulte os logs do plugin.',
|
|
];
|