Nous sommes le Mer 23 Juil, 2025 19:32
Supprimer les cookies

Programme Python avec gestion des langues (fichier .po)

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Lun 06 Mars, 2006 23:48

Bonjour,

afin d'étudier la programmation python et surtout les méthodes de traductions, je cherche un programme libre (gratuit ou pas trop cher <30€) le plus court possible intégrant la gestion des langues via les fichiers .po. Ce que fait le programme m'importe peu, le principal étant qu'il ait une source suffisament claire pour que je puisse l'étudier.

Cordialement,
Léviathan

PS: j'accepte aussi volontier tous les renseignements ayant trait à l'internationnalisation des applications Python.
Invité

Mar 07 Mars, 2006 10:41

Hum, je me posais la même question. Si quelqu'un à la réponse, il fera deux heureux.
isatis39871

Messages : 467

Mar 07 Mars, 2006 11:45

Tu peux jeter un oeil sur les docs Python:

- en ce qui concerne l'internationalisation (i18n en abrégé), voir http://docs.python.org/lib/module-locale.html. L'i18n, c'est tout ce qui touche aux formats (date, nombres, etc...)

- pour la localisation (l10n), voir http://docs.python.org/lib/module-locale.html. La l10n porte sur les traductions de messages, etc...

PS: les abréviations l10n et i18n ont pour origine la fait que "localisation" = lettre "l" suivie de 10 autres lettres suivies de la lettre "n" (et pareil pour "internationalisation" : lettre "i" + 18 lettres + lettre "n")
Serge_J

Messages : 1

Mar 07 Mars, 2006 12:07

Merci, néanmoins ce module ne gère pas les fichiers .po qui sont devenu une référence, notament pour le travail de traduction collaboratif.
isatis39871

Messages : 467

Mer 08 Mars, 2006 21:43

Merci Serge_J, je vais regarder un peu tes liens.
entre temps, je suis tombé sur cette page qui explique un peu le système de traduction via les fichier .po
Invité

Jeu 23 Mars, 2006 13:59

Salut Leviathan,

J'ai aussi cherché à traduire un de mes petits .py. et effectivement au niveau de la doc c'est plutôt floue dans ce domaine (pour une fois).

J'ai laissé tombé la page de Karigel qui ne semble pas utilser les noms de dossiers usuels et j'ai vu que tu étais aussi bloqué sur le forum Python Developez.

J'arrive maintenant à utiliser l' i18n avec Python sur Windows et Ubuntu. Je ferai une page/ tuto quelque part de ce que j'ai compris ce WE. En attendant j'ai fais un screenshot pour que tu vois le dossier de partge des .mo sur Ubuntu (linux) et un "hello world" minimal.

Capture d'écran
frenchy

Messages : 529

Ven 24 Mars, 2006 13:00

Bonjour Frenchy,

merci beaucoup pour cette aide. Je n'ai pas encore testé mais dès que je peux je teste et je fais un petit retour ici.
Ce qui me semble bizarre c'est que tu aies mis ton fichier de traduction dans /usr/share/local alors que ton application est dans /home, j'espère tout de même que l'on peut changer ça pour avoir le fichier i18n dans le même répertoire que l'application.

Pour le tuto, si j'arrive à mettre en place l'internationnalisation je veux bien aussi participer, car la traduction de logiciel est un moyen de participer à un projet libre sans forcément avoir de connaissance technique et si on bloque sur un petit détail ça peut être repoussoir.

encore merci (je suis vraiment content de pouvoir traduire mon sudoku :-) )
Léviathan
Invité

Ven 24 Mars, 2006 14:46

Ce qui me semble bizarre c'est que tu aies mis ton fichier de traduction dans /usr/share/local alors que ton application est dans /home, j'espère tout de même que l'on peut changer ça pour avoir le fichier i18n dans le même répertoire que l'application.



/usr/share/locale est le répertoire par défaut sur ma ubuntu pour la plupart des fichiers langues.

En Python pour connaitre l' enplacement du "share" par défaut (sous Linux, Windows, etc ...) il faut faire:

>>> import sys
>>> sys.prefix # ce qui donne "/usr" sur ma ubuntu (mais c'est différent bien sûr sur windows)

---

Tu peux aussi avoir ton .mo dans un sous-dossier par rapport à ton appli.

Dans le dossier où est ton appli myapp.py, tu créer un dossier locale/fr/LC_MESSAGES (et tu mets ton .mo dedans)

Dans ton myapp.py tu dis:
Code: Tout sélectionner

import gettext

localedir="locale"
gettext.install("myapp", localedir)

print _("hello friends")
print _("Bye Bye")

# et il devrait traduire en français


Pour les pauvres drogués de la cafféine je viens de voir qu'il existe aussi une version gettext pour java (en plus du gettext GNU original) :
http://xnap-commons.sourceforge.net/gettext-commons/
frenchy

Messages : 529

Jeu 25 Mai, 2006 11:58

Bonjour,

suite à ce post et grâce à l'aide précieuse de frenchy, j'ai enfin pu traduire mon application python. Ayant eu du mal à trouver de la documentation (qui plus est en français) j'ai décidé de faire un petit tutoriel.
Malgré l'aide de frenchy pour me faire découvrir les outils python d'internationalisation [1] je n'ai toujours pas réussi à les trouver, j'ai donc détaillé le processus d'internationalisation avec les outils GNU (ce qui ne pose à priori pas de problème)

Voici donc le tutoriel: le PDF et la source ODT. Il est sous licence Art Libre, si ça dit a quelqu'un de le compléter avec le processus utilisant les outils Python il est le bien venu :-)

Cordialement,
Léviathan

[1] oui frenchy même avec la commande find / -name '*msgfmt.py*' impossible de mettre la main dessus sous GNU/Linux, pourtant pour Windows je l'ai trouvé :-(
Invité


Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit