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

GTK+ avec C & C++ Discussion :

*.mo magiques ?


Sujet :

GTK+ avec C & C++

  1. #1
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut *.mo magiques ?
    Salut les gtk de tous bords,

    je voudrai savoir s'il il est possible de changer une variable d'environement pendant l'exécution d'un programme.

    Bien sur que oui mais comment faire pour la faire prendre en compte par le processus sans l'arréter...???

    Je vais jouer cash:

    Je désire pouvoir mettre a disposition le changement de langue d'un programme gtk+3.0 dans l'écran de configuration sans bousculer les paramètres de l'utilisateur.

    La traduction en fr et de est déjà faites et j'aimerai en plus que l'interface par défaut soit en anglais.

    Seulement quand ont change une variable d'environement pendant l'exécution d'un programme (La varaible $LANGUAGE) il faudrait aussi updater l'interface.

    Cela soulève beaucoups de questions...!!!

    Toute aide est la bienvenue.

    Merci pour votre aide et vos précieuses réponses.

    PS: J'ai Xenial (Ubuntu 16.04) et il semble que gtk dispose de nouveau compléments comme un canvas, un paquets de widgets d'extension, etc...
    Je suis content que la communauté gtk s'active concernant gtk+3.0.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Bonjour,

    changer une variable d'environnement pendant l'exécution d'un programme, oui c'est possible, y compris programmaticalement. La GLib fournit g_setenv et g_unsetenv pour ça. Ensuite pour changer la locale à la volée, je n'ai jamais essayé, mais regarde la page de manuel de setlocale: man 3 setlocale
    setlocale change les paramètres de localisation (langue, séparateurs décimaux, etc.). Pou changer tout cela, je pense qu'il faut utiliser la variable d'environnement LC_ALL plutôt que LANGUAGE, ou à la rigueur LC_MESSAGES pour avoir au moins les traductions des .mo sans changer de séparateur décimal par exemple. En revanche je ne sais pas comment réagit GTK à un changement de locale en cours d'exécution. Normalement il appelle lui même setlocale dans gtk_init. Si on change la locale ensuite, soit il la verra, soit il ne le verra pas et tu auras sans doute autre chose à faire pour mettre à jour ton interface. Fais le test et dis nous ce qu'il se passe

  3. #3
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    OKAY c'est fait,

    il suffit de changer la variable $LANGUAGE en cours d'exécution, car je voulais faire un menu de choix de langue dans mon interface, applicable immédiatement, donc en itération.

    Plus un obscur incrément d'une variable _nl_msg_cat_cntr définis dans loadmsgcat.c dont ont ne devraient se soucier.

    Pour arriver a ce qui est dynamiquement charger (sélecteurs de fichiers, toplevel, etc...) change de langue, AUTOMATIQUEMENT.

    Par contre tous ce qui a été définis aux démarrage reste dans la même langue.

    Après ce qui se passe quand ont modifie $LANGUAGE dès le départ tel n'était pas mon but et je n'ai pas encore essayer.

    Par contre ce passage citant cette technique est dit obsolète et a remanier...

    Il faut dire aussi que le fait d'utiliser le GNU gettext joue un rôle et qu'il existe une variable AUTOMAKE.

    Voilà je n'ai pas lu complètement le GNU gettext tools (GNU manual), car ce sujet est a mon goût personnel un peu rébarbatif.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Jeux mathématique] Magique
    Par Pascal Jankowski dans le forum Enigmes
    Réponses: 33
    Dernier message: 21/08/2006, 09h16
  2. Réponses: 1
    Dernier message: 07/06/2006, 11h02
  3. Fenetre magique...
    Par emardjean dans le forum MFC
    Réponses: 3
    Dernier message: 25/01/2006, 14h43
  4. ptit pb magique
    Par Andrey dans le forum C
    Réponses: 4
    Dernier message: 07/11/2005, 14h34
  5. [langage] Expression regulière magique?
    Par ma2th dans le forum Langage
    Réponses: 5
    Dernier message: 23/04/2004, 08h19

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