Pregunta

Esto es en lo que estoy atrapado. Estoy trabajando en Symfony2 y tratando de hacer que las traducciones funcionen. Pero de alguna manera, no puedo hacer que funcione como debería. Esto es lo que tengo. En el config.yml

translator:      { fallback: de }
session:
        default_locale: en

En messages.en.yml Tengo esta estructura:

Please log in: Bitte melden Sie sich an

También tengo archivos similares para messages.en_US.yml, messages.ru.yml, etc.

En el código que uso $this->get('session')->setLocale('ru_RU'); Para cambiar el local.

Pero la traducción funciona solo cuando el localidad se establece en "EN_US" o "DE_DE". En cualquier otro caso, devuelve la clave, no el valor. Intento la traducción con este código

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); y devuelve el lugar que he establecido.

Entonces, ¿qué puede causar este problema?

¿Fue útil?

Solución 2

Encontré la respuesta yo mismo. Solo necesitaba limpiar el caché para Symfony. Consola usada para hacerlo. Directorio cambiado a myProject/app y usó estos comandos para limpiar el caché y los registros:

sudo rm -R cache/
sudo rm -R logs/

Otros consejos

Debes borrar el caché usando el Symfony COMAND

app/console cache:clear --no-debug

Luego eventualmente restaurar el permiso de escritura en caché/ y registro/ carpetas como se describe aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top