2013-04-03 11 views
7

Symfony2で、オランダ語と英語にローカライズされたアプリケーションを作成しています。今私はcustomize the Symfony error pagesの方法を知っていますが、エラーページをどこにでも翻訳する方法は見つかりません。エラーテンプレートでtransフィルタを使用しようとしましたが、私の翻訳ファイルを使用していないようです。Symfony2のローカライズされたエラーページ

また、言語ごとに複数のエラーページを作成してローカライズするオプションもありません。

これがまったく可能であれば誰でも知っていますが、翻訳エラーのためにエラーが発生する可能性があるため、実装が難しいと思います。しかし、それが正しいとするためのヒントやリンクが大好きです。

+0

(トランスフィルターを使用して)文字列の変換は他のどのテンプレートでも機能しますか? – gatisl

+2

さて、例外処理のライフサイクルのどこでも例外がスローされる可能性があるので、例外テンプレートのメッセージの翻訳はあまり意味がないと言わなければなりません。また、このページは通常のワークフローの一部であってはなりません。なぜなら、リクエスト処理の失敗を表しており、エンドユーザーはそれを見るべきではないからです。 – gatisl

+1

@ gatisl外部リンクが間違っていると、404エラーがユーザーに表示される可能性があるので、意味があると思います。それは完全に私たちのコントロールから外れています。 500のエラーが発生しても、私はユーザーが何が起こっているのかを理解できるようにしたい。私はあなたが中国の404または500のエラーを提示するサイトで非常に満足するとは思わない。 –

答えて

6

テンプレートで利用可能なグローバル変数(symfony 2.1より前のapp.request.localeまたはapp.session.locale)を試すことができます。

{% if app.request.locale == 'nl' %} 
    some error message 
{% else %} 
    error message in other language 
{% endif %} 
関連する問題