Я использую Symfony 2.6, и я пытаюсь использовать переводы внутри my \ Twig_Extension, но переводчик всегда использует и возвращает текст, переведенный по умолчанию. (В моем случае "EN")Переводчик Symfony2 внутри Twig_Extension
Я создал службу в services.yml:
utils.twig_extension:
class: Skaphandrus\AppBundle\Twig\UtilsExtension
public: false
arguments: ["@service_container", "@translator.default"]
tags:
- { name: twig.extension, alias: utils.twig_extension }
и внутри моего расширения:
private $container;
private $translator;
public function __construct($container, Translator $translator) {
$this->container = $container;
$this->translator = $translator;
}
А внутри моего метода у меня есть:
return $this->translator->trans('message');
Но когда я запускаю код, он всегда возвращает локальное сообщение «EN».
Заранее благодарим за любую помощь.
Являетесь ли вы текущей локалью правильной в Twig? Просто добавьте '{{app.request.locale}}', чтобы написать его. –
Вы говорите мне передать языковой стандарт методу расширения? Но расширение не знает текущий язык от пользователя? –
Я имею в виду, каков ваш текущий язык в вашем шаблоне Twig. Каков результат '{{app.request.locale}}' в шаблоне Twig, который использует расширение Twig. –