Salut à tous,   

Ca fait longtemps que je n'ai pas lancé galette et je n'arrive même plus à
l'installer. Je ne comprends pas comment le positionnement initial de la
langue marche.

Chez moi, ça donne ceci (voir le code ci-dessous) :
- dans install/index.php, le $pref_lang est mis à "english".
- Puis dans i18n.inc.php, comme je n'ai ni $_POST['pref_lang'], ni
 $_GET['pref_lang'] positionné, il est écrasé par $_SESSION["pref_lang"]
 qui est vide.
- On récupère un chaîne vide aussi pour $language.
- Après on écrase LANG par la chaîne vide et le setlocale renvoie "C".
- Ensuite on tente de charger "lang/lang_".$pref_lang.".php" qui
 n'existe pas parce que $pref_lang est vide.

Est-ce que j'ai raté quelque chose ?

Si je force $pref_lang à "english", la première page fonctionne. Mais dans
la deuxième il tente de charger ../includes/lang.inc.php qui n'existe plus,
il me semble (je n'arrive pas à atteindre cvs.gna.org pour mettre à jour, ni
voir les historiques, il n'est plus dans le DNS).

Le début de install/index.php est (en déroulant les includes) est :

   //////// Dans install/index.php
   if (!isset($_POST["install_lang"])) $pref_lang="english";
   else $pref_lang=$_POST["install_lang"];
   //////// Dans ../includes/i18n.inc.php
   // I18N support information here
   if (isset($_POST['pref_lang']))
           $_SESSION["pref_lang"]=$_POST['pref_lang'];
   if (isset($_GET['pref_lang']))
           $_SESSION["pref_lang"]=$_GET['pref_lang'];
   $pref_lang=$_SESSION["pref_lang"];
   $languages = array (
                       "french"  => "[EMAIL PROTECTED]",
                       "english"   => "en_US",
                       "spanish"   => "[EMAIL PROTECTED]"
                       );
   $language=$languages[$pref_lang];
   putenv("LANG=$language");
   putenv("LANGUAGE=$language");
   putenv("LC_ALL=$language");
   $loc=setlocale(LC_ALL, $language);

Laurent


Répondre à