====== Argos-translate : Traduction de textes en local ====== * Objet : du tuto FIXME * Niveau requis : FIXME {{tag>débutant avisé}} * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) ===== Introduction ===== [[https://github.com/argosopentech/argos-translate|Argos-translate]] est une bibliothèque open source de traduction automatique neuronale écrite en python. Elle peut être utilisée comme bibliothèque python, en ligne de commande, ou par l’intermédiaire d'une interface en PyQt. Nous nous intéresserons ici à son installation et à son utilisation en ligne de commande. Nous finirons par la mise en place d'un script simple et la réalisation d'une popup de traduction facilement intégrable à votre environnement. ===== Installation ===== ==== Installation du programme ==== Nous reprenons ici un des processus d'installation tel que prescrit sur la page du projet. J'invite le lecteur à se référer de préférence aux instructions qu'il pourra y trouver, les commandes suivantes n'en étant une version modifiée et très synthétique Le programme et ses dépendances python occupent un espace relativement important ~2Go Installez l'installateur de paquet python et de quoi créer un environnement virtuel apt install python3-pip python3-venv Créez un environnement virtuel. python3 -m venv .venv source .venv/bin/activate L'indication //(.venv)// apparaît et montre qu'un environnement virtuel est activé. Cet environnement évitera d'éventuels conflits avec des bibliothèques python déjà présentes. il sera à réactiver à chaque fois que l'on voudra utiliser le programme. (Une solution simple à mettre en œuvre consiste,comme détaillé plus bas, à créer un script/lanceur regroupant la commande //source// et la commande du programme) Installez le projet argos-translate dans cet environnement avec pip pip install --upgrade pip pip install argostranslate ==== Installation de source de traduction ==== Argos-translate ne possède pas une base de donnée conventionnelle, c'est un logiciel qui nécessite d'être entraîné de nombreuses heures sur un ensemble de textes déjà traduits. Si il est possible de générer ses propres modèles, le processus est long et gourmand en ressources machine. Il est recommandé de télécharger des modèles pré-entraînés : [[https://www.argosopentech.com/argospm/index/]] (~100Mo) Le programme peut se servir d'une langue comme intermédiaire à une traduction, par exemple, si vous avez installé les modèles français-anglais, anglais-espagnol, une traduction peut être réalisé entre français et espagnol. ===== Utilisation ===== Si vous avez quitté l'environnement virtuel (ou simplement fermé le terminal), réactivez-le source /chemin/vers/le/.venv/bin/activate ===== Interface graphique ===== Lancez l'interface, argos-translate Cliquez sur //manage-package//, puis //add packages//, sélectionnez le fichier //.argosmodel// préalablement téléchargé. Fermez et relancer le programme, faites un test de traduction, ça devrait fonctionner! ===== En ligne de commande ===== Rien de compliqué ici, Pour traduire, simplement argos-translate-cli --from-lang --to-lang "phrase à traduire" Avec la langue au format ISO_639-1 (2 lettres), et bien sûr, si vous avez installé le model correspondant. Soit, si vous avez obtenu le modèle français->anglais argos-translate-cli --from-lang fr --to-lang en "Ceci est une phrase en français" This is a sentence in French ===== Une popup de traduction ===== Voici une proposition de script pour afficher, dans une popup, au niveau de la souris, la traduction d'un texte surligné : ==== Prérequis ==== installez **xclip** pour la gestion du presse-papier et **yad**, une bibliothèque graphique légère en gtk. apt install xclip yad ==== script ==== #!/usr/bin/bash # Affichage de traduction d'un texte surligné LANG_SOURCE="fr" # origine LANG_TARGET="en" # destination # récupération du texte surligné phrase=$(xclip -o selection) # Réactivation de l'environnement virtuel (automatiquement fermé à la fin de l'execution du script) source chemin/vers/le/.venv/bin/activate # Utilisation de la commande argos translate et obtention de la traduction traduction=$(argos-translate-cli --from-lang $LANG_SOURCE --to-lang $LANG_TARGET "$phrase") # Utilisation de yad, biblothèque graphique, pour afficher le contenu de la variable traduction dans une fenêtre au niveau de la souris yad --info --no-buttons --text="$traduction" --mouse --close-on-unfocus Voilà, rendez-le exécutable (clic droit > propriétés) ou en ligne de commande chmod +x mon_script.sh il n'y a plus qu'à le lier à un raccourcis clavier!