Gettext doesn't worh, help!

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Daniel CAUSSE

    Gettext doesn't worh, help!

    Hello,

    I'm testing gettext on my website but it doesn't work.

    phpinfo returns correct informations:
    configure command => '--with-gettext=/usr'
    GetText Support => enabled

    I have no problem to create messages.mo and messages.po files.
    I've created all directories under a 'locale' root directory
    ../locale/fr_FR/LC_MESSAGES/messages.mo
    ../locale/fr_FR/LC_MESSAGES/messages.po
    ../locale/en_US/LC_MESSAGES/messages.mo
    ../locale/en_US/LC_MESSAGES/messages.po


    Here's the source of a fr_FR messages.po (en_US is similar):
    # SOME DESCRIPTIVE TITLE.
    # Copyright (C) 2004 Free Software Foundation, Inc.
    # Daniel xxx <xxx@yyy.com> , 2004.
    #
    #, fuzzy
    msgid ""
    msgstr ""
    "Project-Id-Version: PACKAGE VERSION\n"
    "POT-Creation-Date: 2004-07-06 13:30+0200\n"
    "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    "Last-Translator: Daniel xxx <xxx@yyy.com>\n "
    "Language-Team: French <traduc@traduc. org>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=ISO-8859-1\n"
    "Content-Transfer-Encoding: 8bit\n"

    # Exemples de texte a traduire

    msgid "ADM0001"
    msgstr "Traduction en cours ..."

    msgid "ADM0002"
    msgstr "Verifiez les valeurs de vos variables"



    Here's the source of a test script:
    // Specification de la langue dans la variable d'environnement LANG.
    $vLang=getenv(" LANG");
    echo "Variable d'environnement LANG = " . $vLang;
    echo "<BR />\n";
    putenv("LANG=en _US");
    $vLang=getenv(" LANG");
    echo "Variable d'environnement LANG = " . $vLang;
    echo "<BR />\n";
    $vLC_ALL = getenv("LC_ALL" );
    echo "Variable d'environnement LC_ALL = " . $vLC_ALL;
    echo "<BR />\n";
    $vLocale = setlocale(LC_AL L, "en_US");
    echo "Variable locale LC_ALL = " . $vLocale;
    echo "<BR />\n";
    $vLC_ALL = getenv("LC_ALL" );
    echo "Variable d'environnement LC_ALL = " . $vLC_ALL;
    echo "<BR />\n";

    // Test de gettext
    $vDomaine = "messages";
    $vCodeset = bind_textdomain _codeset($vDoma ine, "ISO-8859-1");
    echo "Resultat de bind_textdomain _codeset = " . $vCodeset;
    echo "<BR />\n";
    $vBind = bindtextdomain( $vDomaine, "./gettext/locale");
    echo "Resultat de bindtextdomain = " . $vBind;
    echo "<BR />\n";
    $vTextDomain = textdomain($vDo maine);
    echo "Resultat de textdomain = " . $vTextDomain;
    echo "<BR />\n";

    echo gettext("ADM000 1");
    echo "<BR />\n";
    echo gettext("ADM000 2");
    echo "<BR />\n";
    echo gettext("ADM000 3");
    echo "<BR />\n";
    echo _("ADM0001");
    echo "<BR />\n";
    echo _("ADM0002");
    echo "<BR />\n";
    echo _("ADM0003");
    echo "<BR />\n";

    Here's the result of th script:
    Variable d'environnement LANG = en_us
    Variable d'environnement LANG = en_US
    Variable d'environnement LC_ALL = en_US
    Variable locale LC_ALL = en_US
    Variable d'environnement LC_ALL = en_US
    Resultat de bind_textdomain _codeset = ISO-8859-1
    Resultat de bindtextdomain = /home/web/site123/admin/gettext/locale
    Resultat de textdomain = messages
    ADM0001
    ADM0002
    ADM0003
    ADM0001
    ADM0002
    ADM0003


    I don't understand what's wrong, I've run the test script with fr_FR
    configuration too, the result is the same, only the msgid is displayed,
    help needed.
    Regards,
    Daniel
Working...