2009-08-13 16 views
5

मैं प्रोग्राम प्रोग्राम जेएसपी और जावा लिख ​​रहा हूं, मैं एकाधिक भाषाओं का समर्थन करने के लिए गुण फ़ाइलों का उपयोग कैसे कर सकता हूं? और वैसे, हमेशा कुछ हैं जैसे \ u4345, यह क्या है? वे कैसे आते हैं?जावा में कई भाषाओं को कैसे संभालें?

+0

आप किस तरह के ढांचे का उपयोग कर रहे हैं? स्ट्रैट्स, टेपेस्ट्री आदि जैसे अधिकांश ढांचे i18n का समर्थन करते हैं, इसलिए आपको बस उन पर जांच करने की आवश्यकता है। – nightingale2k1

उत्तर

14

एकाधिक भाषाओं के लिए, ResourceBundle कक्षा देखें।

\u4345 के बारे में, यह जावा के अंधेरे और बहुत परेशान विरासत कोनों में से एक है। संपत्ति फ़ाइलों को ASCII में होना आवश्यक है, ताकि सभी गैर-ASCII वर्णों को \uxxxx (उनके यूनिकोड मान) के रूप में एन्कोड करने की आवश्यकता हो। आप native2ascii command line tool के साथ इस एन्कोडिंग का उपयोग करने के लिए एक फ़ाइल को परिवर्तित कर सकते हैं। यदि आप आईडीई या बिल्ड टूल का उपयोग कर रहे हैं, तो इसे स्वचालित रूप से आमंत्रित करने का विकल्प होना चाहिए।

संपत्ति फ़ाइल कुछ तुम अपने आप पर पूरा नियंत्रण है है, तो आप Java6 से शुरू कर सकते हैं भी UTF-8 (या किसी अन्य वर्ण सेट) का उपयोग संपत्ति फ़ाइल में सीधे, और specify that encoding जब आप इसे लोड:

// new in Java6 
props.load(new InputStreamReader(new FileInputStream(file), 'UTF-8')); 

फिर, यह केवल तभी काम करता है जब आप गुणों को स्वयं लोड करते हैं, न कि कोई और ऐसा करता है, जैसे संसाधनबंडल (अंतर्राष्ट्रीयकरण के लिए उपयोग किया जाता है)।

+0

रिसोर्सबंडल्स का उपयोग करने का वर्णन करने वाला एक निजी ब्लॉग पोस्ट: http://tshikatshikaaa.blogspot.nl/2012/11/introduction-to-java-internationalization.html – JVerstry

1

i18n पर Java tutorial पहले ही पीटर द्वारा उल्लेख किया गया है। यदि आप जेएसपी बना रहे हैं तो शायद आप JSTL देखें जो मूल रूप से आपको जेएसपी टैग के माध्यम से संसाधन बंडल की कार्यक्षमता का उपयोग करने की अनुमति देता है।

संबंधित मुद्दे