Forum Programmation.shell Variable d'environnement et Gettext

Posté par  .
Étiquettes :
0
7
sept.
2005
Bonjour, bonjour !

Il y'a quelques temps j'ai créer un petit script qui permet de rendre facilement Ubuntu utilisable (codecs multimédias, plugins Firefox, ...)

Pour la nouvelle version j'ai décidé de supporté plusieurs languages (Anglais et Français pour commencer) et on ma conseiller d'utiliser gettext.

J'ai donc fait ceci: http://placelibre.ath.cx/keyes/downloads/EasyUbuntu2.1-alpha.tar.gz(...)

Les messages sont en anglais d'origine et pour la localisation en français j'ai créer un répertoire lang/fr_FR.UTF-8/LC_MESSAGES/ dans lequel j'ai mi eu.mo

Au début de mon script j'ai:
export TEXTDOMAINDIR=$(pwd)/lang/
export TEXTDOMAIN=eu


Lorsque je lance le script ./eu (directement sans passer par sudo ou quoi que se soit) il s'affiche en anglais alors que ma variable $LANG est fr_FR.UTF-8

En revanche si je fais:
$ export TEXTDOMAINDIR=$(pwd)/lang/
$ export TEXTDOMAIN=eu
$ ./eu


La le script s'affiche en Français !!

Je ne comprend vraiment pas pourquoi (des commandes dans un script ou directement tapés dans un shell c'est pareil non ?) !

J'espère que les lecteurs experts de DLFP viendront éclairer ma lanterne !
  • # Et ?

    Posté par  . Évalué à 1.

    Avec LC_ALL ?
    ça donne quoi ?

    LANGUAGE ?
    • [^] # Re: Et ?

      Posté par  . Évalué à 1.

      Si tu parles du nom du répertoire (LC_MESSAGES) ça donne même problème.

      Pour mes variables (Ubuntu française par défaut):
      $ locale
      LANG=fr_FR.UTF-8
      LC_CTYPE="fr_FR.UTF-8"
      LC_NUMERIC="fr_FR.UTF-8"
      LC_TIME="fr_FR.UTF-8"
      LC_COLLATE="fr_FR.UTF-8"
      LC_MONETARY="fr_FR.UTF-8"
      LC_MESSAGES="fr_FR.UTF-8"
      LC_PAPER="fr_FR.UTF-8"
      LC_NAME="fr_FR.UTF-8"
      LC_ADDRESS="fr_FR.UTF-8"
      LC_TELEPHONE="fr_FR.UTF-8"
      LC_MEASUREMENT="fr_FR.UTF-8"
      LC_IDENTIFICATION="fr_FR.UTF-8"
      LC_ALL=

      $ echo $LANGUAGEfr_FR.UTF-8

      Si je donne la valeur "fr_FR.UTF-8" à $LC_ALL ça ne change rien non plus :/
      • [^] # Re: Et ?

        Posté par  . Évalué à 1.

        Et en mettant ça dans fr_FR comme répertoire, au lieu de fr_FR.UTF-8 ?
        ou fr ?

        Sur une debian configurée en fr_FR.UTF-8, c'est dans /usr/share/fr/ les lcoales :s
        • [^] # Re: Et ?

          Posté par  . Évalué à 1.

          Oui j'ai déjà testé ça marche pas :-/

          Je pense que c'est surtout un problème de porté de variable vu que je défini les variables depuis le terminal avant de lancer le script ça marche.
          • [^] # Re: Et ?

            Posté par  . Évalué à 1.

            Et en gruikant à mort ?
            Un script qui lance le script :-D
            • [^] # Re: Et ?

              Posté par  . Évalué à 1.

              Marche pas

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.