हमारे पास एक विरासत एप्लिकेशन है जो स्ट्रूट्स 1.2.9 का उपयोग करता है। ऐप वर्तमान में सभी यूआई लेबल, त्रुटियों, संदेशों इत्यादि के लिए मानक तरीके - .properties
फ़ाइलों को अंतर्राष्ट्रीयकृत कर रहा है; <message-resouces>
डिफ़ॉल्ट Factory
& MessageResources
परिभाषाओं का उपयोग करते हुए struts-config.xml
में प्रत्येक .properties फ़ाइल के लिए परिभाषा; सभी जेएसपी में <bean:message>
उपयोग। इसने अब तक बहुत अच्छा काम किया है, लेकिन इस तथ्य के लिए कि आवेदन स्वयं कुछ अनुप्रयोगों (हां 100 के!) द्वारा आंतरिक रूप से उपयोग की जाने वाली सेवाओं के लिए एक ढांचा है।स्ट्रैट्स 1.2.9 - कस्टम अंतर्राष्ट्रीयकरण के आसपास प्रश्न
हम i18n कार्यक्षमता बढ़ाने के लिए एक आवश्यकता के रूप में निम्नानुसार है:
.properties
फ़ाइलों के लिए एक कस्टम निर्देशिका परिभाषित करें - तो यह classpath के दायरे से बाहर हो सकता है; मूल रूप से.war
पैकेज के अंदर नहीं। विचार केवल पूरे संदेश को पुन: नियोजित करने के लिए संदेश स्ट्रिंग परिवर्तनों का समर्थन करना है।- इस कस्टम निर्देशिका में प्रति समर्थित एप्लिकेशन संदेश भी शामिल होंगे - यह केवल मौजूदा लोगों का एक सबसेट हो सकता है या विशेष रूप से उस एप्लिकेशन के अनुरूप बनाए गए संसाधनों का पूरा सेट हो सकता है।
- प्रति अनुरोध के आधार समर्थन
Locale
सेटिंग के कस्टम तरीका है - सभी अन्य कारणों (डिफ़ॉल्ट ढेर, classpath/पैकेज लुकअप, आदि) को छोड़कर इस तरहrequestOnlyParameterName
विशेषता के साथ struts2 मेंI18nInterceptor
काम करता हैtrue
करने के लिए सेट के अनुरूप है।
हाँ, मुझे समझ में आता है कि एक ही समय में लोड किए गए कुछ 100 बंडल स्मृति गहन होंगे, लेकिन यह हमारे मामले में स्वीकार्य है।
किसी भी मदद की सराहना की है - यह दिशा, नमूना कोड, आदि
नोट हो: मैं पूरी तरह से सहमत हैं कि एक नए यूआई मंच पर जाने से शायद सबसे अच्छा समाधान है। लेकिन हम नहीं कर सकते।
टीआईए।
अपनी खुद की MessageResources को लागू करने में मदद करता है की तरह लग रहा है और MessageResourcesFactory जाने का रास्ता है। विचार? – Ranga