KDE Localization/fr/pology
Prendre en main Pology
Installation
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 quelque chose comme :
Python 3.10.9
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)
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.
Récupérer Pology
Pology est disponible sur l'instance GitLab 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. Pour le copier dans le répertoire de traduction :
cd $HOME/Traduction git clone https://invent.kde.org/sdk/pology.git
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
Mettre Pology à jour
Une fois que Pology a été récupéré sur l'instance GitLab de KDE, il est nécessaire de le mettre à jour régulièrement, car des règles sont parfois ajoutées ou optimisées. Pour ce faire, il suffit d'utiliser la commande de mise à jour :
cd $HOME/Traduction/pology git pull
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.
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.
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
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.
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.
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
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_PO
Ceci est pour le moment expérimental et les résultats ne sont pas encore probants. Vous êtes prévenus !
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
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/
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
Amélioration
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.
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 à Vincent Pinon.
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.
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 l'emplacement d'installation de Pology.
Notez également que ce dictionnaire s'applique alors à tout votre bureau KDE (Konqueror, KMail,...), et pas seulement aux outils de traduction.