بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ایجاد چند گزینه برای انتخاب زبان(برنامه چند زبانه)
سلام
میخوام یک برنامه بنویسم که هربار اجرا میشه تو صفحه اول کاربر بین 3 زبان فارسی و عربی و انگلیسی یکیشو انتخاب کنه
وتمام محتویات برنامه به زبون انتخابی دیده بشه اگه کمکم کنین و بگین برا این صفحه چه کدی بنویسم ممنون میشم
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
HoCoder
10 سال پیش
+2
0
سلام
شما باید اول فولدر هایی که برای زبان هاتون رو لازم دارین رو بسازید در فولدر res
مثلا برای فارسی valuse-fa رو بسازید و تمامی string ها درونش فارسی بنویسید دقت کنید با name های که در فولدر valuse نوشین برای زبان انگلیسی یکسان باشن
و بعد یه custom spinner مخصوص خودتون رو بسازید با ورودی زبان های دلخواه یا Dialog بسازید
من custom spinner رو ترجیح میدم و این مثال کد هم میتونید برای تغییر زبان استفاده کنید
این کد رو هم در manifest بنویسید
android:configChanges="locale|orientation"
این هم کد جاوا
public class AndroidLocalize extends Activity {
Spinner spinnerctrl;
Button btn;
Locale myLocale;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinnerctrl = (Spinner) findViewById(R.id.spinner1);
spinnerctrl.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(int pos) {
if (pos == 1) {
Toast.makeText(G.context,"You have selected Persian", Toast.LENGTH_SHORT).show();
setLocale("fa");
} else if (pos == 2) {
Toast.makeText(G.context,"You have selected English", Toast.LENGTH_SHORT).show();
setLocale("en");
}
}
});
}
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, AndroidLocalize.class);
startActivity(refresh);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .