Tenho a tradução por IA ativada com 14 idiomas, incluindo Português (pt). Quando uma nova postagem é criada, todos os idiomas são traduzidos automaticamente, exceto o Português — ele simplesmente não aparece na lista de traduções. Outros locais (ru, de, fr, es, it, nl, pl, uk, fi, sv, da, nb_NO) são gerados corretamente.
Versão do Discourse: 2026.1.3 Plugin de IA: mais recente Modelo de tradução: Mistral Large/Small
Passos para reproduzir:
Ative a tradução por IA com o Português (pt) na lista de locais
Crie uma nova postagem em inglês
Verifique as traduções — PT está faltando
Esperado: Tradução PT gerada automaticamente
Realidade: PT não é gerado, precisa ser adicionado manualmente
Você poderia dar uma olhada nisso? O locale português (pt) está sendo consistentemente ignorado na tradução automática por IA. Todas as outras 13 línguas são traduzidas corretamente. Isso é um problema crítico para nossa comunidade, pois atendemos usuários de língua portuguesa na Madeira, Portugal.
Qual configuração está nesta captura de tela? Content localization supported locales?
E na segunda captura de tela, qual é o idioma da postagem? E, relacionado a isso, qual é o idioma padrão do seu site, ou seja, a configuração do site default locale.
Sim, a primeira captura de tela mostra a configuração Content localization supported locales com 14 idiomas, incluindo PT.
A postagem na segunda captura de tela foi escrita em inglês. O locale padrão do site também é inglês (en). Todos os 14 idiomas estão habilitados, incluindo PT, mas a tradução para PT é consistentemente ignorada, enquanto as outras 13 línguas são geradas corretamente.
Hmm, interessante. É um site que hospedamos? Se sim, gostaria de dar uma olhada na configuração para ver o que está acontecendo. Pode me enviar uma MP com o URL do site?
Aqui no meta temos o português ativado e funciona perfeitamente.
Trazendo isso de volta ao tópico público a partir de uma conversa rápida em mensagem privada:
Esse é um resultado interessante.
Existem algumas configurações relevantes para isso em IA > Traduções > Configurações de Tradução, mas não exatamente o que você precisa. Acredito que a tarefa agendada não enviará 14 solicitações de tradução simultâneas.
Tenho curiosidade se @nat encontrou isso em algum momento durante o desenvolvimento e os testes do recurso.
Atualização: o problema não é específico do português. Com 3 idiomas (EN, RU, PT), qualquer idioma pode ser aleatoriamente ignorado — às vezes o RU, às vezes o PT. Além disso, o título e o corpo são traduzidos de forma independente e inconsistente — o título pode ser traduzido, mas o corpo ignorado, ou vice-versa. Testado com Mistral Small, Mistral Large e GPT gpt mini. O problema persiste em todos os modelos.
Todas as publicações são publicadas em inglês (o idioma padrão do site é o inglês). A tradução para outros idiomas é inconsistente e aleatória, independentemente do conteúdo ou do tamanho da publicação.
Não consigo descobrir o que está causando isso ou por que está acontecendo.
Para este caso, o Moin sinalizou recentemente para mim um problema no meta, onde o título foi traduzido, mas o corpo foi pulado porque era muito grande.
Deveria haver uma configuração de limite de post no site, mas duvido que seja essa a razão para este problema — teria falhado ao traduzir para todos os idiomas, não apenas para um ou dois esporadicamente.
Outra coisa que você pode verificar é a janela de contexto do seu LLM nas configurações do LLM.
Aliás, eu não recomendo o GPT mini de forma alguma para traduções. Muitos clientes deram feedback de que ele faz um trabalho muito ruim, e em nossos testes iniciais também se mostrou assim.
Falha ao traduzir a tag 31 para pt: {"object":"error","message":"Erro interno do servidor","type":"unreachable_backend","param":null,"code":"1100","raw_status_code":503}
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:206:in 'block (2 levels) in DiscourseAi::Completions::Endpoints::Base#perform_completion!'
Também “falha ao traduzir tópico” e “falha ao traduzir post” com os mesmos erros de backend.
Não analisei profundamente o código, mas me pergunto por que os jobs DetectTranslatePost e DetectTranslateTopic possuem sidekiq_options retry: false?"}
Meu problema ainda não foi resolvido.
Isso é crítico para mim e para meu fórum.
O multilíngue deve funcionar perfeitamente.
Os idiomas continuam sendo ignorados aleatoriamente, independentemente do modelo local.
Falha silenciosa na tradução por IA em erros 503 de LLM — sem lógica de nova tentativa
Bug: Quando qualquer provedor de LLM (Mistral, OpenAI) retorna um erro 503, o DiscourseAi::Translation pula silenciosamente a tradução sem tentar novamente.
Exemplo de log:
DiscourseAi::Completions::Endpoints::Mistral: status: 503
{“type”:“unreachable_backend”,“code”:“1100”}
DiscourseAi::Translation: Falha ao traduzir o tópico X para ru
Causa raiz: DiscourseAi::Completions::Endpoints não possui lógica de nova tentativa para erros transitórios de servidor. Isso não é específico de um provedor — o mesmo comportamento foi observado anteriormente com a OpenAI.
Comportamento esperado: Nova tentativa com backoff exponencial em respostas 503/504 antes de marcar a tradução como falha.
Solução proposta: Adicionar lógica de nova tentativa em DiscourseAi::Completions::Endpoints para todos os provedores de forma uniforme.
Isso afeta qualquer instância do Discourse que utilize tradução por IA com múltiplos idiomas.
Você precisa corrigir o problema subjacente, ou seja, o backend retornando 503. Pode parecer fácil fazer o Discourse tentar a mesma tradução repetidamente, mas é preciso lembrar que cada solicitação a um LLM incorre em custo de tokens, e precisamos ser conservadores do nosso lado para não esgotar esses tokens. Após corrigir o problema do LLM, você pode agendar manualmente um tópico para tradução e verificar se o problema é resolvido.
Por favor, ajuste suas expectativas. Você está usando software gratuito e estamos ajudando você o máximo que podemos.
Olá pmusaraj,
Obrigado pela resposta. Apenas para esclarecer — não estou usando o modelo de LLM mais barato para economizar dinheiro. Estou usando-o para testar como o recurso de tradução funciona na prática. A escolha do modelo não é o ponto.
O ponto é que, quando o Mistral retorna um erro 503, o Discourse AI simplesmente ignora a tradução sem qualquer aviso ao administrador, sem fila de retry e sem nenhuma maneira de saber quais tópicos foram perdidos. Esse é o problema de UX que estou levantando — não o custo dos tokens.
Entendo que isso é de código aberto e que você está ajudando o máximo que pode. Agradeço isso. Mas dizer “ajuste suas expectativas” é um pouco desmotivador para alguém que está ativamente testando, relatando bugs e tentando ajudar a melhorar o produto.
Vou continuar acompanhando este tópico e aguardo uma correção.
Obrigado,
Denis
Como você está usando a versão ESR, precisará de muito mais paciência do que apenas esperar as pessoas voltarem ao trabalho após o fim de semana. As atualizações ESR ocorrem apenas duas vezes por ano.