rilevamento locale Symfony2 e la traduzione
-
25-10-2019 - |
Domanda
Ecco cosa mi sono bloccato su. Sto lavorando su Symfony2 e cercando di fare le traduzioni di lavoro. Ma in qualche modo, non riesco a farlo funzionare come dovrebbe. Ecco quello che ho ottenuto. Nel config.yml
translator: { fallback: de }
session:
default_locale: en
In messages.en.yml
ho questa struttura:
Please log in: Bitte melden Sie sich an
Ho anche file simili per messages.en_US.yml
, messages.ru.yml
, ecc.
Nel codice che uso $this->get('session')->setLocale('ru_RU');
per modificare le impostazioni internazionali.
Ma la traduzione funziona solo quando il locale è impostato su "en_US" o "de_DE". In tutti gli altri casi restituisce la chiave, non il valore. Io cerco la traduzione con questo codice
return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale());
e restituisce il locale ho impostato.
Così che cosa può causare questo problema?
Soluzione 2
Ho trovato la risposta me stesso. Solo bisogno di ripulire la cache per Symfony. console utilizzata per farlo. Cambiato directory myProject/app
e usato questo comandi per pulire la cache e tronchi:
sudo rm -R cache/
sudo rm -R logs/
Altri suggerimenti
si dovrebbe cancellare la cache utilizzando il COMAND symfony
app/console cache:clear --no-debug
poi eventualmente ripristinare i permessi di scrittura sulla cache / e log / cartelle come descritto qui