Symfony2: configuración regional predeterminada no aplicada en la traducción

Quiero traducir mi sitio web con Symfony. Activé el traductor en mi configuración.

# app/config/config.yml imports: - { resource: parameters.yml } - { resource: security.yml } framework: #esi: ~ translator: { fallback: "%locale%" } secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } templating: engines: ['twig'] #assets_version: SomeVersionScheme default_locale: %locale% trusted_hosts: ~ trusted_proxies: ~ session: # handler_id set to null will use default session handler from php.ini handler_id: ~ fragments: ~ http_method_override: true # app/config/parameters.yml # This file is auto-generated during the composer install parameters: ... locale: fr secret: MySecretToken 

Mis archivos de traducción se encuentran en app / config / Resources / messages.en.yml y app / config / Resources / messages.fr.yml.

Pero cuando hago esto en mi controlador:

 $translator = $this->get('translator'); var_dump($translator->trans('hello')); exit(); 

Todavía muestra “hola” en lugar de “Bonjour”. Comprobé mi configuración regional de PHP con \ Locale :: getDefault (), es “en”, y mi configuración regional de Symfony es “fr” (obtenida por un getLocale () en el objeto del traductor).

Funciona cuando configuro manualmente la configuración regional al comienzo de mi acción, pero tengo muchas acciones y me gustaría establecer la configuración regional predeterminada para todo el sitio web. Pensé que config.yml podría hacer eso por mí, pero parece que no es el caso … ¿Ves de dónde viene mi problema? Gracias !

Intente borrar el caché de la app/cache en el directorio de app/cache . Es muy importante por primera vez.

También debe agregar la configuración regional en su enrutador