14 puntos por kargnas 2025-03-24 | 5 comentarios | Compartir por WhatsApp

Ya lo había presentado antes, pero como actualicé nuevas funciones e hice trabajo de refactorización, quería compartirlo.

Soy fundador y operador de OP.GG, un servicio global de datos de videojuegos.

Ofrecemos el servicio en más de 15 idiomas, y durante ese tiempo pasamos por muchos problemas usando traductores humanos: cronogramas que se retrasaban por meses, casos de abuso donde agencias de traducción usaban en secreto traductores automáticos para entregarnos el trabajo, o una calidad de traducción demasiado baja. A partir de esas experiencias surgió este nuevo proyecto.

Empecé este proyecto con la meta de crear, usando tecnología de IA, algo mucho más rápido que encargarlo a personas cuando se traducen 3 o más idiomas (en cuestión de minutos), y que aunque no dé la mejor calidad posible, al menos garantice una calidad media o superior. Si la traducción humana es 90 puntos y Google Translate es 30 puntos, la meta de este traductor es lograr 80 puntos. Y con la evolución de los LLM, creo que en 1 o 2 años incluso se podría aspirar a más de 90 puntos. Por supuesto, el costo es mucho menor que el de una traducción humana.

Las funciones principales consideradas son las siguientes.

  • Incluye la mayor cantidad posible de strings relacionados en el contexto al hacer solicitudes a la IA para mejorar la consistencia de la traducción y del uso de términos. En el contexto se incluyen los strings del idioma fuente y los strings ya traducidos del idioma objetivo. [Nueva función]
  • Si usas Crowdin, una plataforma de traducción social y además una plataforma conectada con proveedores a los que se puede subcontratar fácilmente, hay una función oculta para traducir también proyectos de Crowdin. Puedes aprovecharla incluso si tu proyecto no tiene ninguna relación con Laravel. No está en la documentación, pero la desarrollamos para uso interno. (comando: ai-translator:translate-crowdin) [Nueva función]
  • Permite configurar todos los idiomas del mundo compatibles con el LLM
    • También es posible agregar funciones de idioma personalizadas. En README.md hay ejemplos como el estándar cultural de Corea del Norte y terminología de Reddit.
  • Compatible con Claude y OpenAI (aunque recomiendo usar modelos de Claude porque la calidad es mayor)
    • Compatible con Claude 3.7 Deep Thinking [Nueva función]
  • Compatible con el manejo de plurales (Plural) de la función de localización de Laravel
  • Hace que el idioma se traduzca de forma inteligente
    • Distingue si se trata de una oración o de una palabra y traduce en consecuencia
    • Revisa la key y traduce de la forma más acorde posible con la intención del desarrollador (por eso es importante expresar las keys de forma muy clara)
  • Permite agregar contexto por idioma y por proyecto para que, al traducir el proyecto, las traducciones suenen mucho más naturales (punto clave)
    • Más que simplemente pedir una traducción, es muy importante para mejorar la calidad dejarle claro a la IA qué significan ciertos términos específicos dentro de este proyecto.
    • Por ejemplo, si se usa la palabra en inglés "Champion", al traducirla al coreano debe traducirse como "campeón", mientras que al traducirla al chino debe traducirse como 英雄 (héroe); si se le indica eso, la traducción resulta mucho más natural.

Si estás estudiando cómo escribir prompts, visita esta carpeta para revisar los prompts que hice. Y si tienes ideas que quisieras aportar, te agradecería un Pull Request.

5 comentarios

 
corean 2025-03-31

¿También sería posible con la documentación oficial de Laravel?

 
t7vonn 2025-03-26

Gracias por presentar este buen proyecto.
Quizás sería más cómodo de usar si ofrecieran una imagen de Docker.

 
kimjj81 2025-03-25

Como usar una API de LLM puede salir bastante caro, también sería bueno tener una función para estimar el costo según los valores de entrada.

 
ethan9128 2025-03-25

Es curioso que este bundle incluya norcoreano; como usuario de OP.GG, los apoyo.

 
windbug99 2025-03-24

Parece que desde los inicios han estado esforzándose por ofrecer soporte multilingüe; les deseo mucho éxito.