Zdravim, mam dotaz na spravne pouziti $this->translator->domain("controlX") v komponente. Pres DI si do komponenty vytvorene pres Multiplier a IControlXFactory dostanu $translator.

Prozatim to resim touto cestou:

public function render()
{

    $this->template->setTranslator($this->translator->domain("controlX"));

    $this->template->item = $this->item;
    $this->template->setFile(__DIR__ . '/controlX.latte');
    $this->template->render();
}

ale nepripada mi to zrovna spravne. Cely problem je jen kvuli lenosti psat v sablone komponenty cele nazvy prekladovych klicu.

Je nejaka legitimnejsi cesta?

Diky za navrhy.

Přijde mi to naprosto v pořádku, nebál bych se být ještě línější a udělat si nějakou TraslatorFactory službu, která bude jenom volat $translator->domain() a pak

public function injectTranslatorFactory(TraslatorFactory $factory) { ... }

protected function attached($parent)
{
    parent::attached($parent);

    $fullName = $this->lookupPath(IPresenter::class);
    $this->setTranslator($this->traslatorFactory->create(str_replace('-', '.', $fullName)))
}

You must first log in to participate in this discussion