Přechod na nový NetteTranslator
- miler
- Člen | 75
Ahoj,
používám NetteTranslator a rád bych ho aktualizoval na verzi 2.0.0.
V configu mám službu translator definovanou takhle:
services:
translator:
create: NetteTranslator\Gettext::getTranslator
setup:
- addFile(%appDir%/lang, frontend)
- NetteTranslator\Panel::register
Teď je to ale na pla-nette popsané trochu jinak a moc tomu nerozumím.
Já tu službu už v configu předávám jiné službě, jak to teď v té nové konfiguraci udělám, prosím?
Editoval miler (31. 3. 2013 0:47)
- castamir
- Člen | 629
V podstatě se toho pro tebe moc nemění. Zjednoduší se zápis, ale jinak to budeš moct používat vlastně úplně stejně.
#definice NetteTranslator
netteTranslator:
lang: cs
files:
frontend: '%appDir%/lang'
#pouziti NetteTranslator u dalsich sluzeb
services:
tvaSluzba: TvaTrida ( @netteTranslator.translator )
# nebo to nechas na auto-wiring
tvaSluzba: TvaTrida
Editoval castamir (31. 3. 2013 1:11)
- miler
- Člen | 75
Ještě jeden dotaz – po přechodu na novou verzi se potýkám s:
exception 'Nette\InvalidStateException' with message 'Language must be defined.'
in web\libs\Plugins\NetteTranslator\Gettext.php:102
ale pouze u AdminModule, u FrontModule to jde bez problémů, oba dědí od stejného BasePresenteru. V DebugBaru je normálně $lang nastavená.
- castamir
- Člen | 629
Nenastavuješ tam prázdný string? Třeba i nechtěně? Je fakt, že tohle ošetření by tam chybí. Tahle výjimka je vyhozená až jako důsledek.
Editoval castamir (31. 3. 2013 3:18)