Nefunguje translator u formulare
- MelkorNemesis
- Člen | 36
Ahoj, uz dva dny se trapim s prekladem aplikace.
Pouzivam NetteGettextExtractor a GetTextTranslator.
Sablony se mi uspesne prekladaji, ale problem mam u formularu.
class EshopForm extends AppForm {
public function __construct(IComponentContainer $parent = NULL, $name = NULL) {
parent::__construct($parent, $name);
$this->setTranslator(new GettextTranslator('../app/locale/translation.mo', 'cs'));
}
}
Nastavim si translator, vytvorim soubor *.po, udelam z nej *.mo. A php mi porad hlasi u kazdeho labelu
Parse error: syntax error, unexpected ';' in /Users/michalsevcik/Sites/igi/libs/Eshop/GettextTranslator-v0.3.php(59) : eval()'d code on line 1
Notice: Undefined variable: plural in /Users/michalsevcik/Sites/igi/libs/Eshop/GettextTranslator-v0.3.php on line 60
Notice: Undefined index: in /Users/michalsevcik/Sites/igi/libs/Eshop/GettextTranslator-v0.3.php on line 208
Notice: Undefined index: in /Users/michalsevcik/Sites/igi/libs/Eshop/GettextTranslator-v0.3.php on line 217
pritom co sem koukal, tak v *.mo souboru ty indexy pro formular jsou.
Muze mi nekdo poradit co s tim? Prosel sem vsechny mozne diskuze, ale nikde o tom nic neni.
Diky a jsem s pozdravem, Michal Sevcik
- despiq
- Člen | 320
NetteGettextExtractor neexportuje pluraly, alespon ne ceske tzn trojite, vlastne myslim ze ani dvojite
v nastaveni pluralu je pak taky chyba, chybej tam zavorky ma to bejt
nplurals=3; plural=(n==1) ? 0 : ((n>=2 && n<=4) ? 1 : 2);
pokud te ale pluraly netankujou tak prestan pouzivat %d a mas to
- MelkorNemesis
- Člen | 36
Plural tam je jeden – navic spatne pouzity. Ale o to nejde, ten to tusim nejak zchramstlo.
Ale kde by se u formularovych prvku vzaly pluraly?
Ten formular vypada takhle
$this->addText('name', 'Název skupiny')
->addRule(Form::FILLED, 'Název skupiny nesmí být prázdný!')
;
$this->addCheckbox('visibility', ' Viditelnost');
$this->addText('priority', 'Priorita');
$this->addSubmit('send', 'Upravit');
on si to nejak sam neprelozi, kdyz udelam $this->addText(‚name‘, $this->translator->translate(‚Název skupiny‘)), tak to jede. Ale to je uplne zbytecne a funkce setTranslator() ztraci vyznam, ne? Doufam, ze to ma prekladat automaticky.
- MelkorNemesis
- Člen | 36
No ja vidim, ze to je chyba pluralu, ale tu chybu to hlasi pouze u formularu. Dyt ono si to z tech formularu samo vytahne texty na preklad a pak se je to snazi samo aplikovat, tak proc to na me rve? Ja nikde zadny plural nenastavil.
Jeste prilozim obrazek s celou situaci, kdyby nekoho napadlo, proc to tak skarede krici.
*.mo je samozrejme vygenerovany znovu bez pluralu (byl jen jeden).
"":http://skitch.com/…anslation.po