Dev Plugin - Encore un problème de traduction à l'installation

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Dev Plugin - Encore un problème de traduction à l'installation

    Bonjour à tous !

    Voilà j'ai un soucis avec un message perso affiché à l'installation de mon composant.
    La constante de langue n'est pas traduite alors que le fichier de langue est "clean" est bien chargé.

    Voici le code de la méthode postFlight :

    Code PHP:

    function postflight($parent) {

        
    $lang =& JFactory::getLanguage();
        
    $instal =& JInstaller::getInstance();
        
    $load $lang->load($instal->extensionJPATH_ADMINISTRATOR);
            
        
    var_dump($load); //Affiche TRUE
            
        
    print JText::_('PLG_EXTENSION_INSTALL'); //retourne "PLG_EXTENSION_INSTALL"

    Qui peut me dire ce que je ne fais pas ou que je ne devrais pas faire... ?
    Je suis là dessus depuis ce matin çà me gave copieusement.

    Merci à tous pour votre aide et bonne journée à tous !

    Mickael

  • #2
    Re : Dev Plugin - Encore un problème de traduction à l'installation

    Bonjour,

    On lit:
    j'ai un soucis avec un message perso affiché à l'installation de mon composant.
    et un peu plus loin...
    Code PHP:
    print JText::_('PLG_EXTENSION_INSTALL'); //retourne "PLG_EXTENSION_INSTALL" 
    D'où: s'agit-il d'un composant ou d'un plugin ?

    Et quid de la méthode loadLanguage paramétrée ? http://api.joomla.fr/joomla25/de/d3f...02a0e6b5642350
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Dev Plugin - Encore un problème de traduction à l'installation

      re

      Ah oui désolé, oui c'est bien un plugin.

      J'ai testé JPlugin::loadLanguage, mais ça ne fonctionne pas.

      La fonction retourne FALSE et j'ai les messages d'erreurs suivants :

      * Notice: Undefined property: plgSystemVerifheadtagsInstallerScript::$_type in C:\wamp\www\joomtest31\libraries\cms\plugin\plugin .php on line 136
      * Notice: Undefined property: plgSystemVerifheadtagsInstallerScript::$_name in C:\wamp\www\joomtest31\libraries\cms\plugin\plugin .php on line 136
      * Notice: Undefined property: plgSystemVerifheadtagsInstallerScript::$_type in C:\wamp\www\joomtest31\libraries\cms\plugin\plugin .php on line 142
      * Notice: Undefined property: plgSystemVerifheadtagsInstallerScript::$_name in C:\wamp\www\joomtest31\libraries\cms\plugin\plugin .php on line 142

      Voici ce que j'ai fais au niveau du code :

      Code PHP:
      $lang =& JFactory::getLanguage();
      $instal =& JInstaller::getInstance();

      $load JPlugin::loadLanguage($instal->extensionJPATH_ADMINISTRATOR); 

      Commentaire


      • #4
        Re : Dev Plugin - Encore un problème de traduction à l'installation

        Si la fonction retourne FALSE, c'est que le fichier langue n'a pas été trouvé ou que son nom ne correspond pas.
        Par exemple, pour un plugin système, le nom de fichier est fr-FR.plg_system_lenomduplugin.ini, le tien doit avoir une forme de ce type fr-FR.plg_kekchoz_nomduplugin.ini.

        L'appel au chargement de langue est donc sous la forme:
        Code PHP:
        $lang JFactory::getLanguage();
        $tag $lang->getTag();
        $ext 'plg_kekchoz_nomduplugin';
        $load$lang->load$extJPATH_ADMINISTRATOR$tagtrue ); 
        le kekchoz étant la classe du plugin (system, content, spécifique à une extension...)

        Note, depuis PHP 5.3 l'utilisation de références pour des objets retourne des warnings: $lng =& JFactory::getLanguage() est incorrect, mais $lng = JFactory::getLanguage() est correct. Depuis PHP 5.0, les objets sont toujours des références et donc on ne devrait pas forcer une référence de référence.
        Dernière édition par jisse03 à 05/07/2014, 00h19
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Dev Plugin - Encore un problème de traduction à l'installation

          La valeur de la constante utilisée à l'installation d'une extension (habituellement dans la description) exemple:
          <description>PLG_CONTENT_MYPLUGIN_XML_DESCRIPTIO N</description>
          ne sera affichée lors de l'installation que si l'extension contient un dossier "language" contenant les fichiers de langue
          <folder>language</folder>

          lui même structuré par tag
          language/en-GB/en-GB.plg_content_myplugin.ini + en-GB.plg_content_myplugin.sys.ini
          Jean-Marie Simonet / infograf768
          Joomla co-fondateur. Joomla Production Working Group.
          Sauf demande explicite de ma part, merci de ne pas utiliser de Message Privé pour poser des questions. Le forum est là pour ça.

          Commentaire


          • #6
            Re : Dev Plugin - Encore un problème de traduction à l'installation

            re

            Merci beaucoup Jean-Marie Simonet, cette solution fonctionne !

            J'ai créé un sous-dossier "language" avec 2 sous-dossier : un pour chaque langue.

            Par contre j'ai quand même du laisser une copie des fichiers à la racine du dossier d’installation, ça fait "doublons" mais si je ne fais pas ça Joomla! me balance des messages d'avertissement à l'installation et à la désinstallation... bien que ça fonctionne.

            Alors pour récapituler :
            - 1 sous-dossier "language" avec 2 sous-dossier contenant les fichiers de langue;
            - les même fichiers de langue présent à la racine du package;
            - et le code suivant dans la fonction postFlight :

            Code PHP:
            $lang =& JFactory::getLanguage();
            $instal =& JInstaller::getInstance();
                    
            $load $lang->load($instal->extensionJPATH_ADMINISTRATOR$lang->getTag(), TRUE); 
            Merci pour votre aide et très bon week-end !

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X