Nouvel outil de traduction hors ligne

Le besoin

Vivant et travaillant en Allemagne, utilisant les langues anglaise et allemande de manière professionnelle, le français et l’allemand dans la sphère privée, je suis un utilisateur pas très modéré des outils de traduction en ligne.

Des classeurs de toutes les couleurs

Aussi l’annonce d’un outil de traduction hors ligne basé sur des travaux universitaires par Mozilla m’a enchanté. La description technique de la conception de l’outil est intéressante à lire.

Malheureusement l’outil n’est distribué que sous la forme d’une extension Firefox, et le dépôt git et les explications pour obtenir une application indépendante est indigeste. «Hillariously difficult to use» pour rependre le titre d’un rapport un bogue, dont une réponse pointe vers Kotki, un projet dérivé qui promet de simplifier l’utilisation de l’outil.

L’outil

L’installation de Kotki se déroule en deux partie. Au niveau système, en tant que root:

apt install -y cmake ccache build-essential git pkg-config \
    rapidjson-dev pybind11-dev libyaml-cpp-dev python3-dev \
    python3-virtualenv libopenblas-dev libpcre2-dev \
    libprotobuf-dev protobuf-compiler libsqlite3-dev
pip3 install kotki -v

En tant qu’utilisateur, il faut ensuite télécharger les «modèles» permettant de traduire d’une langue à l’autre:

mkdir -p ~/.config/kotki/models/
cd /tmp/
# Voir https://github.com/kroketio/kotki/releases
wget https://github.com/kroketio/kotki/releases/download/0.6.0/kotki_models_0.3.3-tiny.zip
unzip kotki_models_0.3.3-tiny.zip -d ~/.config/kotki/models

Personnellement je télécharge la version tiny du fichier, parce que le fichier contient les modèles de traduction dont j’ai besoin. Si vous êtes intéressé par le russe ou l’ukrainien, la version complète sera nécessaire:

wget https://github.com/kroketio/kotki/releases/download/0.6.0/kotki_models_0.3.3-tiny.zip
unzip kotki_models_0.3.3.zip -d ~/.config/kotki/models

Utilisation

Ça marche plutôt pas mal:

kotki-cli -i "Longtemps je me suis couché de bonne heure."
# For a long time I went to bed early.

kotki-cli -m enfr -i "For a long time I went to bed early."
# Pendant longtemps, je suis allé me coucher tôt.

kotki-cli  -i \
"Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, \
fand er sich in seinem Bett zu einem ungeheueren Ungeziefer \
verwandelt."
# One morning, when Gregor Samsa awoke from troubled dreams,
# he found himself in his bed turning into a monstrous vermin.

kotki-cli -m ende -i \
"One morning, when Gregor Samsa awoke from troubled dreams,\
 he found himself in his bed turning into a monstrous vermin."
# Eines Morgens, als Gregor Samsa aus unruhigen Träumen erwachte,
# fand er sich in seinem Bett wieder, das sich in ein
# ungesäuertes Ungeziefer verwandelte.

Mais l’allemand, n’est pas encore très au point.

Une autre critique: l’anglais est pivot. Il n’existe pas (encore?) de modèle permettant de traduire de l’allemand vers le français ou du français vers l’allemand.