blog/blogs/unfinished/vort/linformatique_bilingue.md

4.9 KiB

L'informatique bilingue

Depuis quelques années maintenant, j'apprends le français afin d'aller habiter en France. Je le parlais auparavant, j'ai vécu pendant un temps Paris quand j'étais jeune, mais cela date de presque 20 ans, j'ai donc perdu beaucoup de la langue. En plus des langues, j'ai un très grand intérêt pour l'informatique, les communautés en ligne, et le logiciel libre et ouvert. Je soutiens l'indépendance en informatique, et je veux minimiser le plus possible ma dépendance aux services fournit comme produits.

Dans cette publication je voudrais parler un peu de quelques additions et modifications que j'ai fait à mon environnement Linux, afin de faciliter l'apprentissage et l'utilisation de plusieurs langues écrites.

Les commandes de traduction

La première chose évidente dont j'avais besoin était un traducteur rapide et facile d'accès.

Pour moi, cela signifie: ouvrir une terminal, entrer une commande et une requête, et obtenir un résultat immédiatement. Je ne m'inquiète pas de la précision du traducteur, ni de supporter une grande quantité de texte. Tant que ça m'aide avec un mot ou une phrase, et que c'est plus facile et rapide à utiliser que mon cellulaire, c'est suffisant.

J'ai trouvé argos-translate, une librairie hors ligne et open-source de traduction. L'utilisateur télécharge des dictionnaires de traduction à partir son gestionnaire du paquet, lesquels peuvent ensuite servir à traduire des strings de texte, que ce soit des mots individuels ou des phrases entières.

Voici mon script pour traduire une phrase en anglais en français, que j'appelé fr:

#!/usr/bin/env bash

# étendre pleinement les paramètres
phrase=$@

argos-translate --from-lang en --to-lang fr "$phrase"

À noter que les paramètres passés dans le script sont étendus avant d'êtres passés comme un seul long string à la commande de traduction. Cela signifie que je peux passer des paramètres sans avoir à les convertir en string litérals, ce qui est bien. En ne l'entourant pas de guillemets ("), certains caractères, comme l'apostrophe ('), soivent être explicitement échappés.

fr you shouldn\'t let your dog drive the car

Dispositions du clavier

Maintenant que j'ai une méthode pour rapidement obtenir des traductions, ma limitation suivante était mon clavier. Dans mes conversations occasionelles, j'ai copié et collé, j'ai utilisé plusiers caractères ('e, e`) pour ressembler aux diacritiques, ou je les ai simplement omis enspérant que mon interlocuteur comprendrait.

Toute ma vie j'ai utilisé QWERTY, j'aimais pas l'idée d'utiliser QWERTZ ou AZERTY, ou d'autres configurations standards européennes qui confondraient ma mémoire musculaire. Heureusement que QWERTY-fr existe! Je n'avais jamais utilisé un clavier supportant des accents et diacritiques avant, mais j'aime comment c'est designé spatialement. Ça me rappelle les layouts de vim, où la position des touches est plus importante que sa légende.

Après avoir installé la configuration additionnelle, j'écrit un script kbfr pour l'activer avec setxkbmap. J'ai aussi inclus d'autres modifications qui transforment Caps Lock en Ctrl et Esc en utilisant xcape, et s'assure qu'elles soient exécutés quand je change de configuration de clavier.

#!/usr/bin/env bash

# pendant que caps lock est tenu enfoncé, applique le modificateur ctrl aux autres touches
setxkbmap -option caps:ctrl_modifier

# quand caps lock est relâché, il agit comme esc
xcape -e 'Caps_Lock=Escape'

# finalement, active le layout QWERTY-fr
setxkbmap -v -layout us_qwerty-fr

J'ai aussi activé le module xkeyboard pour polybar, pour que je puisse voir facilement quel layout est ativé.

Un dictionnaire

Finalement, je voulais un dictionnaire plus complet que mes simples scripts de traduction. C'est surtout afin de m'aider à apprendre à grammaticalement genrer les mots, ce que mes scripts ne réussissent que partiellement. C'est également une bonne pratique d'apprendre la définition des mots en ne ce servant que de cette langue!

Je trouvé le dictionnaire ouvert StarDict, pour lequel existe le dictionnaire de terminal sdvc dans l'AUR, et j'ai installé un dictionnaire français (Dictionanaire de l'Académie Française, 8ème edition (1935)). Comme c'est le seul dictionaire d'installé, l'utilisation est assez simple - je l'ai enveloppé dans un script mot:

#!/usr/bin/env bash

# trouve le signification d'un mot français

mot=$1

sdcv -c -n $mot

Pour conclure, je ne suis pas encore satisfait avec, mais pour l'instant ça va faire l'affaire. Le dictionnaire devrait inclure des définitions plus récentes et à jour, et l'ouput est souvent assez verbose. La page d'ArchWiki décrit des usages possibles, je vais peut-êtres explorer ça dans le futur.