contributte/translation viac jazycny formular
- oTactics
- Člen | 4
Zdravim,
riesim jeden mensi problem a stale neviem prist na to, co by bolo najidealnejsie
riesenie, takze preto som sa rozhodol napisat sem. Problem je nasledujuci, mam
webovu aplikaciu, ktora ma viacero jazykov, no a formulare mi robia trochu
starosti. Ak pouzivam $form->setTranslator($translator)
, tak to
robi celkom bordel. Docital som sa tu na fore, ze by bolo najlepsie tuto funkciu
nepouzivat a prekladat si to sam, lenze ja nemam ziaden napad, ako to spravit,
nasla by sa nejaka chytra hlava, ktora by mi poradila, ako by to bolo fajn?
Pripadne by ma zaujimalo, ako to je vyriesene napriklad tu, kedze aj tu je
moznost viacerych jazykov.
Dakujem.
Editoval oTactics (14. 7. 2020 2:29)
- chemix
- Nette Core | 1310
@oTactics stejne jako ali, pouzivam setTranslator a vse funguje jak ma.
public function createComponentContactForm()
{
$form = new Form();
$form->setTranslator($this->translator->domain('form.contact'));
$form->addText('name', 'name');
$form->addText('contact', 'email')->setRequired('email-R');
$form->addTextArea('note', 'note');
$form->addSubmit('actionSend', 'send');
$form->onSuccess[] = function ($form, $values) {
$contact = $this->processForm($values);
($this->onSave)($this, $contact);
};
return $form;
}
Jedine co bylo treba prekladat s premyslenim byli listy ?
// nette 2.4
$delivery = $this->orderFacade->findDeliveryTypes($this->locale); // uz vraci prelozene texty
$form->addRadioList('delivery', "delivery", $delivery)->setRequired('delivery-R')->setTranslator(null);
ale je mozne ze se to zmenilo v nette 3 (jeste jsem nezkousel)