add bilingual computing/linformatique bilingue

commence la publication de l'informatique bilingue
compléter la section sur les scripts de traduction
bilingual computing
faire des corrections
faire en plus des corrections
faire en plus des corrections
bouge les fichiers à ses locations finalements
fix typo
This commit is contained in:
ktyl 2022-04-20 00:38:19 +01:00
parent af1abc0b05
commit 47659ed1d8
5 changed files with 356 additions and 1 deletions

View File

@ -1,7 +1,7 @@
# Bilingual Computing
For the last few years, I've been trying to learn French, so that I can live in France.
I used to speak the language as a child when I lived in Paris, but that was nearly 20 years ago, so I've forgotten a lot of the it.
I used to speak the language as a child when I lived in Paris, but that was nearly 20 years ago, so I've forgotten a lot of it.
As well as langauges, I have a healthy interest in computing, online communication and free and open source software.
I'm adamant about independence in computing, and minimising my dependencies on services provided as products.
@ -78,8 +78,16 @@ I installed a French dictionary for it with the AUR package `stardict-acadfr1935
```
#!/usr/bin/env bash
<<<<<<< HEAD
# get the meaning of a french word
sdcv -c -n $1
=======
# trouve la signification d'un mot français
mot=$1
sdcv -c -n $mot
>>>>>>> ccbe2ec (add bilingual computing/linformatique bilingue)
```
This is something I'm not quite happy with yet, but it will do for now.

View File

@ -0,0 +1,101 @@
# 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 pout 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 modifcations que j'ai fair à mon environnement Linux, afin de faciliter l'apprentissage et l'utilisation de plusiers langues écrites.
## Les commandes de traduction
Le 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 librarie hors ligne et open-source de traduction.
L'utilisateur télécharge des dictionnaires de traduction à partir son gestionnaire du paquet, lesquels peuvent ensuite à traduire des strings de texte, que ce soit des mots individuels ou des phrases entières.
Voici mon scripte 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 que est bien.
En ne l'entourant pas de guillements (`"`), certains caractères, comme l'apostrophe (`'`), soivent être explicitement échappes.
```
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 passé, utilisé des plusiers caractères ('e, e\`) pour resembler les diacritiques, ou simplement les n'utiliser pas, et esperé que les autres personnes peux me comprender.
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.
Ces façons sont inacceptables pour l'écrivement des publications plus longues, pour exemple cette un.
Toute ma vie j'ai utilisé QWERTY, donc j'aimé pas l'idée d'utiliser QWERTZ ou AZERTY ou les autres plans de qui peut confondrait ma mémoire musculaire.
Toute ma via j'ai utilisé QWERTY, j'aimais pas l'idée d'utiliser QWERTZ ou AZERTY, ou d'autres configurations standards européennes qui confondrait ma mémoire musculaire.
Heureusement, [QWERTY-fr](https://github.com/qwerty-fr/qwerty-fr) existe!
Je n'avais jamais utilisé un clavier supportant des accents ou diacritiques avant, mais j'aime comment c'est designé spatialement.
Ça me rappelle les layouts de vim, où la positions des touches est plus important que sa légende.
Après avoir installé la configuration additionnelle, j'ecrit 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é 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'
# finelement, 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 activé.
## Un dictionnaire
Finalement, je voulais un dictionnaire plus complet que mes simples scripts de traduction.
C'est surtout agin 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 de cette langue!
Je trouvé le dictionnaire ouvert StarDict, pour lequel existe le dictionnaire de terminal `sdvc`, et j'ai installé un dictionnaire français (Dictionnaire de l'Académie Française, 8ème edition (1935)) avec le paquet d'AUR `stardict-acadfr1935`.
Depuis que c'est le seulement dictionairre j'ai installé, l'utilisement a y c'est simple - je l'ai enveloppé dans un `mot` scripte:
Comme c'est le seul dictionnaire 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 ça, 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.
Voilà, merci pour supporter ma français terrible, je suis finit!
---
Également, merci à mon ami Québécois Vorty, qui a m'aidé avec mes terribles abilités des langues, en deux anglais et français.

69
blogs/unfinished/diff Normal file
View File

@ -0,0 +1,69 @@
16,17c18,19
40,42c42,43
< Maintenant que j'ai une methode pour faire les vites traductions, ma limitation suivant c'est évidemment mon clavier.
< Dans mes conversations occasionelles, j'ai copié et passé, utilisé des plusiers caractères ('e, e\`) pour resembler les diacritiques, ou simplement les n'utiliser pas, et esperé que les autres personnes peux me comprender.
< Ces façons sont inacceptables pour ecrire les publications plus longues, pour exemple cette un.
---
> 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.
44,47c45,48
< Toute ma vie j'ai utilisé QWERTY, donc j'aimé pas l'idée d'utiliser QWERTZ ou AZERTY ou les autres plans de qui peut confondrait ma mémoire musculaire.
< Miséricordieux, [QWERTY-fr](https://github.com/qwerty-fr/qwerty-fr) existe!
< J'ai n'utilisé pas un clavier avec des accents ou diacritiques avant, mais j'aime comme c'est designé spatialement.
< Ça me rappelle le plan de vim, où les positions des frappes sont plus importantes que des caractères sur y.
---
> 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.
49,50c50,51
< Après j'installé le plan additional, j'écrit un script `kbfr` pour le permettant avec `setxkbmap`.
< J'includé aussi des autre modifications du plan qui changer caps lock en Ctrl et Esc avec d'utilisation d'`xcape`, et assurez qu'ils ont executé quand je change mon plan de clavier:
---
> 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.
55c56
< # pendant caps lock est depressé, appliquez un modification de ctrl sur les autre frappes
---
> # pendant que caps lock est tenu enfoncé, applique le modificateur ctrl aux autres touches
58c59
< # quand caps lock est depressé ou libéré, il agit comme esc
---
> # quand caps lock est relâché, il agit comme esc
61c62
< # finalement, permettez le plan QWERTY-fr
---
> # finalement, active le layout QWERTY-fr
65c66
< Aussi j'activé l'xkeyboard module de [polybar](https://github.com/polybar/polybar), pour que je puisse voir facilement quelle plan j'ai activé.
---
> J'ai aussi activé le module xkeyboard pour [polybar](https://github.com/polybar/polybar), pour que je puisse voir facilement quel layout est ativé.
69,71c70,72
< À la fin, je desiré un dictionnaire de plus complètement que mon scripts simples de traduirement.
< Ma raison pour ça c'est pour m'apprendre les genres gramatiques des mots, que mes scripts ne peuvent pas m'aider.
< C'est en plus bon pratiquer qu'apprendre les significations des mots quand j'ai seulement des autres mot dans ce langue d'utiliser!
---
> 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!
73,74c74,75
< Je trouvé le dictionnaire ouvert StarDict, pour lequel existe l'`sdvc` dictionnaire de terminale dans l'AUR, et j'installé un dictionnaire français (Dictionanaire de l'Académie Française, 8ème edition (1935)).
< Depuis que c'est le seulement dictionairre j'ai installé, l'utilisement a y c'est simple - je l'ai enveloppé dans un `mot` scripte:
---
> 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`:
79c80
< # trouvez le signification d'un mot français
---
> # trouve le signification d'un mot français
86,88c87,89
< Bien sûr, je suis pas satisfié avec ça maintenant, mais c'est OK.
< Le dictionnaire il pourrait inclure en plus des significations currentes, et la sortie a plus de verbosité.
< La page d'ArchWiki décrire des utilisements possibles, et je vais peut-êtres ils voir dans l'avenir.
---
> 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.
90d90
< Voilà, merci pour supporter ma français terrible, je suis finit!

View File

@ -0,0 +1,87 @@
# Bilingual Computing
For the last few years, I have been learning French, with the goal to go live in France.
I used to speak the language as a child when I lived in Paris, but that was nearly 20 years ago, so I've forgotten a lot of the it.
As well as languages, I have a healthy interest in computing, online communities, and free and open source software.
I am adamant about independence in computing, and minimising my dependencies on services provided as products.
In this post I would like to talk a little bit about a couple of additions and customisations I have made to my Linux environment to support learning and using multiple written languages.
## Translation Commands
The first and most obvious thing I wanted was a quick and dirty translator.
For me, this means: open a terminal, hammer in a command and a query, and get a result back right then and there.
I am not too concerned about the accuracy of the translator, or translating large amounts of text. So long as it helps me most of the time with a word or phrase, and so long as it's easier and quicker than picking up my phone, it's good enough.
I found [argos-translate](https://github.com/argosopentech/argos-translate), an open-source offline translation library.
The user downloads translation dictionaries as packages, which can then be used to translate strings of text, either individual words or entire phrases.
Here is my script for translating a phrase in French to English, which I have saved as `en`:
```bash
#!/usr/bin/env bash
# fully expand arguments
phrase=$@
argos-translate --from-lang fr --to-lang en "$phrase"
```
Note that arguments passed into the script are expanded before being passed as a single string to the translation command.
That means that I am able to pass arguments without turning them into a literal string, which is nice.
Without wrapping it in quotes, however, characters such as apostrophes must be explicitly escaped.
```
en j\'aime bien les pingouins, ils s\'y connaissent en informatique
```
## Keyboard Layouts
Now that I had a way to do quick translations, the next obvious limitation was my keyboard layout.
In casual conversation I have often copy-pasted, made do with using multiple characters ('e, e\`) to resemble diacritics, or just omitted them entirely and trusted the other party to understand.
This would be unacceptable for any longer-form writing, such as blog posts.
Being a life-long QWERTY user, I was not enthralled by QWERTZ or AZERTY, or any other standard European layout that would throw off my existing muscle memory.
Thankfully [QWERTY-fr](https://github.com/qwerty-fr/qwerty-fr) exists!
I haven't used an accented keyboard before, but I like how it is designed spatially. It reminds me of vim's layouts, where the position of the key is more important than what is written upon it.
After installing the additional layout, I wrote a script `kbfr` to enable it with `setxkbmap`.
I also included some other layout modifications which turn Caps Lock into Ctrl and Esc using `xcape`, and ensure they are run when I set the keyboard layout:
```
#!/usr/bin/env bash
# while caps lock is held down, it applies a ctrl modifier to other keys
setxkbmap -option caps:ctrl_modifier
# when caps lock is pressed or released, it acts as esc
xcape -e 'Caps_Lock=Escape'
# enable the QWERTY-fr layout
setxkbmap -v -layout us_qwerty-fr
```
I also enabled the xkeyboard module for [polybar](https://github.com/polybar/polybar), so that I could see at a glance which layout I have enabled.
## A Dictionary
Finally, I wanted a more complete dictionary than my simple translator scripts.
This is mostly to help me learn the grammatical gender of words, which my translator scripts are only partially able to help with.
It's also good practice to figure out the meanings of words when I have only other words of the same language available to help!
I found the open StarDict dictionary, for which exists the `sdvc` command-line dictionary in the AUR, and I installed a French dictionary (Dictionnaire de l'Académie Française, 8ème edition (1935)).
Since this is the only dictionary I have installed, usage is quite simple - I wrapped it in a `mot` script:
```
#!/usr/bin/env bash
# trouve la signification d'un mot français
mot=$1
sdcv -c -n $mot
```
This is something I'm not quite happy with yet, but it will do for now.
The dictionary should include more up-to-date definitions, and the output is often quite verbose.
The ArchWiki page does describe some suggested usages, which maybe I will look at in the future.

View File

@ -0,0 +1,90 @@
# 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.