/Assistant-traduction-CranialInsertion-en-Python

Aider à la traduction des articles sur <https://www.cranial-insertion.com/>, que l'on doit chaque weekend traduire de l'anglais américain vers le français.

Primary LanguageJupyter NotebookMIT LicenseMIT

Assistant à la traduction de Cranial-Insertion (en Python)

Encore un projet amusant et pas très utile, mais cela me fera réviser des vieilles compétences ! En web scrapping, en utilisation d'API web avec une surcouche Python, etc.

Objectifs

Aider à la traduction des articles sur https://www.cranial-insertion.com/, que l'on doit chaque weekend traduire de l'anglais américain vers le français.

Choses à faire

Idéalement, je cherche à automatiser autant que possible, mais je vais commencer modestement :

$ make import-the-latest-article
./venv/bin/jupyter execute import-the-latest-article.ipynb
[NbClientApp] Executing import-the-latest-article.ipynb
[NbClientApp] Executing notebook with kernel: python3
echo id_article.txt
id_article.txt
cat id_article.txt
4238
  • Deuxième étape : je veux un script qui remplace les morceaux citant des cartes, par leur nom de cartes en français (avec Scrython probablement, ou un accès web manuel à Magic Ville ou Scryfall). Par exemple je veux remplacer :
[q]If there's a [c]Collector Ouphe[/c] in play, can I still tap [c]Talisman of Creativity[/c] for mana?[/q]

==>

[q]If there's a [c=Collector Ouphe]Orphe collectionneur[/c] in play, can I still tap [c=Talisman of Creativity]Talisman de créativité[/c] for mana?[/q]
$ make translate-card-names
./venv/bin/jupyter execute translate-card-names.ipynb
[NbClientApp] Executing translate-card-names.ipynb
[NbClientApp] Executing notebook with kernel: python3
ls -larth articles/english/* | tail -n1
-rw-rw-r-- 1 lilian lilian 13K juin   5 18:20 articles/english/4238.md
ls -larth articles/francais/* | tail -n1
-rw-rw-r-- 1 lilian lilian 13K juin   5 18:21 articles/francais/4238.md
  • Troisième étape : je rêve d'un script qui traduise tout seul le document pré-modifié. Cela semble difficile, ou plutôt, pas très malin : cette traduction automatique ne sera forcément pas parfaite,, et il faudra donc y revenir. Autant juste avoir une base en anglais, avec les trucs pénibles déjà traduits (cf. étape précédente), et la traduire plus manuellement avec https://DeepL.com/, question par question, en éditant ce qu'il faut. Si besoin, DeepL a une API en Python, gratuite à 500 000 mots par mois, avec ce module deepl.

Tests à faire

  • Prendre des anciens articles, et vérifier manuellement la qualité de la traduction proposée à la fin par mon outil ;
  • Chaque semaine, m'occuper de mettre à jour le Google doc partagé (privé) que l'on utilise pour synchroniser nos traductions, en prémâchant le plus de boulot !

Autres idées

  • Raffiner l'entraînement d'un LLM spécialement conçu pour la traduction English US -> Français, sur le corpus de texte (de toutes les questions) de tous les articles Cranial déjà rédigés et traduits ;
  • Écrire une extension Google Chrome qui fasse ce boulot ? Ce serait chiant car il faudrait l'écrire en JavaScript et j'y connais rien aux API permettant d'écrire des extensions de navigateur.
  • Écrire un bot en PHP qui puisse s'ajouter au site Cranial-Insertion pour faire ce boulot ? Idem, j'ai jamais fait de PHP...

📜 License ? GitHub license

MIT Licensed (file LICENSE). © Lilian Besson, 2024.

Maintenance Ask Me Anything ! ForTheBadge built-with-swag ForTheBadge uses-badges ForTheBadge uses-git Awesome Badges ForTheBadge 20-30