Traduzir um servidor de 50 pessoas é um problema resolvido. A maioria dos bots dá conta, e copiar e colar também. O que vem a seguir é sobre as três coisas que param de funcionar em algum ponto entre algumas centenas e alguns milhares de membros, por que param, e o que o Pigona faz em relação a cada uma.
Quase todo bot de tradução trabalha uma mensagem por vez. Uma mensagem chega, vai sozinha para uma API de tradução, uma tradução volta. Num canal tranquilo isso funciona bem, porque a maioria das mensagens é autocontida.
Canais movimentados não são feitos de mensagens autocontidas. São feitos de respostas, pronomes, fragmentos de frase e referências a algo dito dois minutos antes. Traduzido isoladamente, "é, aquele ali" não carrega informação em nenhum idioma. Quanto mais rápido o canal, maior a proporção de mensagens que só significam algo em relação ao que veio antes - então esse problema cresce junto com o seu servidor em vez de ficar estável.
A parte fácil de errar
A solução óbvia é enviar as últimas N mensagens como contexto. Num canal movimentado isso falha silenciosamente, porque as últimas N mensagens não são N mensagens de conversa. São respostas do bot, saídas de comando, outras traduções e reações de uma palavra só. Pegue as últimas dez mensagens brutas de um canal ativo e talvez você tenha três de conversa humana de verdade.
O Contexto inteligente do Pigona conta só as mensagens qualificadas - escritas por uma pessoa, longas o suficiente para carregar significado - e vai mais longe para encontrá-las, então uma profundidade de dez significa dez contribuições reais para a conversa, não simplesmente as últimas dez coisas postadas. A seleção é código puro, não uma chamada ao modelo: é determinística, não adiciona uma segunda ida e volta ao modelo, e fica dentro de uma única requisição de histórico do Discord em vez de se espalhar em várias. Ela vai ler no máximo cinquenta mensagens procurando por elas, então um canal que é majoritariamente saída de bot não pode transformar uma tradução numa varredura sem limite.
Você tem dois controles. Profundidade é quantas mensagens qualificadas coletar - 5, 10 ou 20. Comprimento mínimo é o tamanho que uma mensagem precisa ter para valer a pena coletar contexto para ela, o que evita que "ok" e "kkk" custem qualquer coisa.
Contexto que aciona um filtro de injeção é descartado por completo em vez de higienizado e repassado, e a taxa de contexto por mensagem é dispensada quando isso acontece - sem cobrança por histórico descartado. Num servidor grande isso não é hipotético: quanto mais membros você tem, maior a chance de um deles ficar curioso sobre o que acontece se digitar instruções para o seu bot.
O Contexto inteligente está incluído em todos os planos de servidor, e fica desligado até você definir uma profundidade para um canal - um canal novo começa sem ele. Depois disso, ele adiciona uma pequena taxa por mensagem analisada além da tradução em si, então a profundidade é um controle de custo que você liga deliberadamente, não um que roda por padrão.
Essa é a reclamação mais comum sobre bots de tradução em geral, e é puramente um problema de escala. Um bot que publica uma tradução pública sob cada mensagem em idioma estrangeiro dobra o tráfego naquele canal. A vinte mensagens por hora, ninguém se importa. A duas mil, o canal fica ilegível para todo mundo, inclusive quem não precisava de tradução.
A pergunta útil não é se deve traduzir, é onde o resultado deve aparecer. O Pigona te dá quatro respostas, e você pode misturá-las por canal:
Um servidor pequeno geralmente tem um idioma compartilhado e uma única cultura do que é aceitável. Um grande, não. Assim que uma parte significativa do seu tráfego está em idiomas que ninguém na sua equipe de moderação lê, esse tráfego fica efetivamente sem moderação - não porque alguém decidiu permitir, mas porque ninguém consegue ver.
A própria orientação de internacionalização do Discord para isso se resume a recrutar moderadores bilíngues, o que funciona até você precisar de um quarto idioma às 3 da manhã. Filtros automáticos de palavras também não preenchem a lacuna, já que cada lista precisa ser reconstruída manualmente por idioma.
Sendo direto sobre o que o Pigona faz aqui: ele torna o conteúdo legível, e é só isso. Tradução autônoma num canal público significa que um moderador lendo no próprio idioma vê o que está sendo dito de fato, no mesmo lugar, ao mesmo tempo que todo mundo. O Pigona não é um produto de moderação, não pontua toxicidade e não se integra com o AutoMod. O que ele elimina é a desculpa de que ninguém conseguia ler.
O Pigona cobra em Translation Credits em vez de anunciar um plano ilimitado, o que levanta a pergunta óbvia de se a cota sobrevive a um servidor de verdade. Aqui está a conversão de crédito para tradução em mensagens curtas, que é a maior parte do tráfego do Discord:
| Plano | Preço | Traduções / mês | Por dia |
|---|---|---|---|
| Community | 15€ | up to 50,000 | ~1,700 |
| Pro | 29€ | up to 100,000 | ~3,300 |
| Business | 45€ | up to 200,000 | ~6,700 |
Duas coisas fazem esses números serem maiores do que os totais de créditos sugerem. A cobrança é pela tradução produzida, não pela mensagem lida, então o texto original e tudo o que o Pigona envia junto são custo nosso, não seu. E uma mensagem que já está no idioma de destino nunca chega ao modelo, então não custa nada - no nosso tráfego de produção isso é cerca de um terço de tudo que o bot lê. Então num canal majoritariamente em inglês com alguns falantes de alemão, você paga pelo alemão que é traduzido. O inglês não custa nada, por mais que exista.
Esses são tetos e vale a pena lê-los como tal. Eles cobram cada mensagem no mínimo de 0,2 Crédito, que é a cobrança total para qualquer coisa até cerca de quarenta caracteres, com o contexto inteligente desligado - a configuração com que um canal começa. Um canal real é uma mistura de tamanhos, e medido no nosso próprio tráfego de produção, um servidor Community fica mais perto de 29.000 traduções por mês do que de 50.000. O Contexto inteligente adiciona uma pequena taxa por mensagem analisada, e só depois que você o ativa para um canal.
Nenhum dos dois números conta o cache de mensagens repetidas, o que na prática melhora os dois. Detalhes completos de preços.
Bom saber antes de instalar em vez de quarenta minutos depois:
O nível gratuito já basta para ver se o tratamento de contexto é real no seu próprio tráfego, que é o único teste que resolve isso. Sem cartão, e você pode limitar a um único canal para começar.