91 lines
4.9 KiB
Markdown
91 lines
4.9 KiB
Markdown
|
# 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](https://github.com/argosopentech/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`:
|
||
|
|
||
|
```bash
|
||
|
#!/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](https://github.com/qwerty-fr/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](https://github.com/polybar/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.
|
||
|
|