翻訳の 1 つを使用できましたが、もう 1 つを使用できず、理由がわかりませんでした。翻訳に困っている方はこちらをお読みください。
まず、標準チェックリスト:
- トランスレータを有効にして構成したことを確認してください。
- 翻訳が適切な場所にあり、適切な命名規則に従っていることを確認してください( domain(messages by default).lang_code.file_format )。
- コマンドを使用してキャッシュをクリアし
php app/console cache:clear
ます。
- コントローラーで手動で呼び出してみてください。コントローラーで直接
$this->getRequest()->setLocale('en');
使用することもできます。$this->get('translator')->trans('Some message');
- それでもうまくいかない場合は、翻訳済みファイルに BOM が含まれていないことを確認してください。それが私の場合でした。
BOM
翻訳されたファイルに注意してください。yml ファイルを翻訳する翻訳者は UTF8 を使用しましたが、彼が使用したエディターはファイルの先頭に BOM を残しました。ファイルの最初のセクションに目に見えない文字がいくつか追加されるため、おそらくPHP の UTF8 BOM バグが原因で、これは危険です。
ところで、翻訳のデバッグも非常に役立つ場合があります。