Witam,
mam aplikację dużo widoków, dużo kontrolerów aby np: odwołać się do języka robione jest to w ten sposób:
  1. $locale = Zend_Registry::get('locale');
  2. $listyCH = $listyModel->getList($locale->getLanguage(), 'chlopiec');
  3. $listyDZ = $listyModel->getList($locale->getLanguage(), 'dziewczynka');


Teraz mam problem ponieważ $locale->getLanguage() zawsze wyświetla 'pl' mimo że strona jest w języku angielskim. Tak wygląda kod Translate:
  1. public function translate () {
  2. if ($this->_translate == null) {
  3. $this->_translate = new Zend_Translate ('gettext', ROOT_PATH.'/application/default/views/languages', null, array ('scan' => Zend_Translate::LOCALE_FILENAME));
  4. $fc = Zend_Controller_Front::getInstance ();
  5. $module = $fc->getDefaultModule ();
  6. $locale = Zend_Registry::get ('locale');
  7. $language = $locale->getLanguage ();
  8. $session = new Zend_Session_Namespace ('Listy');
  9. // $locale = new Zend_Locale ();
  10. if (isset ($session->language)) {
  11. $this->_translate->setLocale ($session->language);
  12. }
  13. else {
  14. switch ($_SERVER['SERVER_NAME']) {
  15. default:
  16. $this->_translate->setLocale ('en');
  17. break;
  18. case 'xxx.pl':
  19. case 'xxx.localhost':
  20. case 'www.xxx.pl':
  21. $this->_translate->setLocale ('pl');
  22. break;
  23. }
  24. }
  25. );
  26.  
  27. }
  28. return $this->_translate;
  29. }


Jak zrobić to w prosty sposób tak aby obiekt
  1. $locale->getLanguage()

Wyświetlał odpowiednio dla wersji angielskiej 'EN' i dla polskiej 'PL'?