Prendre en main Pology
1. Installation
a. Prérequis
Pology nécessite Python, version 2.4 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}
Si vous avez la version 2.4 de Python, vous devez installer manuellement le module
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 SVN 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 Subversion. Une instruction suffit pour se connecter anonymement au SVN et disposer de l'outil :
svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4/scripts/pology
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$ svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4/scripts/pology
Si votre ordinateur est derrière un proxy ou un pare-feu récalcitrant, et qu'il vous est impossible de vous connecter au dépôt SVN, une solution peut être de préciser le numéro de port dans la commande :
user@computer:~$ cd $HOME/Traduction user@computer:~/Traduction$ svn co svn://websvn.kde.org:443/home/kde/trunk/l10n-kde4/scripts/pology/
d. Définir la variable d'environnement Python
Pology est un ensemble de scripts écrits en Python. Pour qu'ils puissent être exécutés correctement, vous devez définir une variable d'environnement. Deux méthodes existent, une temporaire, qu'il faut renouveller à chaque session de console, et une stable.
Pour définir la variable d'environnement pour une session, il suffit de passer cette instruction en console.
export PYTHONPATH=$HOME/Traduction/:$PYTHONPATH
Une fois cette commande passée, vous pourrez faire fonctionner les scripts Pology durant votre session de console.
Pour définir la variable d'environnement de façon définitive, il vous suffit de placer la ligne de commande précédente dans votre fichier ~/.bashrc. Ce fichier est appelé à chaque ouverture de session de console. Pour éditer .bashrc en ligne de commande, placez-vous dans votre répertoire personnel et faites simplement :
kate .bashrc
e. Mettre Pology à jour
Une fois que Pology a été récupéré sur le SVN, 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 :
svn up $HOME/Traduction/pology
Subversion 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 (A), mis à jour (U), supprimés (D), fusionnés (G) et ceux qui ont pu créer un conflit (C) de la façon suivante :
U pology/file/message.py U pology/l10n/fr/rules/common-mistakes.rules U pology/l10n/fr/rules/typography.rules A pology/l10n/fr/rules/koffice.rules.disabled U pology/l10n/fr/rules/team-choices.rules U pology/misc/rules.py U pology/sieve/check_rules.py Updated to revision 782149.
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.
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 $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 $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'
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 KBabel 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 tradcution.
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. 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_PO
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/
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 à Sébastien Renard.
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.
[ Edit ]
KDE en français