-
Notifications
You must be signed in to change notification settings - Fork 93
Description
It seems that only when debug is enabled, TranslationExtension is used. The trans and transchoice filter then are marked as html safe, so the values will not get encoded anymore.
See https://github.com/php-translation/symfony-bundle/blob/master/Twig/TranslationExtension.php#L28-L29
As result of that, we "forget" to add {{ 'key'|trans|raw }}, because outputting raw values already happens on dev. When prod thereafter is updated, the encoded value just get outputted again:
So in Twig the following:
Translation value: This is a test that is valid until <strong>%date%</strong>
Twig: {{ 'translation_key'|trans({'%date%': date}) }}
Output on debug = true environments
This is a test that is valid until Wed June 14
Output on debug = false environments
This is a test that is valid until <strong>Wed June 14</strong>
We expect the output to be the same for any type of environment. The proposed solution would be to not handle is_safe via the Twig extensions. Are there any reasons why is_safe should be there?