14 pontos por kargnas 2025-03-24 | 5 comentários | Compartilhar no WhatsApp

Já apresentei anteriormente, mas como atualizei com novos recursos e fiz um trabalho de refatoração, estou compartilhando novamente.

Sou fundador e operador do OP.GG, um serviço global de dados de jogos.

Oferecemos suporte a mais de 15 idiomas e, ao longo do tempo, passamos por muitos problemas com tradutores humanos: cronogramas atrasados por meses, abusos de agências de tradução que usavam tradutores automáticos às escondidas, e qualidade de tradução muito baixa. Este projeto foi concebido a partir dessas experiências.

Comecei este projeto com o objetivo de usar tecnologia de IA para, ao traduzir 3 ou mais idiomas, ser muito mais rápido do que delegar a humanos (em poucos minutos) e garantir uma qualidade pelo menos acima da média, mesmo que não seja a melhor possível. Se a tradução humana é 90 pontos e o Google Tradutor é 30 pontos, o objetivo deste tradutor é chegar a 80 pontos. E, com a evolução dos LLMs, acho que em 1 a 2 anos poderemos até mirar em mais de 90 pontos. Claro, o custo também é muito menor do que o de tradutores humanos.

Os principais recursos considerados são os seguintes.

  • Inclui o máximo possível de strings relacionadas no contexto da solicitação à IA para aumentar a consistência da tradução e do uso de termos. Inclui no contexto as strings do idioma de origem e as strings já traduzidas do idioma de destino. [Novo recurso]
  • Se você usa o CrowdIn, uma plataforma de tradução social e também integrada a fornecedores para terceirização de traduções, existe um recurso oculto para traduzir projetos do CrowdIn. Você pode usá-lo mesmo em projetos totalmente sem relação com Laravel. Não está na documentação, pois foi desenvolvido para uso interno. (comando: ai-translator:translate-crowdin) [Novo recurso]
  • Permite configurar todos os idiomas do mundo suportados pelo LLM
    • Também é possível adicionar recursos de idioma personalizados. README.md traz exemplos como a variante cultural da Coreia do Norte e terminologia do Reddit.
  • Suporte a Claude e OpenAI (mas recomendo usar modelos Claude, pois a qualidade é melhor)
    • Suporte ao Claude 3.7 Deep Thinking [Novo recurso]
  • Suporte a pluralização (Plural), um dos recursos de localização do Laravel
  • Faz a tradução de forma inteligente
    • Distingue se é frase ou palavra e traduz de acordo
    • Analisa a key para traduzir o mais próximo possível da intenção do desenvolvedor (por isso, é importante nomear as keys com muita clareza)
  • Permite adicionar contexto por idioma e por projeto para que a tradução fique muito mais natural ao traduzir o projeto (essencial)
    • Em vez de simplesmente mandar traduzir, informar claramente à IA o que certos termos específicos significam dentro do projeto é muito importante para melhorar a qualidade.
    • Por exemplo, ao usar a palavra "Champion" em inglês, se você disser que em coreano ela deve ser traduzida como "chaempieon" e em chinês como 英雄 (herói), a tradução fica muito mais natural.

Se você estuda como escrever prompts, visite esta pasta e dê uma olhada nos prompts que criei. E, se tiver ideias que queira acrescentar, envie um Pull Request, por favor.

5 comentários

 
corean 2025-03-31

Será que também daria para fazer com a documentação oficial do Laravel?

 
t7vonn 2025-03-26

Obrigado por apresentar um ótimo projeto.
Se possível, acho que seria mais prático de usar se vocês disponibilizassem uma imagem Docker.

 
kimjj81 2025-03-25

Como usar APIs de LLM pode sair bem caro, seria bom também ter uma função de previsão de custo para os valores de entrada.

 
ethan9128 2025-03-25

É interessante que esse pacote ofereça até coreano do norte; como usuário do OP.GG, estou torcendo por vocês.

 
windbug99 2025-03-24

Parece que vocês se dedicam a oferecer suporte a vários idiomas desde o começo; estou torcendo por vocês.