Začarovaný kruh překladů pravidel
- kleinpetr
- Člen | 480
Ahoj,
jelikož se teď snažím vytvořit nějaké komplexní řešení překladů formulářových pravidel, tak jsem narazil na situaci, která pravděpodobně nemá řešení. Budu rád když se nad tím zkusíte zamyslet a popřípadě mi poradíte jak by se to dalo řešit.
Příklad č.1
label:
name: "Jméno"
alert:
required: "%label nesmí být prázdný"
1. možnost
$this->addText('name','label.name')
->setRequired('alert.required'); //vypíše label.name nesmí být prázdný
2.možnost
$label = $this->translator->translate('label.name');
$this->addText('name',$label)
->setRequired('alert.required'); //tuto metodu momentálně používám a funguje, nicméně mám setnutý translator na celý formulář a jelikož je label už přeložený tak vzniká error v překladu (nenalezený překlad pro key: "Jméno")
Příklad č.2
label:
name: "Jméno"
alert:
required: "%element% nesmí být prázdný"
$nameLabel = 'label.name';
$this->addText('name',$nameLabel)
->setRequired($translator->translate('alert.required',['element'=>$translator->translate($nameLabel)])) //také funguje, ale zase nemůže nalézt langKey: "Jméno nesmí být prázdný"
Takže jsem vlastně zjistil, že pokaždé vznikne nějaký error v hledání překladů, jelikož je nastavený i translator pro celý form..
Jak řešíte překlady pravidel vy ? Díky za tipy.
Editoval kleinpetr (13. 11. 2015 0:23)
- kleinpetr
- Člen | 480
Teď jsem tě moc nepochopil.. Proč mám dělat form jakoby bez překladače ? Takže mám jakoby psát pro každý prvek alert zvlášť např: alert.email: „Email je ve špatném formátu“.. To mě samozřejmě napadlo jako první, ale chtěl jsem to takové více obecné, ale zkrátka jsem nepřišel na to jak dopřeložit i ten label aby nevznikal nikde error.