Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour
la doc indique que la méthode Zend_Locale::setLocale('fr) se charge de détecter la locale du client et si il ne la trouve pas, alors applique la locale 'fr'.
Mais je ne sais pas comment récupérer l'instance Zend_Locale pour la transmettre à Zend_Translate à Zend_Date. Le code indique que setLocale() retourne void.
Cordialement
Ami
Dernière modification par ami (16-06-2009 10:00:43)
Hors ligne
Salut,
Zend_Locale::setLocale('fr) va bloquer tes locales en FR et ne va pas s'occuper des langues de ton navigateurs. Si tu veux les langues acceptées par le navigateur, il faut utiliser Zend_Locale::getBrowser() puis bloquer celle qui te convient le mieux.
Pour utiliser les mêmes locales dans ton application, le plus simple est d'utiliser le registre :
$lang = "fr_FR"; $locale = new Zend_Locale($lang); Zend_Registry::set('Zend_Locale',$locale);
Si mes souvenirs sont bons, Zend_Date va regarder dans la registre s'il trouve la clé "Zend_Locale" et l'utilise dans ce cas.
Tu peux aussi à tout moment récupérer les locales avec :
Zend_Registry::get('Zend_Locale');
++
Hors ligne
ubini a écrit:
Zend_Locale::setLocale('fr) va bloquer tes locales en FR et ne va pas s'occuper des langues de ton navigateurs.
Non, ce n'est pas ce que dit la documentation ::
Setting a default locale :In the case that no locale can be detected, automatically the locale de will be used. Otherwise, the detected locale will be used.
Donc Zend_Locale::setLocale() c'est bien, mais je ne sais toujours pas comment récupérer la classe locale.
Cordialement
Ami
Hors ligne
Tu parles alors de
Zend_Locale::setDefault('fr');
est pas de la méthode non statique setLocale.
Hors ligne
Pages: 1