2013-04-03 5 views
7

में स्थानीय त्रुटि पृष्ठ हम सिम्फनी 2 में एक ऐप्लिकेशन बना रहे हैं जो डच और अंग्रेजी में स्थानीयकृत है। अब मुझे पता है कि customize the Symfony error pages कैसे है, लेकिन कहीं भी त्रुटि चरणों का अनुवाद कैसे नहीं किया जा सकता है। मैंने त्रुटि टेम्पलेट्स में trans फ़िल्टर का उपयोग करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह मेरी अनुवाद फ़ाइल का उपयोग नहीं करता है।Symfony2

इसके अलावा मुझे कई त्रुटि पृष्ठों को बनाने के लिए कोई विकल्प नहीं मिल रहा है, प्रत्येक भाषा के लिए एक, और उन्हें स्थानीयकृत करें।

क्या किसी को पता है कि यह संभव है, तो मैं कल्पना कर सकता हूं कि इसे कार्यान्वित करना मुश्किल है क्योंकि त्रुटि त्रुटियों के कारण त्रुटि को फेंक दिया जा सकता है। लेकिन अगर ऐसा है तो मुझे यह संकेत देना होगा कि यह सही तरीके से कैसे करें।

+0

तारों का अनुवाद (ट्रांस फ़िल्टर का उपयोग करके) किसी अन्य टेम्पलेट में काम करता है? – gatisl

+2

खैर, मुझे कहना है कि अपवाद टेम्पलेट में संदेशों का अनुवाद मुझे बहुत समझ में नहीं आता है, क्योंकि अपवाद को जीवन प्रसंस्करण के अनुरोध में कहीं भी फेंक दिया जा सकता है। और यह पृष्ठ सामान्य वर्कफ़्लो का हिस्सा नहीं होना चाहिए, क्योंकि यह अनुरोध प्रसंस्करण में विफलता का प्रतिनिधित्व करता है और आम तौर पर उपयोगकर्ता को इसे देखना नहीं चाहिए। – gatisl

+1

@gatisl मुझे लगता है कि यह समझ में आता है, क्योंकि उपयोगकर्ता द्वारा 404 त्रुटि देखी जा सकती है जब कोई बाहरी लिंक गलत होता है। यह पूरी तरह से हमारे नियंत्रण से बाहर है। यहां तक ​​कि जब 500 त्रुटि आती है, तो मैं चाहता हूं कि उपयोगकर्ता यह समझने में सक्षम हो कि क्या हो रहा है। मुझे नहीं लगता कि आप एक चीनी 404 या 500 त्रुटि प्रस्तुत करने वाली साइट से बहुत खुश होंगे। –

उत्तर

6

आप ग्लोबल वैरिएबल (app.request.locale या app.session.locale सिम्फनी 2.1 से पहले) का उपयोग करने का प्रयास कर सकते हैं जो टेम्पलेट्स में उपलब्ध हैं।

{% if app.request.locale == 'nl' %} 
    some error message 
{% else %} 
    error message in other language 
{% endif %}