Comment forcer la langue en-GB a l'installation d'un composant

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Comment forcer la langue en-GB a l'installation d'un composant

    Bonjour a tous,

    je reviens ici avec un theme recurrent. Mon script d'installation de mon composant (lance par <scriptfile>) marche sous j1.7 mais pas sous j2.5.
    en fait, mon script doit detecter si le site admin (back end) a pour langage l'anglais (tag = 'en-GB'). Si non, alors on doit charger tous les fichiers de langue anglaise pour l'installation du composant.

    le script suivant - dans la fonction preflight() - fonction sous j1.7 mais plus sous j2.5...pourquoi ???
    Code:
    $lang =& JFactory::getLanguage();
    if($lang->getTag() != 'en-GB'){
      $extension = 'com_rgtcis';
      $base_dir = JPATH_ADMINISTRATOR;
      $language_tag = 'en-GB';
      $reload = true;
      $lang->load($extension, $base_dir, $language_tag, $reload);
    }
    j'ai essayer de le modifier afin qu'il m'indique le probleme. En gros le $lang->load() ne fonctionne pas et me retourne un false/null au lieu de 1 (true)

    mon test est effectue sous j2.5 francais.

    j'ai effectue un test sur l'existance du fichier a charger, ainsi que sur la veracite du folder...tout est ok...

    voici mon code actuel de ma fonction preflight() de mon script d'installation de mon composant:
    Code:
    $lang =& JFactory::getLanguage();
    $ltag = $lang->getTag();
    
    // retourne 'fr-FR'
    echo "<p>Language Tag: ".$ltag."</p>";
    		
    if($ltag != 'en-GB') {
    
     // Load all en-GB translation of component
     $myparent = $parent->getParent();
     $this->root_path = $myparent->getPath('source');
     $base_dir = $this->root_path.DS.'admin'.DS.'language'.DS;
     
     // le repertoire existe bien
     echo "<p>folder exists: ".JFolder::exists($base_dir.'en-GB')."</p>";
    
     $f = $base_dir.'en-GB'.DS.'en-GB'.'.com_rgtcis.ini';
     
     // le fichier INI existe bien
     echo "<p>file exists (".$f."): ".JFile::exists($f)."</p>";
    
     $ltag = 'en-GB';
     $reload = true;
     }
    		
     $res = $lang->load($f);
     
     // retourne $res vide, donc false :(
     echo "<p>Result: ".$res."</p>";
    
     // cette string s'affiche en francais et pas en anglais :(		
     echo "<p>Test: ".JText::_('COM_RGTCIS_EXTENSION_STATUS_SUCCESS')."</p>";
    web: http://www.korcule-kolieska.sk
    What does not kill you, makes you stronger.

  • #2
    Re : Comment forcer la langue en-GB a l'installation d'un composant

    A priori la meilleure facon d'eviter le probleme est de copier tous les fichiers de traduction (du composant uniquement) en premier lieu. Ensuite de faire le test sur la langue par defaut.
    cela marche sous j1.7 et j2.5 dans mon cas.
    web: http://www.korcule-kolieska.sk
    What does not kill you, makes you stronger.

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X