2011-09-14 14 views
5

grails में, i18n फ़ाइल में निरंतर मान का संदर्भ देने का कोई तरीका है। मैं इस तरह कुछ करने के लिए कोशिश कर रहा हूँ:grails में i18n अंतर्राष्ट्रीयकरण फ़ाइल को निरंतर स्ट्रिंग को पेश करने का अच्छा तरीका

constant.sitename=Fancy SiteName 

intro.headline.label=Welcome to {constant.sitename} 
home.headline=You're at {constant.sitename} 

कारण है मैं अगर हम नाम बदलने का फैसला हर एक स्ट्रिंग में sitename बदलने के लिए नहीं करना चाहते हैं, मैं केवल एक बार करना चाहते हैं। क्या इस आवश्यकता को पूरा करने का कोई तरीका है?

मुझे एहसास है कि मैं Config.groovy में स्थिर भी सेट कर सकता हूं, लेकिन उसके बाद उसमें आवश्यक प्रत्येक संदेश पर परम में गुजरने की आवश्यकता होगी, जिसे मैं ऐसा नहीं करना चाहूंगा क्योंकि यह डेवलपर्स करेगा बुरा रहता है।

उत्तर

2

आप resource.groovy में कस्टम कार्यान्वयन द्वारा Grails के मानक संदेश स्रोत बीन को ओवरराइड कर सकते हैं। डिफ़ॉल्ट रूप से Grails i18n प्लगइन इस के लिए PluginAwareResourceBundleMessageSource का उपयोग करता है।

तो, इसे सबक्लास करें और संपत्ति प्रतिस्थापन जोड़ने के लिए आवश्यक कोड को ओवरराइड करें। दिल से नहीं पता कि ये कौन सी सटीक विधियां हैं, लेकिन डीबगर के साथ इसे समझना आसान होना चाहिए।