Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-10-2011 19:24:52

siriu
Membre
Date d'inscription: 17-05-2011
Messages: 55

Problème de débutant

Bonjour,

J'essaie de mettre en place un système de traduction via gettext sur Zend..

En suivant des tutos, j'ai ajouté notamment dans mon bootstrap ...


Code:

    protected function _initTranslate()
    {
        $translate = new Zend_Translate('gettext',
                    APPLICATION_PATH . "/langs/",
                    null,
                    array('scan' => Zend_Translate::LOCALE_DIRECTORY));
        
        $registry = Zend_Registry::getInstance();
        $registry->set('Zend_Translate', $translate);
        $translate->setLocale('en');
    }
    
    
    public function _initRoutes()
    {
        $this->bootstrap('FrontController');
        $this->_frontController = $this->getResource('FrontController');
        $router = $this->_frontController->getRouter();

        $langRoute = new Zend_Controller_Router_Route(
            ':lang/',
            array(
                'lang' => 'fr',
            )
        );

        $defaultRoute = new Zend_Controller_Router_Route(
            ':controller/:action',
            array(
                'module'=>'default',
                'controller'=>'index',
                'action'=>'index'
            )
        );

        $defaultRoute = $langRoute->chain($defaultRoute);

        $router->addRoute('langRoute', $langRoute);
        $router->addRoute('defaultRoute', $defaultRoute);
    }
    
    protected function _initLanguage()
    {
        $front = Zend_Controller_Front::getInstance();
        $front->registerPlugin(new My_Controller_Plugin_Language());
    }

Lorsque je suis dans une vue si je fais

Code:

 $this->translate("ma phrase");

Je n'ai pas d'erreur mais par contre, je n'arrives pas à avoir accès à la méthode "plural" de "translate"


En clair si je test dans mon bootstrap

Code:

 echo $translate->plural('table', 'tables', 10, "fr");

ça fonctionne mais si je met dans une vue

Code:

 echo $this->translate->plural('table', 'tables', 10, "fr");

J'ai cette erreur,

Code:

Fatal error: Call to a member function plural() on a non-object in

Voyez vous pourquoi ?

Merci par avance pour votre précieuse aide smile

Dernière modification par siriu (31-10-2011 19:27:16)

Hors ligne

 

#2 02-11-2011 18:15:40

My_Sic
Membre
Date d'inscription: 06-09-2010
Messages: 49
Site web

Re: Problème de débutant

Remplace tout simplement :

Code:

 echo $this->translate->plural('table', 'tables', 10, "fr");

par

Code:

 echo $this->translate()->plural('table', 'tables', 10, "fr");

http://www.centurion-project.org: Full stack Framework based on Zend Framework; led by:
http://www.octaveoctave.com: an enthusiastic web agency full of passionate.
http://www.cache-pistache.com: French blog on ZF and SF perfomance

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages