Translator – dotazy a hledání ideálního doplňku
- nanuqcz
- Člen | 822
Ahoj,
chtěl bych ve své aplikaci použít nějaký translator na překlad
formulářů, flashMessages, textů v šabloně. V Addons jsem našel dva
doplňky, pak jsem četl na internetu, že lze použít i Zend_Translator a
určitě existují i další. Nikde jsem ale nenašel tyto informace:
- Je někde v Nette / v nějakém doplňku řešeno automatické
kompilování souboru s překladama do .mo podoby? Ve složce
app/translates
bych měl třebacs.neon
(formát.po
se mi zdá strašně nepřehledný) a při každé jeho změně by se mi automaticky aktualizoval/vytvořil i binární .mo soubor? Stejně, jak to dělá nette se šablonama (updatuju .latte soubor, automaticky se vygeneruje nová zkompilovaná šablona v adresáři temp) - Lze načítat více souborů s překlady najednou? Např. chci mít soubory
s překlady:
base.mo
,adminModule.mo
,eshopModule.mo
,fooBar.mo
a načítat je podle potřeby. Souborbase.mo
načítat vždy, a k němu pak ostatní soubory podle aktuálního modulu / ročního období / whatever. Něco jako$translator->addFile('fooBar.mo')
. - Jak je řešeno více tvarů plurálů? Např „Máte 1 novou zprávu“,
„Máte 2 nové zprávy“, „Máte 10 nových zpráv“? Našel jsem
příklad kódu
$translator->translate("This is %s text", array("This is %s texts", 6), 'translation');
, takže by měl fungovat i případ s více tvary? Např.$translator->translate("Máte %d novou zprávu", array("Máte %d nové zprávy", 2), array("Máte %d nových zpráv", 5), $messageCount);
Díky za odpovědi
- enumag
- Člen | 2118
Zkus Kdyby/Translation. Nemám s ním dost zkušeností abych ti odpovědět podrobně ale tvé požadavky by to mělo splňovat.
Editoval enumag (3. 10. 2013 18:02)
- Filip Procházka
- Moderator | 4668
Kdyby/Translation tohle všechno řeší. Tedy, až na to kompilování, to dělá maličko jinak, ale troufl bych si tvrdit, že to není horší řešení (nevymýšlím žádné kolo, dělá to tak celá Symfony komunita).
Ovšem ten doplněk má trochu svéráznou filosofii. Jednak odmítám psát pro něj panel do debug baru, protože to považuji za neskutečně odporné a taky odmítám psát extraktory, protože jsou dle mého špatná cesta. Mám vymyšleného něco lepšího, ale zatím to mám jen v rukávu :)
- David Matějka
- Moderator | 6445
ad debug panel: muzou se tam treba vypisovat zpravy, pro ktere nebyl nalezen preklad + tam muze byt i primo nastroj na jejich preklad :)