Prendre en main Pology
1. Installation
a. Prérequis
Pology nécessite Python, version 3.7 ou supérieure. Python est installé par défaut sur de nombreuses distributions. Pour savoir si vous l'avez, utilisez la commande suivante :
python -V
Si vous avez Python d'installé, la console vous retournera :
Python {NUMERO_DE_VERSION}
Pour utiliser le module de vérification d'orthographe check_spell, vous devez avoir installé les paquets aspell et aspell-fr. Pour savoir si Aspell Français est disponible, la commande suivante :
aspell -d fr -a
doit vous retourner quelque chose comme :
International Ispell Version 3.1.20 (but really Aspell 0.60.4)
b. Conventions
Dans la suite de ce tutoriel, j'utiliserai la notation $HOME pour désigner le chemin de votre dossier personnel, par exemple /home/paul.
Je pars du principe que vous utilisez, pour les traductions de KDE, un dossier Traduction situé dans votre dossier personnel, et que vous comptez installer pology dans un sous-répertoire pology de Traduction. Si vous souhaitez procéder différemment, il vous suffit d'adapter les chemins donnés dans les lignes de commande.
c. Récupérer Pology
Pology est disponible sur le Git de KDE. La façon la plus simple de le récupérer - et de le mettre à jour - est d'utiliser l'outil en ligne de commande git. Une instruction suffit pour se connecter anonymement au git et disposer de l'outil :
git clone https://invent.kde.org/sdk/pology.git
Cette commande télécharge le dossier pology dans le dossier courant. Il faut donc se placer dans le dossier Traduction avant de passer la commande :
user@computer:~$ cd $HOME/Traduction user@computer:~/Traduction$ git clone https://invent.kde.org/sdk/pology.git
d. Configurer Pology : le fichier $HOME/.pologyrc
Il est nécessaire de configurer Pology, en créant le fichier $HOME/.pologyrc. Par exemple, avant d'utiliser check_spell, il faut définir la langue (directive language) et le code page (directive encoding) dans la section aspell. Par exemple aussi, la détection automatique de la langue ayant été supprimée dans Pology, il faut spécifier la langue en paramètre (-slang:fr) ou bien dans le fichier de configuration $HOME/.pologyrc (directive param-lang) dans la section posieve.
[aspell] language = fr encoding = UTF-8 [posieve] param-lang = fr
e. Mettre Pology à jour
Une fois que Pology a été récupéré sur le git, il est nécessaire de le mettre à jour régulièrement, car des règles sont ajoutées ou optimisées tous les jours. Pour ce faire, il suffit d'utiliser la commande de mise à jour :
cd $HOME/Traduction/pology && git pull
git met à jour les fichiers du répertoire pology. Si l'opération a bien marché, la console vous indique quels fichiers ont été ajoutés, mis à jour, supprimés, fusionnés et ceux qui ont pu créer un conflit de la façon suivante :
Updating b855f344..91ebf8fb Fast-forward lang/fr/spell/dict.aspell | 107 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+)
Pensez bien à mettre à jour régulièrement Pology, afin de rester homogène avec le reste de l'équipe et de toujours avoir des traductions les plus propres possibles.
2. Utilisation
Pology est un ensemble de scripts permettant de faire un grand nombre de tâches. Nous utilisons couramment quelques-uns de ces scripts, que nous allons apprendre à prendre en main maintenant.
La documentation intégrée de Pology est de mieux en mieux. Elle est dans pology/doc/user. Vous pouvez vous y référer pour plus d'informations sur ce logiciel, ses sieves, ses options etc.
a. Commande de base et création d'un alias
Sachez avant tout qu'un seul fichier permet d'exécuter tous les modules : posieve.py. Ainsi, quelque soit le module que l'on veut faire fonctionner, il faudra passer une commande du type :
python $HOME/Traduction/pology/scripts/posieve.py -b $NOM_DU_MODULE $FICHIER_CIBLE
Remarque : Notez que l'ajout de l'attribut -b permet d'ignorer les messages obsolètes qui sont stock©cs en fin de fichier et n'ont plus besoin d'être traduits.
Aussi, il est fortement conseillé de créer un alias de commande, c'est-à-dire une ligne dans votre fichier .bashrc qui vous permettra de taper par exemple :
pology $NOM_DU_MODULE $FICHIER_CIBLE
Au lieu de
python $HOME/Traduction/pology/scripts/posieve.py -b $NOM_DU_MODULE $FICHIER_CIBLE
Pour ce faire, ouvrez simplement ~/.bashrc et rajoutez la ligne suivante où vous le désirez :
alias pology='python $HOME/Traduction/pology/scripts/posieve.py -b'
Vous pouvez bien sûr utiliser un autre alias que pology. J'utiliserai pour ma part l'alias pology dans la suite de ce tutoriel.
b. check_rules, notre Bible
check_rules est l'outil vérifiant les règles de traduction décidées par l'équipe, la conformité, l'homogénéité, l'orthographe, la syntaxe... Il s'utilise en console, analyse le fichier PO indiqué et retourne les erreurs et leurs références.
Pour utiliser ce module, il faut passer en argument le nom du fichier à analyser.
pology check_rules $CHEMIN_VERS_FICHIER_PO
L'outil se charge en vous indiquant quelques informations :
Rules available in the following languages: fr Autodetecting fr language Load 166 rules
S'affichent ensuite les erreurs détectées, s'il y en a. Une erreur est toujours de la forme suivante :
Traduction_KDE/a_pologiser/k3b.po:7314(1214) #: k3bwritingmodewidget.cpp:38 msgid "" "RAW writing mode. The error correction data is created by the software " "instead of the writer device.
Try this if your CD writer fails to write " "in DAO and TAO. msgstr "Gravure brute (RAW). Les données de correction d'erreurs ne sont plus crées par le graveur, mais par le logiciel.
Essayez ce mode si votre graveur échoue en DAO et TAO." (&lwb;cr@ées)==>A remplacer par 'créées'"
Ainsi, vous avez à la première ligne le fichier concerné, la ligne du fichier incriminée et entre parenthèses le numéro de chaîne. Utilisez ce numéro de chaîne dans Lokalize pour repérer le message fautif (CTRL + G pour aller directement à un numéro de chaîne).
Les lignes suivantes sont le message en langue originale et votre traduction.
Enfin, la dernière ligne est un commentaire de l'erreur en question. Elle vous aide à déterminer où est l'erreur et comment la corriger.
Lorsque toutes les chaînes ont été analysées, l'outil check_rules vous renvoie le nombre d'erreurs trouvées.
Total matching: 9
Votre mission : atteindre le 0 ! Bien sûr, certaines règles sonnent parfois de fausses alertes. Reportez-vous à la troisième partie de ce tutoriel pour savoir comment réagir dans ce cas-là : comment déclarer un faux positif et aider à améliorer l'outil.
c. check_spell : vérificateur d'orthographe
Le module check_spell est l'intégration du correcteur d'orthographe Aspell dans Pology. Il vous permet de vérifier la bonne orthographe de vos traductions. Avant d'utiliser check_spell, il faut que le fichier $HOME/.pologyrc soit correctement renseigné (cf. chapitre dans ce document).
L'utilisation est d'une simplicité enfantine : il suffit de passer en argument le nom du fichier ou du dossier à analyser.
pology check_spell $CHEMIN_VERS_FICHIER_PO pology check_spell $CHEMIN_VERS_DOSSIER_DE_PO
d. check_grammar : vérificateur de grammaire
Le module check_grammar est le pendant grammatical de check_spell : il intègre le correcteur LanguageTool (utilisé par OpenOffice.org) dans Pology. On l'utilise de la même façon :
pology check_grammar $CHEMIN_VERS_FICHIER_PO pology check_grammar $CHEMIN_VERS_DOSSIER_DE_POCeci est pour le moment expérimental et les résultats ne sont pas encore probants. Vous êtes prévenus !
e. fr:setUbsp : gérer les espaces non sécables
Cet outil remplace, dans un fichier donné, les espaces par des espaces non sécables lorsque c'est nécessaire, notamment avant les deux-points, les points-virgule, les points d'exclamation et d'interrogation...
Pour utiliser ce module, il faut passer en argument le nom du fichier à analyser.
pology fr:setUbsp $CHEMIN_VERS_FICHIER_PO
L'outil vous renvoie alors le fichier modifié et le nombre de remplacements effectués.
! Traduction_KDE/a_pologiser/k3b.po Total messages changed: 49
f. find_messages, recherche dans les chaînes
Ce module permet de faire des recherches dans les chaînes originales et-ou traduites. L'utilisation est un peu plus complexe que les modules précédents car il faut utiliser, en plus du chemin vers un fichier ou un dossier de recherche, des options.
- L'option -smsgstr:$chaine_recherche permet de rechercher $chaine_recherche dans les chaînes traduites.
- L'option -smsgid:$chaine_recherche permet de rechercher $chaine_recherche dans les chaînes originales.
- L'option -smsgctxt:$chaine_recherche permet de rechercher $chaine_recherche dans les informations contextuelles.
Vous pouvez bien sûr combiner les critères de recherche. La chaîne peut être un mot, une suite de mots ou une expression régulière. Pensez, si la chaîne de recherche comporte plusieurs mots, à l'encadrer par des guillemets.
Quelques exemples d'utilisation :
#Commande pour savoir quelles sont les chaînes traduites qui contiennent les mots "un icône", pour le fichier "trunk/l10n-kde4/fr/messages/kdewebdev/kommander.po" pology find_messages -smsgstr:"un icône" trunk/l10n-kde4/fr/messages/kdewebdev/kommander.po #Idem, mais pour tous les fichiers PO présents dans le sous-répertoire "trunk/l10n-kde4/fr/messages/" pology find_messages -smsgstr:"un icône" trunk/l10n-kde4/fr/messages/ #Si on cherche à savoir comment "thumbnail" (dans les chaînes originales) est traduit et s'il est traduit par "vignette" dans trunk pology find_messages -smsgid:thumbnail -smsgstr:vignette trunk/l10n-kde4/fr/messages/
g. check_kde4, vérifier la conformité du code XML
«check_kde4» vérifie la conformité du code XML. Sur les documentations ça sortait (sort ?) régulièrement des alertes sur les entités des traducteurs (&nomdutraducteur;). Cela signale aussi des balises non fermées. L'option -c passée à pology check_kde4 permet de faire un contrôle avec msgfmt en plus. Voir par exemple le document anglophone suivant pour quelques autres précisions.
# vérifier la conformité du code XML posieve check_kde4 monFichier.po
Note : récemment (en 2010 ?), deux sieves ont été renommés en éliminant la mention « xml » :
- check_xml_kde4 -> check_kde4
- check_xml_docbook -> check_docbook4
3. Amélioration
a. Faire un rapport de faux positif
Si vous êtes agressé par un des outils vus précédemment sans raison valable, si check_spell souligne des fautes d'orthographe inexistantes ou si check_rules n'est absolument pas pertinent, postez sur la liste ce faux positif en détaillant :
- le nom et la branche du fichier incriminé,
- la chaîne originale,
- la chaîne traduite,
- le message d'erreur,
- éventuellement, une petite explication et une suggestion d'amélioration.
La liste statuera alors : est-il justifié de considérer le cas comme un faux positif, comment le corriger, gérer l'exception... Une fois un consensus trouvé ou arraché, Pology sera modifié : pensez alors à le mettre à jour.
b. Proposer des mots à ignorer par check_spell
Le jargon technique fourmille de mots spécifiques : noms de protocoles, de formats, de logiciels... Ces mots sont considérés comme n'existant pas dans la langue française par le module check_spell, tant qu'ils ne sont pas ajoutés à un fichier dictionnaire. Pour améliorer l'outil check_spell, vous pouvez proposer des mots à ajouter à ce dictionnaire.
Pour contribuer au dictionnaire de manière efficace, il faut, sur un ou plusieurs fichiers :
- corriger les vraies fautes d'orthographe,
- lancer sur la liste les débats pour les mots litigieux,
- quand il ne reste que des erreurs bidons, faire tourner le module check_spell avec l'option -slist pour faire une sortie propre et sans doublons prête à être copiée et collée dans le dico,
- envoyer la sortie de cette commande dans un fichier texte à la liste de diffusion francophone de KDE.
Quelques précisions sur l'usage des majuscules et des minuscules :
- Si vous ajoutez un mot en minuscules, celui-ci sera considéré par check_spell comme juste, qu'il soit en minuscules ou en majuscules ;
- Par contre, si le mot est ajouté avec une ou plusieurs lettres en majuscule, le mot ne sera accepté que si les lettres en majuscule dans la liste d'exceptions sont en majuscule dans la chaîne.
c. Utiliser le dictionnaire de check_spell dans tout KDE
Si vous souhaitez bénéficier de la liste des exceptions autorisées lorsque vous traduisez avec Lokalize, il vous suffit de créer le lien symbolique suivant :
ln -s $POLOGY/lang/fr/spell/dict.aspell ~/.aspell.fr.pws
La variable d'environnement $POLOGY désigne bien entendue l'emplacement d'installation de Pology.
Notez également que ce dictionnaire s'applique à tout votre bureau KDE (Konqueror, KMail,...), et pas seulement aux outils de traduction.