Select items vs translator

Skřetík
Člen | 12
+
+2
-

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:

  1. $form->addSelect('size', $form->getTranslator()->translate('velikost'), $sizes)->setTranslator();
  2. $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ý.

dms
Člen | 98
+
0
-

řešil jsem přesně to samé zde :) https://forum.nette.org/…lady-options

David Grudl
Nette Core | 8282
+
0
-

Vypnutí překladače pomocí setTranslator(null) nefunguje?

MajklNajt
Člen | 516
+
0
-

David Grudl napsal(a):

Vypnutí překladače pomocí setTranslator(null) nefunguje?

toto vypne preklad pre celý input/select

ja otázku chápem tak, že chce vypnúť iba preklad jednotlivých options (teda aby sa label prekladal)

David Grudl
Nette Core | 8282
+
+2
-

V kódu vidím, že se překlad labelu dělá přes translator formuláře, ne prvku.

https://github.com/…eControl.php#L251

MajklNajt
Člen | 516
+
+2
-

sorry, skutočne si to dávno (už v 3.0) zmenil, asi som zaspal dobu, takže beriem späť :)