Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]konfiguracja wielu jezykow w zend
Forum PHP.pl > Forum > PHP > Frameworki
elmozaur
Witam.

poniewaz dopiero ucze sie zenda pytania moga wydac sie dziwne lub banalne za co z gory przepraszam

wygooglalem ze taki zapis w konfigu definiuje plugin translate i ustawia pole default na wartosc "en_US"
  1. resources.translate.default.locale = "en_US"

-czy to sie zgadza?
-czy potem moge to zmienic np poprzez metode _preDispatch w jakims pluginie?

- czy w konfigu(application.ini) moge zapisac defaultowa wartosc lang ? (tak by np defaultowym jezykiem dla strony byl pl i nie chodzi mi o locale tylko lang)

wygooglalem ze moge sobie wczytac konfig za pomoca
  1. $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');

- czy w takim pliku moge zapisac dowolna stala (jak pisze np resources.costam.costam = "testowa" to niestety dostaje blad)

prosze tylko o nie odsylanie do manuala na stronie zenda bo patrze na niego i troche malo z tego rozumie
yevaud
ja ostatnio popelnilem cos takiego w bootstrap
  1. protected function _initLocale()
  2. {
  3. $registry = Zend_Registry::getInstance();
  4.  
  5. $localeSession = new Zend_Session_Namespace('locale');
  6. if (empty($localeSession->locale) || !empty($_GET['lang']))
  7. {
  8. if (empty($_GET['lang']))
  9. $locale = new Zend_Locale();
  10. else
  11. $locale = new Zend_Locale($_GET['lang']);
  12.  
  13. $localeSession->locale = $locale;
  14. } else {
  15. $locale = $localeSession->locale;
  16. }
  17.  
  18. $translate = new Zend_Translate(array(
  19. 'adapter' => 'array',
  20. 'content' => '../application/data/locale/',
  21. 'scan' => Zend_Translate::LOCALE_FILENAME));
  22.  
  23. if($translate->isAvailable($locale))
  24. $translate->setLocale($locale);
  25.  
  26. $registry->set('Zend_Locale', $locale);
  27. $registry->set('Zend_Translate', $translate);
  28.  
  29.  
  30. return $locale;
  31. }


jezyk mozesz ustawiac np. ?lang=pl_PL
translacji w widokach uzywasz za pomoca pluginu ktory juz jest gotowy tzn
<?php echo $this->Translate('tekst'); ?>
elmozaur
ok sam mechanizm rozumie .
chodzilo mi tylko czy moge zdefiniowac sobie dowolna zmienna w application.in (np default.jezyk = "pl")
i potem albo w bootstrapie lub pluginie odczytac

edit: zreszta chyba nie robi roznicy czy z requesta pobiore pl_pl czy samo pl i tak moge to sobie przeksztalcic w dowolna forme za pomoca tablicy lub lokali
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.