Sauf que je trouve le principe assez lourd. A cause des fichiers externes à générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple dictionnaire des messages(1). J'y vois deux avantages : - ça reste purement Python - la visibilité est immédiate (c'est dans le code-source, pas de fichiers externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message, l'index dans la liste, c'est le numéro de la langue. J'utilise des messages en 5 langues ; donc, chaque entrée du dictionnaire contient une liste de 5 textes. Si la clef (ou l'index) n'existe pas, c'est le message original qui est retourné. Du coup, je traduis même du français vers du français (par exemple 'erreur' ==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce logiciel est incompatible avec les langages simplistes ou arriérés')
Bonjour !
C'est vraiment excellent ce truc...
Sauf que je trouve le principe assez lourd. A cause des fichiers externes à
générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple dictionnaire
des messages(1). J'y vois deux avantages :
- ça reste purement Python
- la visibilité est immédiate (c'est dans le code-source, pas de fichiers
externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message,
l'index dans la liste, c'est le numéro de la langue. J'utilise des messages
en 5 langues ; donc, chaque entrée du dictionnaire contient une liste de 5
textes.
Si la clef (ou l'index) n'existe pas, c'est le message original qui est
retourné.
Du coup, je traduis même du français vers du français (par exemple 'erreur'
==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce logiciel est
incompatible avec les langages simplistes ou arriérés')
Sauf que je trouve le principe assez lourd. A cause des fichiers externes à générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple dictionnaire des messages(1). J'y vois deux avantages : - ça reste purement Python - la visibilité est immédiate (c'est dans le code-source, pas de fichiers externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message, l'index dans la liste, c'est le numéro de la langue. J'utilise des messages en 5 langues ; donc, chaque entrée du dictionnaire contient une liste de 5 textes. Si la clef (ou l'index) n'existe pas, c'est le message original qui est retourné. Du coup, je traduis même du français vers du français (par exemple 'erreur' ==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce logiciel est incompatible avec les langages simplistes ou arriérés')
hg
Méta-MCI wrote:
Bonjour !
C'est vraiment excellent ce truc...
Sauf que je trouve le principe assez lourd. A cause des fichiers externes à générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple dictionnaire des messages(1). J'y vois deux avantages : - ça reste purement Python - la visibilité est immédiate (c'est dans le code-source, pas de fichiers externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message, l'index dans la liste, c'est le numéro de la langue. J'utilise des messages en 5 langues ; donc, chaque entrée du dictionnaire contient une liste de 5 textes. Si la clef (ou l'index) n'existe pas, c'est le message original qui est retourné. Du coup, je traduis même du français vers du français (par exemple 'erreur' ==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce logiciel est incompatible avec les langages simplistes ou arriérés')
C'est aussi ma solution.
hg
Méta-MCI wrote:
Bonjour !
C'est vraiment excellent ce truc...
Sauf que je trouve le principe assez lourd. A cause des fichiers externes
à générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple
dictionnaire des messages(1). J'y vois deux avantages :
- ça reste purement Python
- la visibilité est immédiate (c'est dans le code-source, pas de
fichiers
externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message,
l'index dans la liste, c'est le numéro de la langue. J'utilise des
messages en 5 langues ; donc, chaque entrée du dictionnaire contient une
liste de 5 textes.
Si la clef (ou l'index) n'existe pas, c'est le message original qui est
retourné.
Du coup, je traduis même du français vers du français (par exemple
'erreur' ==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce
logiciel est incompatible avec les langages simplistes ou arriérés')
Sauf que je trouve le principe assez lourd. A cause des fichiers externes à générer/gérer.
Perso, du coup, j'ai repris l'idée de _() en gérant un simple dictionnaire des messages(1). J'y vois deux avantages : - ça reste purement Python - la visibilité est immédiate (c'est dans le code-source, pas de fichiers externes).
Néanmoins, si gettext te convient, tant mieux.
Michel Claveau
(1) en fait, c'est un dictionnaire de listes ; la clef, c'est le message, l'index dans la liste, c'est le numéro de la langue. J'utilise des messages en 5 langues ; donc, chaque entrée du dictionnaire contient une liste de 5 textes. Si la clef (ou l'index) n'existe pas, c'est le message original qui est retourné. Du coup, je traduis même du français vers du français (par exemple 'erreur' ==> 'Le logiciel a rencontré une erreur', ou 'php' ==> 'Ce logiciel est incompatible avec les langages simplistes ou arriérés')
Dans le sommaire il y a "Strings" avec une sous-section "Localization". C'est entre autres pour pointer directement certains modules que j'ai rédigé la PQRC. [/mode]
Bon, du coup, juste après avoir envoyé, j'ai trouvé un super tuto sur framasoft.
http://www.framasoft.net/article4328.html
Bonne idée, ça s'indexera, et ça servira à d'autres.
JB BUTET wrote:
Salut :)
je cherche (mais ne trouve point) d'outils pour gérer une appli
multilingue ?
y a -t-il des modules pour gérer cela ?
Tu aurais du regarder dans la doc.
http://docs.python.org/lib/module-gettext.html
Ouaip :) mais quand tu n'as pas les mots clefs de départ, tu trouves
jamais rien :) c'est toujours comme ça la première fois.
Parce que si tu sais pas que le module s'appelle gettext ... que tu
tapes pas le bon mot clef "internationalisation"... rien de rien.
Dans le sommaire il y a "Strings" avec une sous-section "Localization".
C'est entre autres pour pointer directement certains modules que j'ai rédigé
la PQRC.
[/mode]
Bon, du coup, juste après avoir envoyé, j'ai trouvé un super tuto sur
framasoft.
http://www.framasoft.net/article4328.html
Bonne idée, ça s'indexera, et ça servira à d'autres.
Dans le sommaire il y a "Strings" avec une sous-section "Localization". C'est entre autres pour pointer directement certains modules que j'ai rédigé la PQRC. [/mode]
Bon, du coup, juste après avoir envoyé, j'ai trouvé un super tuto sur framasoft.
http://www.framasoft.net/article4328.html
Bonne idée, ça s'indexera, et ça servira à d'autres.