IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Débuter avec gettext


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut Débuter avec gettext
    Bonjour,

    Je souhaite internationaliser mon application, et, par défaut, j'ai choisi gettext.

    J'ai trouvé quelques documentations sur la création des fichiers, mais pour la suite, j'ai beaucoup plus de mal.
    Il y a certes la documentation officielle, mais elle ne m'aide pas à comprendre le fonctionnement de gettext, car je ne trouve aucun exemple d'utilisation.

    De plus, le fonctionnement de mon application est plutôt atypique, car elle est constituée, certes d'un noyau, mais aussi de modules, choisis par l'utilisateur.

    Donc, les traductions de chacun des modules doit être dans un fichier différent.



    Pouvez-vous m'aider, au moins pour me donner un exemple complet de code ?

    Merci d'avance,
    ProgVal

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Personnellement, j'utilise gettext comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import gettext
    locales_dir = None if installed else "./share/locale"
    gettext.install('monprogramme', locales_dir)
    print "Hello", _("Hello")
    Le dossier "./share/locale" dans mon répertoire de développement contient mes fichiers "*.mo". Lorsque le programme est installé, je spécifie "None" dans la fonction gettext.install pour que le prog aille chercher les traductions dans le répertoire par défaut.

    gettext.install ajoute la fonction de traduction "_" dans __builtins__, ce qui la rend disponible même dans les modules que tu importeras. Tu n'as donc pas besoin de faire un fichier de traduction par module, mais juste un global.


    -

  3. #3
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    Ouch, un vieux topic que j'avais oublié ><

    J'ai fini par écrire ma propre bibliothèque, ça m'arrangeait

Discussions similaires

  1. [GridBagLayout] Comment débuter avec ce layout
    Par Bighobbit dans le forum Débuter
    Réponses: 12
    Dernier message: 28/09/2005, 17h13
  2. [MFC je crois] Débuter avec visual c++
    Par flzox dans le forum MFC
    Réponses: 6
    Dernier message: 28/06/2005, 18h31
  3. [JAXP] Débuter avec XML et Java
    Par Fleep dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/05/2005, 11h27
  4. Traduction avec gettext
    Par aA189 dans le forum Linux
    Réponses: 7
    Dernier message: 19/10/2004, 14h57
  5. Débuter avec Java
    Par reptils dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 11/07/2004, 21h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo