2015-07-01 14 views
6

का उपयोग कर अंग्रेजी देश के नामों को जर्मन भाषा में बदलना मेरे पास यह आवश्यकताएं हैं कि मुझे समकक्ष देश कोड को जर्मन भाषा देश का नाम बदलने की आवश्यकता है। मैं अपने कोड के लिए लोकेल बिल्डर का उपयोग कर रहा हूं।लोकेल

पहले एक मैंने किया था यह है::

यहाँ मेरी कोड हैं

Locale locale = new Locale("GERMANY", "AT"); 

जेनरेट किए गए उत्पादन: German (Austria)

दूसरा एक:

Locale aLocale = new Locale.Builder().setLanguage("de").setRegion("AT").build(); 

जेनरेट किए गए उत्पादन: German (Austria)

मुझे देश कोड "AT" कनवर्ट करना है जो ऑस्ट्रिया से जर्मन भाषा है, और इसे Österreich उत्पन्न करना चाहिए।

उत्तर

2

विधि Locale की getDisplayCountry() एक Locale तर्क जो भाषा के लिए में यह प्रदर्शित करने के लिए प्रयास करने के लिए ले जा सकते हैं उदाहरण के लिए:।

Locale locale = new Locale("de", "AT"); 
System.out.println(locale.getDisplayCountry(locale)); 

प्रिंट मेरे लिए

Österreich 

अगर आप चाहते हैं संपूर्ण क्षेत्र के के नाम, getDisplayCountry() के बजाय, पैरामीटर के साथ बस getDisplayName() का उपयोग करें।

यह स्थानीय लोगों के हर संयोजन के लिए काम करने की गारंटी नहीं है। डॉक्स के अनुसार:

नाम लौटे [प्रदान की Locale पैरामीटर] (जैसे कि, हम क्रोएशिया के लिए एक जापानी नाम नहीं है) के अनुसार स्थानीय नहीं किया जा सकता है, तो इस समारोह अंग्रेजी नाम की पीठ गिर जाता है, और आखिर में आईएसओ कोड पर अंतिम-रिसॉर्ट मूल्य के रूप में।

यह भी ध्यान रखें कि जर्मन के लिए भाषा कोड "de" है, "GERMANY" नहीं।

+0

hi @Dan, यह काम किया। बहुत बहुत धन्यवाद :) – pinkpanther

2

जावा Locale एस एक अनुवाद सेवा नहीं है। उनका उपयोग स्थानीयकृत घटकों का वर्णन करने के लिए किया जाता है, उदाहरण के लिए आपके पास Map<Locale, String> austria हो सकता है जिसमें en से "Austria" और de_AT से "Österreich" तक मैपिंग शामिल होंगी। अधिक संभावना है कि आप Locale एस को कई अनुवादों के लिए संसाधन बंडलों का उपयोग करने के लिए उपयोग करेंगे जिन्हें आप अपने पूरे एप्लिकेशन में उपयोग कर सकते हैं। यहां ResourceBundle tutorial है।

यदि आप टेक्स्ट को दूसरी भाषा में अनुवाद करना चाहते हैं, तो आपको Google's Translate API जैसे किसी प्रकार की अनुवाद सेवा का उपयोग करना होगा।

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