Select items vs translator
- Skřetík
- Člen | 12
Ahoj, vytrvale bojuji se selecty, a překlady v setItems (resp. items). Ta idea, že se bude překládat je super, jenže dost často to překládat již nechci (hodnoty jsou z databáze, alternativně z enumů).
Metod jak se toho zbavit používám sice víc:
$form->addSelect('size', $form->getTranslator()->translate('velikost'), $sizes)->setTranslator();
$form->addSelect('id', 'name', array_map(fn($item) => Html::el()->setText($item), $sizes));
Ale je to pořád hodně narovnávák na ohejbák. Tohle https://github.com/…electBox.php#L94 je prostě past. Nešlo by to nějakou volbou vypnout? Pravda, SelectBox aspoň není final class, takže by šlo teoreticky extendnout SelectBox, a přepsat getControl() (což je nicméně trochu neštěstí protože kvůli řádku č. 94 musím přepsat celou metodu), ale pořád mi přijde že ten usecase „nechci překládat select/checkboxlist“ je docela častý.
- David Grudl
- Nette Core | 8282
V kódu vidím, že se překlad labelu dělá přes translator formuláře, ne prvku.