Silex: translation not working in Twig

Viewed 623

Currently, I develop a website by using the PHP micro-framework Silex. Now I try to use "TranslationServiceProvider" to translate my website into different languages. To achieve this, I have set the "locale" parameter :

$app->register(new Silex\Provider\TranslationServiceProvider(), array(
    'locale' => 'pt'
));

Then, in my controller, I call the function "setLocale", like this:

$app['translator']->setLocale('it');

Now, if I display, always in my controller, the result of the translation its works fine:

$app['translator']->trans("hello"); // return "Buongiorno" 
$app['translator']->getLocale(); // return "it"

But, if I call the same function in my template Twig, translation does not work:

{{ app.translator.trans('hello') }} // return: "Olá"
{{ app.request.locale }} // return: "pt"

So, I don't understand: translation works fine in my controller but when I want access translations in Twig, nothing happens.

Do you have any idea about what's going on?

1 Answers
Related