Translator – dotazy a hledání ideálního doplňku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
nanuqcz
Člen | 822
+
0
-

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:

  1. 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řeba cs.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)
  2. 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. Soubor base.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').
  3. 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
+
0
-

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
+
0
-

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 :)

nanuqcz
Člen | 822
+
0
-

ad panel do debug baru: Vůbec mě nenapadlo, že by k tomu mohl být panel do debug baru. Ani teď mě nenapadá, k čemu by vlastně byl dobrý a co by se v něm zobrazovalo.

ad extraktory: Co je to „extraktor“?

enumag
Člen | 2118
+
0
-

Podle názvu bych si tipnul že extractor proleze šablony, najde všechno co se má přeložit a vytvoří z toho soubor(y) kam stačí doplnit překlady. Je to tak Filipe? :-)

nanuqcz
Člen | 822
+
0
-

To mě napadlo, ale řekl jsem si, že by se to stejně muselo chovat nepředvídatelně, když už by si s tím dal někdo tu práci. Tak jsem to zase zavrhl :-)

David Matějka
Moderator | 6445
+
0
-

ad debug panel: muzou se tam treba vypisovat zpravy, pro ktere nebyl nalezen preklad + tam muze byt i primo nastroj na jejich preklad :)