質問

これが私が立ち往生しているものです。私はSymfony2に取り組んでおり、翻訳を機能させようとしています。しかし、どういうわけか、私はそれを必要とするように機能させることはできません。これが私が得たものです。 config.yml

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

messages.en.yml 私はこの構造を持っています:

Please log in: Bitte melden Sie sich an

同様のファイルもあります messages.en_US.yml, messages.ru.yml, 、など

私が使用するコードで $this->get('session')->setLocale('ru_RU'); ロケールを変更します。

ただし、翻訳は、ロケールが「en_us」または「de_de」に設定されている場合にのみ機能します。他のいずれの場合でも、値ではなくキーを返します。このコードで翻訳を試してみます

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); そして、それは私が設定したロケールを返します。

では、この問題を引き起こすのは何ですか?

役に立ちましたか?

解決 2

私は自分で答えを見つけました。 Symfonyのキャッシュをクリーンアップする必要がありました。コンソールを使用してそうしました。ディレクトリを変更しました myProject/app このコマンドを使用して、キャッシュとログをクリーニングします。

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

他のヒント

Symfony Comandを使用してキャッシュをクリアする必要があります

app/console cache:clear --no-debug

その後、最終的に説明されているようにキャッシュ/およびログ/フォルダの書き込み許可を復元します ここ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top