Tradução em IA ignora o locale português (pt) - post traduzido para todos os idiomas, exceto português

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:

  1. Ative a tradução por IA com o Português (pt) na lista de locais

  2. Crie uma nova postagem em inglês

  3. Verifique as traduções — PT está faltando

Esperado: Tradução PT gerada automaticamente
Realidade: PT não é gerado, precisa ser adicionado manualmente

1 curtida

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.

1 curtida

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.

1 curtida

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.

1 curtida

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.

1 curtida

Hmm, não que eu saiba. Lembro-me de alguns sites com mais de 10 idiomas, mas nunca vi esse problema antes.

Os /logs indicam algo? Temos uma configuração oculta de logs detalhados que você pode ativar, ai_translation_verbose_logs, por um período de tempo.

2 curtidas

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.

Não consigo encontrar a configuração ai_translation_verbose_logs na nossa instalação. Ela não aparece na pesquisa das configurações de administração.

Isso é esperado.

2 curtidas

@Denis_Kovalenko Eu ativei o ai_translation_verbose_logs agora

2 curtidas

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.

3 curtidas

Estamos vendo isso

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?"}

1 curtida

Janela de contexto de 128.000

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.

2 curtidas

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

1 curtida

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.

1 curtida

Apenas para constar, eles não estão mais. Estavam, mas migraram para a 4.0-latest na semana passada para obter outras correções de bugs.

3 curtidas