2011-06-08 17 views
8

मैं GWT में सभी दिनांक/समय प्रारूप पैटर्न प्राप्त करने की कोशिश के लिए GWT में सभी दिनांक/समय प्रारूप पैटर्न प्राप्त कर सकते हैं, DateTimeFormat.PredefinedFormat का उपयोग कर वर्तमान स्थान के सभी पैटर्न प्राप्त करने के लिए। लेकिन मैं एक अन्य लोकेल के लिए सभी पैटर्न कैसे प्राप्त कर सकता हूं।कैसे मैं अलग स्थानों

उत्तर

3

मैं एक तरह से, नहीं सामान्य तरीके से मैं क्या चाहते हैं पाया है, लेकिन इस मामले में यह काम करता है। शायद किसी को बेहतर समाधान है।

private static Date testDateFormates(String dateText) { 

     ArrayList<String> locales = new ArrayList<String>(); 

     DateTimeFormatInfo formatDE = new DateTimeFormatInfoImpl_de(); 
     DateTimeFormatInfo formatEN = new DateTimeFormatInfoImpl_en(); 
     DateTimeFormatInfo formatFR = new DateTimeFormatInfoImpl_fr(); 
     DateTimeFormatInfo formatES = new DateTimeFormatInfoImpl_es(); 
     DateTimeFormatInfo formatZH = new DateTimeFormatInfoImpl_zh(); 
     DateTimeFormatInfo formatRU = new DateTimeFormatInfoImpl_ru(); 

     addToList(locales, LocaleInfo.getCurrentLocale().getDateTimeFormatInfo()); 
     addToList(locales, formatDE); 
     addToList(locales, formatEN); 
     addToList(locales, formatFR); 
     addToList(locales, formatES); 
     addToList(locales, formatZH); 
     addToList(locales, formatRU); 

     . 
     . 
     . 
    } 

    private static void addToList(ArrayList<String> patterns, DateTimeFormatInfo format) { 
     patterns.add(format.dateFormat()); 
     patterns.add(format.dateFormatFull()); 
     patterns.add(format.dateFormatLong()); 
     patterns.add(format.dateFormatMedium()); 
     patterns.add(format.dateFormatShort()); 
    } 
+0

अभी तक, यह एकमात्र तरीका है जिसे मैंने ऐप स्तर (प्रति लोकल संकलित संस्करण) पर पूर्ण स्थानीयकरण करने से कम स्थानीय तिथियों को प्रदर्शित करने में सक्षम पाया है। इसी तरह से उपयोग करने के लिए मुद्रा कार्यान्वयन भी होते हैं। साझा करने के लिए धन्यवाद! – Guerry

1

मुझे नहीं लगता कि आप यह कर सकते हैं। अपने आवेदन के निर्माण के दौरान जीडब्ल्यूटी-कंपाइलर विभिन्न स्थानों के लिए आपके आवेदन के एकाधिक संस्करण बनाता है। तब एक विशिष्ट संस्करण ब्राउज़र द्वारा लोड किया जाता है, इस प्रकार अन्य लोकेल रनटाइम पर उपलब्ध नहीं होते हैं। यदि आप और जानना चाहते हैं तो डिफरर्ड बाइंडिंग पर पढ़ें: http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html

हालांकि एक निश्चित लोकेल को मजबूर करने का विकल्प है। यह उपयोगी हो सकता है यदि आप केवल एक लोकेल का समर्थन करते हैं, या इसका परीक्षण उद्देश्यों के लिए उपयोग किया जा सकता है। अपने मॉड्यूल एक्सएमएल फ़ाइल में निम्नलिखित पंक्तियां जोड़ें:

<inherits name="com.google.gwt.i18n.I18N"/> 
<extend-property name="locale" values="en_US"/> 
<set-property name="locale" value="en_US"/> 
संबंधित मुद्दे