Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework]konfiguracja wielu jezykow w zend
elmozaur
post 1.07.2011, 12:33:36
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
yevaud
post 1.07.2011, 14:45:04
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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'); ?>
Go to the top of the page
+Quote Post
elmozaur
post 2.07.2011, 12:07:13
Post #3





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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


Ten post edytował elmozaur 2.07.2011, 12:09:19
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.05.2024 - 17:40