Lokalizace formulářů a Helpery
- david.kmenta
- Člen | 1
Ahoj,
narazil jsem na problém, ale zatím jsem nenarazil na řešení.. Potřebuji formuláře multijazyčně, takže jsem si nastavil překladač pomocí setTranslator. To funguje bez problémů, ale u některých překladů potřebuji, aby bylo první písmeno kapitálkou. A zde je problém – jak mám použít Strings::firstUpper()? Když tuto metodu použiji například v setAttribute:
<?php
$this->form->addText('login')->setAttribute('placeholder', Nette\Utils\Strings::firstUpper('login_name'));
?>
Tak to samozřejmě nefunguje..
Nerad bych to řešil až v šabloně, nepřijde mi to správné.
Díky za rady!
- Tomáš Votruba
- Moderator | 1114
Ahoj, pokud nekdy vypisujes text malym a nekdy velkym, udelal bych 2 polozky. Tve reseni by byla skryta zavislost a kdy nekdo chtel (napr. ty za par mesicu) zmenit velikost, mohl by dlouho hledat logiku.
Muzes mit napr. login_name a login_name_c (jako capital).
Editoval Tomáš Votruba (10. 5. 2014 10:26)
- ji_ri_k
- Člen | 44
$this->form->addText('login')->setAttribute('placeholder', Nette\Utils\Strings::firstUpper($form->getTranslator()->translate('login_name')));
nebo rovnou alias (jestli používáš)
$this->form->addText('login')->setAttribute('placeholder', Nette\Utils\Strings::firstUpper(_('login_name')));