Lokalizace formulářů a Helpery

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

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
+
0
-

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
+
0
-
$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')));