آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ایجاد چند گزینه برای انتخاب زبان(برنامه چند زبانه)

hassan  10 سال پیش  9 سال پیش
+2 0

سلام

میخوام یک برنامه بنویسم که هربار اجرا میشه تو صفحه اول کاربر بین 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);
}
}
0 0
ممنون از کمکتون مشکل حل شد (10 سال پیش)
0 0
من با انتخاب کاربر زبان رو تغییر میدم امادو مشکل دارم یکی این که برنامه رو باید ببنده باز کنه تا زبان تغییر کنه دوم این که فقط استرینگ ها تغییر میکنه لایوت ها تغییر نمیکنن من میخوام وقتی فارسی کرد لایه ها مربوط به زبان فارسی بیان با این که زبان گوشی انگلیسیه (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .