Comment utiliser pywws dans une autre langue

Introduction

Certaines parties de pywws peuvent être configurées pour utiliser votre langue locale au lieu de l’Anglais Britannique. Ceci requière un fichier de langage contenant la traduction des différentes phrases utilisées par pywws. Le projet repose sur les utilisateur qui fournissent ces traductions. Ce document décrit comment créer un fichier de langage.

La documentation de pywws peut aussi être traduite dans d’autres langues. C’est beaucoup de travail, mais pourrait être très utile aux utilisateurs potentiels qui ne lisent pas très bien l’anglais.

Prérequis.

En plus du logiciel pywws vous devez installer le paquet utilitaire GNU d’internationalisation gettext. Celui-ci est disponible dans la plupart des dépôts standard des distributions Linux, ou vous pouvez le télécharger à partir de http://www.gnu.org/software/gettext/ si vous devez le compiler vous même.

Choisir votre code de langue.

Les ordinateur utilisent les étiquettes d’identification de langues IETF (voir http://fr.wikipedia.org/wiki/%C3%89tiquette_d%27identification_de_langues_IETF). Par exemple, la Grande-Bretagne utilise en_GB qui est composé de 2 parties: en pour Anglais, et GB la version Britanique. Pour trouver le code correspondant à votre langue, consultez la liste sur http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes.

Mise en route

Votre dossier pywws doit déjà contenir un sous-dossier nommé translations. Celui-ci contient l’ensemble des fichiers de langue actuel, par exemple translations/fr/pywws.po contient la traduction Française. Si une de ces langues est ce que vous désirez, alors éditez votre fichier weather.ini et ajoutez une entrée language à la section [config], par exemple:

[config]
day end hour = 21
gnuplot encoding = iso_8859_1
language = sv

Vous devrez toujours compiler et installer le fichier de langue choisie. Ce qui est fait avec setup.py:

python setup.py msgfmt

S’il n’y a pas déjà de fichier pour votre langage, le reste de ce document vous indique comment en créer un.

Créer un fichier de langue.

La première étape consiste à créer un fichier contenant les phrases que vous devez traduire. Par exemple, pour créer un fichier source pour la langue française (code fr):

python setup.py xgettext
python setup.py msgmerge --lang=fr

Ce qui vous demandera de confirmer votre adresse courriel, puis créera un fichier pywws.po dans le répertoire translations/fr. Vous devez maintenant éditer le fichier pywws.po et remplir chaque ligne msgstr avec une traduction de la ligne msgid immédiatement au-dessus. La raison d’inclure votre adresse courriel est de permettre à chacun ayant une question à propos de la traduction de vous rejoindre. Sentez vous libre de mettre une adresse invalide si vous êtes préoccupé par le maintien de votre vie privée.

Après avoir édité le nouveau fichier de langue, il doit être compilé pour que pywws puisse l’utiliser. Ce qui est fait avec la commande msgfmt:

python setup.py msgfmt

N’oubliez pas de faire celà à chaque fois que vous éditez un fichier de langue.

Tester la traduction de pywws.

Le module Localisation peut être utilisé pour faire un test rapide de l’installation de votre fichier de langue:

python -m pywws.Localisation -t fr

Cela devrait afficher quelque chose comme ceci:

Locale changed from (None, None) to ('fr_FR', 'UTF-8')
Translation set OK
Locale
  decimal point: 23,2
  date & time: lundi, 17 décembre (17/12/2012 16:00:48)
Translations
  'NNW' => 'NNO'
  'rising very rapidly' => 'en hausse très rapide'
  'Rain at times, very unsettled' => 'Quelques précipitations, très perturbé'

Éditez l’entrée de langue dans votre fichier weather.ini pour utiliser votre code de langue (ex. fr), puis essayer d’utiliser Plot pour dessiner un graphe. L’axe des X du graphe devrait maintenant être étiquetée dans votre langue, utilisant la traduction que vous avez fournis pour ‘Time’, ‘Day’ ou ‘Date’.

Traduire la documentation.

Le système utilisé pour convertir les phrases utilisées dans pywws peut également servir à traduire la documentation. La commande pour extraire les phrases de la documentation est très similaire:

python setup.py xgettext_doc

Notez que ceci requière le logiciel sphinx utilisé pour ‘compiler’ la documentation. Après extraction des phraes, il créé les fichiers source pour votre langue. Dans cet exemple la langue est Français, avec le code sur deux lettres fr:

python setup.py msgmerge --lang=fr

Ceci créé quatre fichiers (index.po, essential.po, guides.po et api.po) lesquels contiennent les textes (souvent des paragraphes entier) extraits à partir des différentes parties de la documentation.

Ces fichiers peuvent être édités de la même manière que le fichier pywws.po. Complétez chaque msgstr avec une traduction de la phrase msgid juste au-dessus. Notez que certaines chaînes (par exemple, URL et liens vers d’autres parties de la documentation) ne doivent pas être traduites. Dans ces cas, le msgstr doit être laissé vide.

Traduire toute la documentation de pywws représente beaucoup de travail. Toutefois, lorsque la documentation est compilée toutes les chaînes non traduites reprennent leur valeur anglaise originale. Cela signifie qu’une traduction partielle pourrait quand même être utile - Je suggère de commencer par la première page de la documentation, index.po.

Visionner votre documentation traduite.

Tout d’abord convertir les fichiers de langue nouvellement édités:

python setup.py msgfmt

Puis. effacez l’ancienne documentation (si existante) et refaire en utilisant votre langage:

rm -Rf doc/html/fr
LANG=fr python setup.py build_sphinx

Notez que la commande build_sphinx n’a pas d’option --lang, donc le la langue est définie par une variable d’environnement temporaire.

Finallement, vous pouvez voir la documentation traduite en utilisant un navigateur web pour afficher le fichier doc/html/fr/index.html.

Mettre à jour les fichiers de langue.

Comme pywws évolue, de nouvelles phrases peuvent avoir été ajoutées et nécessiteront que votre fichier de traduction évolu lui aussi; ce qui est très facile à faire. Premièrement, Vous devez ré-extraire les phrases à traduire, puis les fusionner avec les fichier de langue existant. Ce qui est fait en répétant les commandes utilisées pour créer les fichiers:

python setup.py xgettext
python setup.py xgettext_doc
python setup.py msgmerge --lang=fr

Ceci devrait ajouter de nouvelles phrases à vos fichiers de langue, sans modifier les phrases que vous avez déjà traduits.

Si le source original Anglais a changé depuis votre dernière traduction, certaines phrases peuvent être marquées par gettext comme #, fuzzy (floue) . Vous devez vérifier que votre traduction est toujours adéquate pour ces phrases – Le changement peut être mineur (par ex. une correction d’orthographe) mais il pourrait être très important. Lorsque vous avez vérifié (et corrigée si nécessaire) la traduction, enlever la ligne #, fuzzy.

Envoyer la traduction à Jim

I’m sure you would like others to benefit from the work you’ve done in translating pywws. Please, please, please send a copy of your language file(s) (for example pywws.po) to jim@jim-easterbrook.me.uk. When you send a new translation you need to include details of which pywws version it is based on – the easiest way to do this is to include the value of commit from the file pywws/version.py in your email.

Commentaires ou questions? SVP, souscrivez à la liste d’envoi de pywws http://groups.google.com/group/pywws et laissez-le nous savoir.