Nastavení value tlačítka přes proměnnou

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

Ahoj,

používám Kdyby\Translate na přeložení stránky. Nyní došlo k překladu formulářových prvků.
Když web byl jednojazyčný tak jsem to udělal takto

// V komponentě jako $form->addSubmit('odeslat');
{input odeslat, value => 'Odeslat email'}

Jak mohu nastavit překlad tohoto tlačítka? Pokusů bylo hodně ale vždy byly neúspěšné…

// Chyba: Nelíbí se mu více závorek
{input odeslat, value => {_form.button.sendEmail}}
// Nezobrazí se vůbec
$form->addSubmit('odeslat')->setAttribute('value', $this->translator->translate('form.button.sendEmail'));

// Ano i toto
$form->addSubmit('odeslat')->setValue($this->translator->translate('form.button.sendEmail'));

Nechce se mi to dělat tímto způsobem:

<input type="submit" value="{_form.button.sendEmail}">

Což by taky ale postrádalo význam Nette.

Je nějaká možnost jak propsat překlad do tlačítka?

David Matějka
Moderator | 6445
+
+1
-

zkus

{input odeslat, value=> $template->translate('form.button.sendEmail')}

nebo

<input n:name="odeslat" value="{_form.button.sendEmail}"/>

v php pri pridavani pak pomoci druheho parametru addSubmit

$form->addSubmit('odeslat', 'form.button.sendEmail');

nebo pozdeji nastavenim caption

$button->caption = 'form.button.sendEmail';
filipsedivy
Člen | 37
+
0
-

Výborně, první možnost :)

Díky