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
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