Kdyby/Translation integrace … nejde mi překládat formulář
- stulda
- Člen | 8
Zdravím,
vím, že tu je toho spousta, ale pokaždé když něco zkusím tak to nejde. Projel jsem dokumentaci Kdyby/Translation a všechno mo jde. Ale chtěl bych překládat formuláře.
presenter
<?php
protected function createComponentNewIngForm() {
$form = $this->factory->create();
$form->onSuccess[] = function ($form) {
//$form->getPresenter()->redirect('Homepage:');
};
return $form;
}
?>
form
<?php
$form = new Form;
$form->setTranslator($this->translator);
$form->addText('nazev', 'messages.homepage.hello')
->setRequired('Please enter your username.');
$form->onSuccess[] = array($this, 'formSucceeded');
return $form;
?>
nad create mám
<?php
/** @var \Kdyby\Translation\Translator @inject */
private $translator;
?>
Ví někdo kde mi něco chybí nebo kde mám problém.
Předem děkuji
- David Matějka
- Moderator | 6445
Koukni do tracy panelu, kdyby/translation tam ma vlastni panel, ve kterym najdes jaky jazyk se pouziva, jake slovniky byly nalezeny atd., takze to ti napovi, kde je problem.
- jiri.pudil
- Nette Blogger | 1032
@inject
anotace fungují jen v presenterech a injektovaná
property musí být public
. Předej si tam ten translator raději
přes konstruktor.
- stulda
- Člen | 8
Tak to je fakt super :-) to je rychlost ;-) moc moc děkuji
Fakt mi to moc pomohlo :-) je pro další jako jsem já ;-) sem přidám jak jsem to vyřešil.
do form jsem přidal toto
<?php
protected $translator;
public function __construct(\Kdyby\Translation\Translator $translator) {
$this->translator = $translator;
}
?>
ps: jo jinak dávejte si pozor na správnost souborů ;-) pořád jsem přemýšlel proč je v panelu jeden soubor ignorovaný :-)
ještě jednou díky