Chciałbym użyć systemu szablonów Twig do szablonu moich wiadomości e-mail. Ustawienia regionalne wiadomości e-mail powinny opierać się na ustawieniach użytkownika, a nie na ustawieniach regionalnych lub sesji. Jak mogę wymusić ustawienia regionalne podczas renderowania szablonu Twig?Wymuszenie lokalizacji gałązki
Instrukcja wspomina, jak to force the locale for the Translator. Ale chciałbym przekazać te ustawienia narodowe do metody render(), aby tłumaczenia w szablonie gałązki były renderowane w tym języku.
To różni się od użycia w w szablonie, ponieważ myślę, że to wymusza tłumaczenie wewnątrz szablonu w określonych ustawieniach narodowych.
Więc, biorąc przykład z Symfony, szukam czegoś takiego:
public function indexAction($name)
{
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody(
$this->renderView(
'HelloBundle:Hello:email.txt.twig',
array('name' => $name),
'nl_NL' // <-- This would be nice!
)
)
;
$this->get('mailer')->send($message);
return $this->render(...);
}
Tak, ale nie sądzę, że szablon automatycznie użyje tego ustawienia narodowego dla bloków {% trans%}, prawda? – rolandow
nie, możesz zmusić filtr trans do używania ustawień narodowych, które chcesz '{{" Hello "| trans ({}," messages ", locale)}}}, komponent translatora użyje ustawień narodowych zdefiniowanych w żądaniu automatycznie, jeśli chcesz to zmienić '$ this-> get ('translator') -> setLocale ($ locale);' –