Langues disponibles

Pour parler de tout ce qui concerne l'hébergement web, c'est ici.
Répondre
bricktown
Messages : 4
Enregistré le : 07 sept. 2011 19:59
Compte LegTux : bricktown

Langues disponibles

Message par bricktown » 07 sept. 2011 20:10

Bonjour,
J'ai d'abord posté un ticket, mais on m'a dis que je devais demander ici.
Vous devez sans doutes connaître l'extension PHP gettext qui sert à rendre un site multilingue. J'ai décidé d'utiliser cette extension, mais depuis plusieurs jours je bloc car quand je demande ma page en anglais, elle reste en français.
Pour ceux qui ne connaîtrait pas cette extension, le principe de gettext et simple on a une clé nommé "msgid" avec laquel on ajoute une valeur nommé "msgstr" la plupart du temps la clé est par exemple en français et la valeur en anglais. Ensuite on appelle la clé par exemple comme ceci :

Code : Tout sélectionner

echo _(message_bienvenue);


Le problème c'est que cela ne fonctionne pas, j'ai alors fait un test avec ce script car j'ai vu que la langue dépendait des langues disponibles sur le serveur.

Code : Tout sélectionner

   $testlangs = array('fr','fr_FR','fr_BE','fr_CA','en','en_US','en_GB','es','es_ES','de','de_DE','nl','nl_NL','US');

   function testlocale($lang)
   {
      putenv("LANGUAGE=$lang");
      $dir=setlocale(LC_ALL, $lang);
      if ($dir == $lang)
         return "<li>$lang : OK</li>\n";
      else
         return "";
   }

   if (extension_loaded('gettext'))
   {
      echo 'gettext is installed. Testing some locales ...<br/><ul>';
      foreach ($testlangs as $lang)
      {
         echo testlocale($lang);
         echo testlocale($lang.'.utf-8');
         echo testlocale($lang.'.iso885915');
         echo testlocale($lang.'.iso-8859-1');
      }
      echo '</ul>';
   }
   else
      echo 'gettext is not installed :(';
    


le seul résultat disponible est fr_FR.utf8.

Je me demandais si le test marchais bien. Dans ce cas je ne vois pas pourquoi gettext est activé pour une seule langue dans PHP info. Ou alors il est faux et dans ce cas, pouvez-vous me donner la liste des langues disponibles ?

Je vous remercie pour vos réponses.

Répondre