Kdyby translator – prekladanie snippetov s prefixovaným translátorom
- Čamo
- Člen | 798
Zdravím,
narazil som dnes na jeden ošemetný problém s prekladom v snippetoch.
Mám napr. takúto šablonu:
{translator front}
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>{_default.default.h1}</h1>
{snippet text}
<div>{_default.default.snippet}</div>
{/snippet}
<div>{_default.default.copyright}</div>
</body>
</html>
{/translator}
Pri normálnom requeste sa všetko správne preloží. Ale pri ajaxe sa odignoruje nastavenie prefixu translatora {translator front}, a z cesty k prekladu vypadne prefix front. Vie niekto ako sa takáto situácia má správne ošetriť? Už mám 3/4 projektu preloženého, tak dúfam, že nebude treba ten prefix rušiť. Viem, že je možné nastaviť makro {translator front}{/translator} v snippete, ale musím ho zároveň aj uzavrieť, čo má za následok, že zvyšná časť šablony {_default.default.copyright} je zase bez prefixu.
ďakujem.
Editoval Čamo (10. 5. 2017 15:58)
- David Matějka
- Moderator | 6445
ahoj,
melo by jit, ze by si tu domain nastavil rovnou v presenteru a do sablony poslal rovnou ten prefixovany translator, zhruba
abstract class BasePresenter ...
{
/** Kdyby\Translation\Translator @inject */
public $translator;
public function beforeRender()
{
$this->template->setTranslator($this->translator->domain('front'));
}
}