Frage

Hier ist, was ich festgefahren bin. Ich arbeite an Symfony2 und versuche, die Übersetzungen zum Laufen zu bringen. Aber irgendwie kann ich es nicht so lassen, wie es sollte. Hier ist, was ich habe. In der config.yml

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

Im messages.en.yml Ich habe diese Struktur:

Please log in: Bitte melden Sie sich an

Ich habe auch ähnliche Dateien für messages.en_US.yml, messages.ru.yml, etc.

In dem Code, den ich verwende $this->get('session')->setLocale('ru_RU'); das Gebietsschema ändern.

Die Übersetzung funktioniert jedoch nur, wenn das Gebietsschema auf "en_us" oder "de_de" eingestellt ist. In jedem anderen Fall gibt es den Schlüssel zurück, nicht den Wert. Ich versuche die Übersetzung mit diesem Code

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); Und es gibt das Gebietsschema zurück, das ich gesetzt habe.

Was kann dieses Problem verursachen?

War es hilfreich?

Lösung 2

Ich fand die Antwort selbst. Ich benötigte nur, um den Cache für Symfony aufzuräumen. Gebrauchte Konsole, um dies zu tun. Verzeichnis geändert in myProject/app und verwendeten diese Befehle, um den Cache und die Protokolle zu reinigen:

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

Andere Tipps

Sie sollten den Cache mit dem Symfony Comand löschen

app/console cache:clear --no-debug

Stellen Sie dann schließlich die Schreibberechtigung für Cache/ und Protokoll/ Ordner wie beschrieben wieder her. hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top