Locale or language cannot be empty

Par franklyn, il y a 9 ans


Bonjour à tous,
je débute avec symfony 2 et déjà une erreur à l'installation d'un projet.
En fait j'ai reçu un projet de mon ami et j'aimerai l'installer; la procédure suivit jusqu'ici est la suivre.

Et puis survient l'erreur

[Gedmo\Exception\InvalidArgumentException]
Locale or language cannot be empty and must be set through Listener or Entity

Je vous pri de m'aider afin que je puisse continué avec mon apprentissage. merci d'avance

4 réponses

usher ach, il y a 9 ans

verifier ton fichier app/config/parameter.yml
l'argument local :fr existe ou nn !?

franklyn, il y a 9 ans

il existe.
Voici le contenu du fichier app/config/parameter.yml

parameters: database_driver: pdo_mysql database_host: 127.0.0.1 database_port: null database_name: symfony database_user: root database_password: null mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null locale: en secret: ThisTokenIsNotSoSecretChangeIt
Ahmed Amine Chaouch, il y a 9 ans

Je suis tomber dans le meme probléme solution ?????

yanis-git, il y a 9 ans

Comme il est précisé dans ton message d'erreur, tu as surement une entity demandant un translate (Gedmo), donc une locale. Par defaut Symfony utilise la locale du navigateur. Quand tu executes une command, forcement la locale navigateur n'existe pas. Il demande donc qu'elle soit définie quelques parts : Soit dans un event de ta console. Soit directement dans les entity.

Ici tu trouveras comment ajouter un event à ta console.
http://symfony.com/doc/current/components/console/events.html

Enfin dans ton event tu devrais avoir quelques choses comme ça.

$locale = $this->getContainer()->getParameter('locale'); $this->getContainer()->get('translator')->setLocale($locale);