Ce site est traduit automatiquement dans plusieurs langues grâce à un logiciel développé par Kohei Koyanagi. Veuillez consulter la version anglaise pour vérifier l’exactitude.

Comment ce blog est traduit en 42 langues

Le blog Splync en 42 langues

Ceci est le 23e article de mon blog pour Splync, un suivi de budget partagé pour couples, amis et familles. Vous vous demandez peut-être comment je publie chaque article en 42 langues alors que je suis un ingénieur solo. Comme le souligne la mention en haut de chaque article, ce site est automatiquement traduit en plusieurs langues grâce à un logiciel que j'ai moi-même conçu. Pour être clair : je n'écris manuellement aucune phrase dans une autre langue que l'anglais. C'est pourquoi je demande aux lecteurs de se référer à la version originale en anglais lorsque la précision du sens est vraiment importante. Cependant, après de nombreux essais et erreurs pour améliorer la chaîne de traduction, je pense que la qualité globale de la traduction est raisonnablement bonne. Dans cet article, je vais partager ce que fait mon logiciel pour rendre le blog Splync multilingue.

Python et OpenAI API ensemble

Je commence toujours par écrire chaque article en anglais simple, y compris les métadonnées liées au SEO. Ensuite, mon script Python envoie le texte anglais à l'API d'OpenAI, accompagné d'une invite et d'un petit fichier de référence. Sur les serveurs d'OpenAI, ChatGPT-4o lit la demande et renvoie l'article traduit — par exemple, la version arabe — au format JSON. Une fois que mon MacBook reçoit cette traduction, le script envoie immédiatement une autre demande, cette fois pour le bengali. Le script boucle automatiquement à travers les 42 langues cibles. À la fin du processus, mon ordinateur dispose de 42 fichiers JSON traduits. Un autre script Python intègre ensuite chaque traduction dans un modèle HTML et génère 42 fichiers HTML en moins d'une seconde. Tous les fichiers sont téléchargés sur le serveur où ce blog est hébergé, et chaque version linguistique est placée dans son propre répertoire. Enfin, un script Python côté serveur met à jour l'index des articles et les liens "Article suivant" pour que la navigation dans chaque langue reste cohérente. Avec l'article original en anglais écrit en texte brut, tout le processus prend généralement 5 minutes ou moins. Quand je dois apporter des modifications, je mets à jour plusieurs fichiers HTML simultanément en utilisant des scripts Python côté serveur.

Qu'est-ce qu'une API

Si vous n'êtes pas familier avec les termes techniques, vous vous demandez peut-être comment mon ordinateur "parle" au serveur d'OpenAI. La réponse est un API, Interface de Programmation d'Application. Vous pouvez voir une API comme une fenêtre de messagerie entre deux programmes : un programme envoie une demande, et l'autre renvoie une réponse. Par exemple, mon script Python envoie un message du genre, « Veuillez traduire cet article en allemand. » OpenAI reçoit ce message via l'API, prépare la traduction, et renvoie le résultat. Cela fonctionne comme passer une commande au restaurant : vous dites au serveur ce que vous voulez, la cuisine le prépare, et le serveur vous le ramène. Et pourquoi avez-vous besoin d'un serveur ? Parce que vous n'entrez pas dans la cuisine ni ne parlez directement au chef — vous ne savez pas comment fonctionne la cuisine, et vous n'en avez pas besoin. Vous pourriez dire, « Puis-je avoir un cheeseburger ? » au serveur, et le serveur pourrait crier, « Commande prête ! T21, Chihuahua ! » dans un format complètement différent. Une API joue le même rôle. Elle connecte deux systèmes différents sans qu'ils aient besoin de comprendre le langage ou le flux de travail interne de l'autre.

Pourquoi ai-je besoin de l'API d'OpenAI

Maintenant que nous avons vu ce qu'est une API, voici pourquoi je l'utilise pour ce blog. Concrètement, je sais comment "parler" à ChatGPT moi-même — mais j'ai 42 langues à traiter. Appeler un serveur 42 fois serait fastidieux (le programme évite de traduire l'anglais en anglais, mais convertit quand même le texte en JSON). Utiliser l'API d'OpenAI permet à mon script Python d'envoyer automatiquement toutes ces demandes, me libérant du travail répétitif pour que je puisse me concentrer sur d'autres choses. Je suis un développeur solo, donc je dois utiliser mon temps de la manière la plus efficace possible. Chaque fois que je vois une tâche répétitive avec des règles claires, je l'automatise. Le résultat est généralement un processus mille fois plus rapide et totalement sans erreur. C'est pourquoi l'automatisation via l'API est essentielle — elle permet à mon script de placer instantanément et de manière fiable les 42 "commandes".

Pourquoi 42 langues

Techniquement, je pourrais ajouter beaucoup plus de langues ; cela prendrait simplement quelques minutes de plus pendant que je fais la vaisselle. Mais j'aime personnellement le nombre 42, la "Réponse à la question ultime sur la vie, l'univers et tout" tirée du livre de Douglas Adams. Au-delà de mon attachement au nombre 42, ajouter des langues très mineures peut être risqué, car la traduction par IA peut devenir moins fiable pour les langues avec peu de données d'entraînement.

Température de ChatGPT 4o

Lorsque j'ai d'abord expérimenté avec cette approche de traduction multilingue, les résultats étaient corrects mais pas parfaits. Certaines phrases étaient mal traduites, trop littérales, ou légèrement trompeuses dans certaines langues. Je craignais également de créer involontairement des expressions qui pourraient être inappropriées ou insensibles dans certains contextes culturels. Et bien sûr, je ne voulais pas que mes traductions sonnent robotiques ou mécaniques. Un des facteurs clés de la qualité de la traduction est le réglage de la température — un paramètre qui contrôle à quel point l'IA doit être "créative" ou "stricte". Une température élevée rend l'IA plus imaginative, mais aussi plus imprévisible. Une température basse la fait rester proche du sens original, mais peut parfois sembler rigide. Il a fallu beaucoup d'essais et d'erreurs pour trouver le bon équilibre : suffisamment basse pour assurer l'exactitude, mais pas au point que le texte devienne sans vie. Après de nombreuses expériences, j'ai estimé que la température = 0,8 était la meilleure pour les besoins de ce blog : suffisamment précise pour rester fidèle à l'original anglais, mais assez flexible pour sonner naturellement dans d'autres langues.

ChatGPT 5.x ne supporte pas la température

Les modèles plus récents comme ChatGPT 5 et 5.1 ne supportent plus du tout les réglages de température — le paramètre a été supprimé et remplacé par des concepts comme le raisonnement et l'effort, qui influencent la manière dont le modèle pense plutôt que sa "créativité". En d'autres termes, ChatGPT 4o me donnait un bouton physique que je pouvais tourner pour affiner le style de traduction, mais la famille 5.x suit une philosophie totalement différente. Si vous demandez simplement au nouveau modèle de "traduire ceci avec température = 0,8", il peut tenter de se comporter comme si ce réglage existait encore, mais en interne le paramètre a disparu. Le modèle se contente d'approximations. Comme OpenAI continue de mettre à jour leurs modèles, je pourrais ajuster ma chaîne de traduction un jour. Pour l'instant, ChatGPT 4o reste mon choix pour les traductions multilingues — non seulement parce qu'il comprend bien le contexte dans de nombreuses langues, mais aussi parce que le prix de son API est raisonnable pour un développeur solo comme moi. En fait, 4o pourrait devenir l'un des modèles les plus appréciés de l'histoire d'OpenAI.

Travailleurs de l'API OpenAI

L'une des choses étonnantes à propos de l'API d'OpenAI — comparé à l'utilisation directe de ChatGPT dans un navigateur — est que vous pouvez utiliser plusieurs "travailleurs" ChatGPT en même temps. Lorsque j'envoie des demandes de traduction pour 42 langues, je ne les envoie pas une par une dans une file d'attente lente. Au lieu de cela, l'API peut traiter de nombreuses demandes en parallèle, comme si j'avais soudainement embauché une salle pleine de traducteurs qui commencent tous à travailler en même temps. Mon script Python gère le flux de travail comme une petite chaîne de production : il prépare l'article en anglais, envoie les demandes, attend les réponses et traite les résultats en fichiers JSON. Pendant ce temps, les serveurs d'OpenAI exécutent plusieurs instances de modèles simultanément, chacun traduisant une langue différente en parallèle. C'est quelque chose que le site ou l'application ChatGPT ne peut pas faire — ces interfaces vous donnent un modèle, une conversation, une tâche à la fois. Mais avec l'API, vous pouvez étendre votre charge de travail autant que votre script le permet. Pour un développeur solo comme moi, cela ressemble à avoir une petite équipe d'assistants intelligents et sans ego. Cela dépend en partie de la vitesse d'Internet, mais je fixe généralement le nombre de travailleurs = 12.

Je rends mon blog multilingue en faisant la vaisselle

Je travaillais comme plongeur dans la cafétéria étudiante lorsque j'étudiais les mathématiques à l'Université de Kyoto. Bien que le salaire était d'environ 5 USD par heure, j'ai toujours aimé le travail manuel répétitif après avoir passé plusieurs heures — ou parfois plusieurs jours — en profonde concentration intellectuelle. Plus tard, quand j'ai travaillé dans une usine d'ail à Hokkaido, mon travail était simplement de polir des milliers de bulbes d'ail blanc pour qu'ils paraissent plus brillants sur le tapis roulant. Huit heures par jour — concentration totale, rythme régulier. C'était étrangement satisfaisant. Maintenant, de retour de ces souvenirs, je fais actuellement un travail intellectuel — écrire des logiciels, concevoir des systèmes, composer ces articles. Mais l'équilibre n'a pas changé. Si vous me demandez comment je parviens à publier un article de blog en 42 langues tout seul, la réponse honnête est : je le fais en faisant la vaisselle.