14 points par kargnas 2025-03-24 | 5 commentaires | Partager sur WhatsApp

Je l’avais déjà présenté précédemment, mais je le partage à nouveau car j’ai ajouté de nouvelles fonctionnalités et effectué un travail de refactorisation.

Je suis le fondateur et l’exploitant de OP.GG, un service mondial de données de jeu.

Nous proposons notre service dans plus de 15 langues. Au fil du temps, en travaillant avec des traducteurs humains, nous avons souvent rencontré des problèmes comme des plannings repoussés de plusieurs mois, des abus de la part d’agences de traduction qui utilisaient en secret des traducteurs automatiques, ou encore une qualité de traduction trop faible. C’est dans ce contexte que ce projet a été imaginé.

Ce projet a été lancé avec l’objectif d’utiliser l’IA afin de traduire bien plus vite que des humains lorsqu’il faut gérer plus de 3 langues (en quelques minutes), tout en garantissant, sinon la meilleure qualité possible, au moins une qualité correcte et stable. Si l’on considère qu’une traduction humaine vaut 90 points et Google Translate 30 points, l’objectif de ce traducteur est d’atteindre 80 points. Et avec les progrès des LLM, il semble possible d’espérer dépasser les 90 points d’ici 1 à 2 ans. Bien sûr, le coût est aussi bien inférieur à celui d’une traduction humaine.

Les principales fonctionnalités prises en compte sont les suivantes.

  • Inclure autant de chaînes associées que possible dans le contexte lors des requêtes à l’IA afin d’améliorer la cohérence de la traduction et de l’usage des termes. Les chaînes de la langue source ainsi que les chaînes déjà traduites dans la langue cible sont incluses dans le contexte. [Nouvelle fonctionnalité]
  • Si vous utilisez Crowdin, une plateforme de traduction sociale et de mise en relation avec des prestataires externes, une fonctionnalité cachée permet aussi de traduire les projets Crowdin. Elle peut être utilisée même pour des projets sans aucun lien avec Laravel. Ce n’est pas documenté, car nous l’avons développé pour un usage interne. (commande : ai-translator:translate-crowdin) [Nouvelle fonctionnalité]
  • Possibilité de configurer toutes les langues du monde prises en charge par le LLM
    • Il est possible d’ajouter ses propres variantes linguistiques. Des exemples comme le coréen nord-coréen ou le vocabulaire de Reddit sont présentés dans README.md.
  • Prise en charge de Claude et OpenAI (mais les modèles Claude sont recommandés car la qualité est meilleure)
    • Prise en charge de Claude 3.7 Deep Thinking [Nouvelle fonctionnalité]
  • Prise en charge du pluriel (Plural) parmi les fonctionnalités de localisation de Laravel
  • Rend la traduction des langues plus intelligente
    • Distingue s’il s’agit d’une phrase ou d’un mot avant de traduire
    • S’appuie sur la clé pour traduire autant que possible selon l’intention du développeur (il faut donc que les clés soient exprimées de manière très claire)
  • Permet d’ajouter du contexte pour chaque langue et chaque projet, afin d’obtenir des traductions beaucoup plus naturelles lors de la traduction du projet (point essentiel)
    • Plutôt que de simplement demander une traduction, il est très important pour améliorer la qualité d’indiquer clairement à l’IA ce que certains termes spécifiques signifient dans ce projet.
    • Par exemple, si le mot anglais "Champion" est utilisé, on peut indiquer qu’il doit être traduit en coréen par "champion" et en chinois par 英雄, ce qui permet d’obtenir une traduction bien plus naturelle.

Si vous vous intéressez à l’écriture de prompts, allez jeter un œil aux prompts que j’ai créés dans ce dossier. Et si vous avez des idées à ajouter, n’hésitez pas à proposer une Pull Request.

5 commentaires

 
corean 2025-03-31

Est-ce que la documentation officielle de Laravel serait aussi possible ?

 
t7vonn 2025-03-26

Merci pour cette belle présentation du projet.
Peut-être que ce serait encore plus pratique à utiliser si vous pouviez fournir une image Docker.

 
kimjj81 2025-03-25

Comme l’utilisation d’une API de LLM peut coûter assez cher, il serait bien d’avoir aussi une fonction d’estimation des coûts pour les entrées.

 
ethan9128 2025-03-25

C’est amusant qu’un bundle north korean soit fourni ; en tant qu’utilisateur d’OP.GG, je vous soutiens.

 
windbug99 2025-03-24

On dirait que vous vous efforcez de proposer plusieurs langues depuis les débuts ; tous mes encouragements.