Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-02-2011 10:53:08

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Récupération automatique de Zend_Locale ?

Bonjour,

Je fais suite à mon message ici (http://www.z-f.fr/forum/viewtopic.php?pid=31478#p31478), avec une question sur Zend_Locale et les modules de traductions.

Comme je comprends la doc, Zend_Translate est censé récupérer Zend_Locale comme locale à utiliser. Mon plugin effectue quelque chose dans routeStartup, donc avant la traduction de la route (ou n'importe quelle traduction). Logiquement, si je change la locale contenue dans le registre (enregistrée avec la clé Zend_Locale), cette locale sera automatiquement utilsiée par tous les Zend_Translate et je n'aurais donc pas besoin de modifier manuellement la locale de mes différents Zend_Translate.

Code:

public function routeStartup(Zend_Controller_Request_Abstract $request)
        {
            $locale = Zend_Registry::get('Zend_Locale');
            $translate = Zend_Registry::get('Zend_Translate');

            // Trouve une nouvelle locale
            $locale->setLocale(quelqueChose);

            Zend_Controller_Front::getInstance()->getRouter()->setGlobalParam('lang', $locale->getLanguage());
            
            //Zend_Controller_Router_Route::getDefaultTranslator()->setLocale($locale);
            //$translate->setLocale($locale);
        }

Les deux dernières lignes, normalemenet, ne devrait pas avoir besoin d'être appelées puisque, par défaut, elles devraient utiliser l'objet Zend_Locale stockée dans le registre (et la modification est répercutée automatiquement). Or, je suis obligé de mettre à jour la locale, pourquoi ?

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