मुझे अपना एंड्रॉइड एप्लिकेशन 3 भाषाओं अर्थात जर्मन, अंग्रेजी और डच में बनाना है। मैंने अपने एंड्रॉइड एप्लिकेशन नाम values-de
और values-nl
में रेस निर्देशिका में तीन फ़ोल्डर्स बनाए हैं। अब जब उपयोगकर्ता एक विशिष्ट भाषा मैं निम्नलिखित कोड प्रदर्शन का चयन करता है:बहु भाषा एंड्रॉइड एप्लिकेशन?
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = Locale.ENGLISH;
res.updateConfiguration(newConfig, null);
सभी विभिन्न मूल्यों फ़ोल्डरों एक ही नाम है में तार, मूल्यों फ़ोल्डर में नाम add_site साथ एक स्ट्रिंग यानी में एक ही नाम है the values-de
फ़ोल्डर लेकिन एक अलग मूल्य के साथ। जब मैं लोकेल को जर्मन में सेट करता हूं तो मेरा एप्लिकेशन जर्मन मान लोड नहीं कर रहा है? क्या समस्या हो सकती है?
आपकी मदद के लिए धन्यवाद।
यह मेरी समझ है कि स्थानीय प्राथमिकताओं को सिस्टम वरीयताओं के अनुसार एंड्रॉइड द्वारा स्वचालित रूप से संभाला जाता है। क्या आपके पास किसी भी कारण से उपयोगकर्ताओं को आपके आवेदन के भीतर से लोकेल सेट करने में सक्षम होना चाहिए? – KPthunder
हां। ऐसा इसलिए है क्योंकि सिर्फ मेरे आवेदन को देखने के लिए उपयोगकर्ता को सिस्टम कॉन्फ़िगरेशन बदलना होगा जिसके परिणामस्वरूप उस भाषा में सभी एप्लिकेशन सेट हो जाएंगे .... जो मुझे विश्वास है कि अनावश्यक है। हालांकि अब जब मैं सिस्टम कॉन्फ़िगरेशन बदलता हूं तो कोड ठीक काम कर रहा है, जिसका अर्थ है कि जब मैंने सिस्टम लोकेल को जर्मन में सेट किया है तो जर्मन टेक्स्ट दिखाया जा रहा है ... मैं इसे – user590849
के भीतर से प्राप्त करना चाहता हूं कुछ विस्तार करने के लिए एक सुविधा के रूप में अच्छा विचार है लेकिन ध्यान रखें कि यह एंड्रॉइड पर अन्य सभी एप्लिकेशन स्टॉक अनुप्रयोगों के काम के तरीके के खिलाफ है। वे सभी स्वचालित रूप से आपके लोकेल का पता लगाते हैं और उपयोगकर्ता हस्तक्षेप के बिना फ्लाई पर सही संसाधन लोड करते हैं। जब तक कि वास्तव में कोई अच्छा कारण नहीं है, मैं इस डिफ़ॉल्ट व्यवहार को तोड़ नहीं दूंगा। –