phgrosjean / rfrench

R translation in French
MIT License
3 stars 1 forks source link

Traduction des vignettes #46

Open phgrosjean opened 1 month ago

phgrosjean commented 1 month ago

Dans la branche rmdpo, vous trouverez du code et un exemple pour traduire les vignettes de data.table en passant par poEdit. Je suis parti de la proposition de Christian d'utiliser mdpo et j'ai écris deux fonctions rmd2po()et po2rmd() dans le sous-dossier rmdpo (c'est un script brut de décoffrage avec du code dupliqué dans les deux fonctions, clairement à retravailler, sachant que cela deviendra à terme un package R {rmdpo}). Au départ, je voulais utiliser {reticulate} et travailler avec du code en Python, mais c'est une complexification inutile à partir du moment où on peut appeler les fonctions nécessaires à la ligne de commander et où aucune interaction n'est nécessaire. J'utilise donc system() et system2()pour interagir avec md2po et po2md.

Naturellement, il faut les installer, voir ici: https://mondeja.github.io/mdpo/latest/install.html. Ensuite, éventuellement indiquer le chemin d'accès dans une option (voir le script).

Dans le dossier data.table, j'ai placé les différentes vignettes de la dernière version de data.table. Ensuite, vous trouverez un sous-dossier "fr" qui contient lui-même un sous-dossier "po". Le fichier .po est créé à l'aide de rmd2po() après avoir source le code des fonctions. Ensuite, vous traduisez les chaînes dans poEdit et vous faites po2rmd() et le fichier .Rmd en français est créé ou mis à jour. Avec la vignette exemple que j'ai utilisée (la dernière), tout fonctionne sans devoir ajuster quoi que ce soit dans .Rmd final en français.

Notez que j'ai inclu le code des chunks dans les traductions. La plupart du temps, il faut le recopier tel quel (Ctrl+B ou Cmd+B sur le Mac). Cela permet d'une part de traduire les commentaires éventuels en français dans ce code, et d'autre part, d'ajuster les chemins relatifs vers les fichiers (on a des jeux de données dans le dossier vignettes, par exemple "flights14.csv" appelé tel quel dans la vignette, mais comme la vignette traduite est dans le sous-dossier "fr", il faut transformer en "../flights14.csv" pour que cela fonctionne).

Voilà. Vos commentaires sont les bienvenus. Pour la seule et unique image, on peut en faire une version francisée dans le sous-dossier "fr", mais il faudra bien sûr que je trouve une solution plus générale.

phgrosjean commented 1 month ago

Bon voilà, tout cela a été remanié. Les fonctions de traduction rmd2po() et po2rmd() sont maintenant dans un package R {rmdpo}. Le contenu de la branche "rmdpo" a été fusionné par pull request dans main (j'effacerai bientôt cette branche "rmdpo").

La traduction des vignettes de data.table se fait donc maintenant à l'aide des fonctions du package {rmdpo} (voir https://github.com/SciViews/rmdpo) lui-même basé sur mdpo sous Python. Il s'agit de fonctions spécialement écrite pour la traduction des vignettes de packages R, puisqu'il n'existe encore rien actuellement à cet effet. Il s'agit d'un travail collaboratif entre Christian Wiam et moi-même.

Trois vignettes sont entièrement traduites (datable-intro, datable-sd-usage et datatable-secondary-indices-and-auto-indexing). Les sept autres sont retraduites automatiquement en utilisant DeepL. Il faut naturellement vérifier et corriger toutes ces dernières traductions.

Les instructions et le script de compilation des fichiers .po et ensuite des versions traduites des vignettes se trouvent dans le sous-dossier rmdpo du dépôt.

Les vignettes à traduire sont dans le sous-dossier vignettes de data.table. Il contient lui-même un sous-dossier "fr" avec les versions françaises traduites et enfin "fr/po" qui contient les fichiers .po de traduction.

@ChristianWia Si je me suis éventuellement trompé quelque part, ou si j'ai oublié une de tes traductions, remplace les fichiers .po qui sont dans main, il se peut que j'aie loupé un truc ou l'autre, même si j'ai fait attention à bien être à jour.

phgrosjean commented 1 month ago

J'ai vérifié en détail les 10 vignettes de data.table et ai encore trouvé des bogues dans mdpo (ce programme est assez bogué en comparaison à po4a, mais po4a ne fonctionne malheureusement pas sous Windows). J'ai implémenté des contournements de ces bogues dans la version 0.2.0 de {rmdpo}. Veuillez donc bien à faire la mise à jour avant de travailler sur la traduction des vignettes. Tous les fichiers .po sont préparés et pré-traduits par DeepL, mais donc, sept d'entre eux doivent encore être relus !

Deux aspects ne sont pas corrigés automatiquement :

"**Justification for Avoiding Blanket Imports:** =====1. ..."

Il n'est pas facile d'implémenter une contre-mesure pour corriger cette erreur dans rmd2po(), mais par contre, la correction peut facilement se faire lors de la traduction du fragment en séparant les deux à l'aide d'un retour à la ligne à la place de l'espace entre le paragraphe précédent et le début de liste, comme ceci :

"**Justification pour éviter les importations globales:**\n=====1. ..."

Tout le reste fonctionne bien.