Question

Voici ce que je suis coincé sur. Je travaille sur Symfony2 et essayer de faire travailler les traductions. Mais de toute façon, je ne peux pas le faire fonctionner comme il se doit. Voici ce que je suis. Dans le config.yml

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

Dans messages.en.yml Je cette structure:

Please log in: Bitte melden Sie sich an

J'ai aussi des fichiers similaires pour messages.en_US.yml, messages.ru.yml, etc.

Dans le code que j'utilise $this->get('session')->setLocale('ru_RU'); pour modifier les paramètres régionaux.

Mais la traduction ne fonctionne que lorsque les paramètres régionaux est réglé sur « en_US » ou « de_DE ». Dans tout autre cas, il renvoie la clé, pas la valeur. J'essaie la traduction avec le code

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); et renvoie les paramètres régionaux que j'ai défini.

Alors, que peut causer ce problème?

Était-ce utile?

La solution 2

J'ai trouvé la réponse moi-même. Juste besoin de nettoyer le cache pour Symfony. console occasion de le faire. Changement de répertoire pour myProject/app et utilisé cette commande pour nettoyer le cache et les journaux:

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

Autres conseils

vous devez effacer le cache en utilisant le symfony COMAND

app/console cache:clear --no-debug

puis restaurer éventuellement l'autorisation d'écriture sur le cache / et log / dossiers comme décrit

scroll top