हमारे पास एक एंड्रॉइड ऐप है जो रिमोट पीसी प्रोग्राम के लिए क्लाइंट के रूप में काम करता है। हम एक फीचर जोड़ना चाहते हैं ताकि पीसी एंड्रॉइड ऐप को रनटाइम पर अपना लोकेल बदलने के लिए निर्देश दे सके, यानी ऐप शुरू करें; इसे पीसी के साथ संचार में डाल दें; कुछ समय बाद पीसी ऐप को स्पैनिश या चीनी कहने के लिए कहता है।रनटाइम पर लोकेल बदलें?
हमारे पास पहले से ही उनके संबंधित लोकेशंस के लिए सभी लेआउट और स्ट्रिंग संसाधन स्थापित हैं। हमारा ऐप एकमात्र ऐप है जिसे उपयोगकर्ता देखता है, इससे कोई फर्क नहीं पड़ता कि बाकी डिवाइस अंग्रेजी में रहता है या नहीं।
Change language programmatically in Android पर इस पर एक और धागा है लेकिन यह निष्कर्ष तक नहीं पहुंचता है।
मैं डाल सकता हूं। । ।
Locale locale = new Locale(sTheNewLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
। । । OnCreate() से पहले setContentView() लेकिन वह वास्तव में मदद नहीं करता है अगर मैं स्थान बदलना के बाद मेरे स्क्रीन ऊपर और चल रहा है चाहता हूँ में। गतिविधि पहले से चलने के बाद सामग्री दृश्य को फिर से लोड करने का कोई तरीका है? तो वहाँ स्थानों को बदलने के लिए किसी भी व्यावहारिक तरीका है पर मक्खी मज़बूती से या मैं अपने मालिक बताने के लिए यह एप्लिकेशन शुरू करने से पहले नए स्थान के लिए पूरे उपकरण स्थापित करने के लिए छोड़कर नहीं किया जा सकता है?
विधि 'अद्यतन कॉन्फ़िगरेशन() 'बहिष्कृत है। यहां एक गैर-बहिष्कृत समाधान है: http://stackoverflow.com/questions/40221711/android-context-getresources-updateconfiguration-deprecated – wilkas
config.locale को –
@ हसन अलीकाकाका भी कम किया गया है जो लिंक किए गए उत्तर में भी शामिल है। – weston