আমি চাই আমার অ্যাপ্লিকেশনটি তিনটি ভাষা স্প্যানিশ, পর্তুগিজ এবং ইংরেজি সমর্থন করে। এবং অ্যাপ্লিকেশনটিতে ভাষা নির্বাচন করার বিকল্প দিন I আমি তৈরি করেছি
1) 3 আঁকাযোগ্য ফোল্ডারগুলি অঙ্কনযোগ্য-এস, অঙ্কনযোগ্য-পিটি, অঙ্কনযোগ্য।
2) 3 টি মান ফোল্ডারের মান-এস, মান-পিটি, মানসমূহ। ভাষা অনুযায়ী স্ট্রিং.এক্সএমএল মান পরিবর্তন করুন।
ভাষা বাছাই করার জন্য আমার কাছে চিত্র ভিউ রয়েছে Englishএখন এটিতে মেনু ক্লিক করুন যাতে ইংরাজী, স্প্যানিশ, পর্তুগিজ option
আমি এই কোড দ্বারা বিকল্প নির্বাচনের জন্য লোকেলের ভিতরে অ্যাপ্লিকেশন সেট করেছি
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.en:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in English !", Toast.LENGTH_LONG).show();
break;
case R.id.pt:
Locale locale2 = new Locale("pt");
Locale.setDefault(locale2);
Configuration config2 = new Configuration();
config2.locale = locale2;
getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in Portugal !", Toast.LENGTH_LONG).show();
break;
case R.id.es:
Locale locale3 = new Locale("es");
Locale.setDefault(locale3);
Configuration config3 = new Configuration();
config3.locale = locale3;
getBaseContext().getResources().updateConfiguration(config3, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in Spain !", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
আমি ম্যানিফেস্টে ঘোষণা করেছি- অ্যান্ড্রয়েড: কনফিগারেশন = "স্থানীয়"
এটি কাজ করে তবে এতে কিছু সমস্যা আছে।
সমস্যা: -
1) ভাষা নির্বাচন করা হলে, ভাষা নির্বাচনের চিত্র ধারণ করে এমন পর্দা পরিবর্তন হয় না তবে অন্যান্য স্ক্রিনগুলি পরিবর্তন হয়।
২) ওরিয়েন্টেশন পরিবর্তনের পরে অ্যাপের ফোনের লোকাল অনুসারে ভাষা পুনরুদ্ধার করুন।
android:configChanges="locale"
জন্য যুক্ত করার চেষ্টা করুন: অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এর ভিতরে আপনার ক্রিয়াকলাপের জন্য