راهنمایی در مورد ساختن برنامه چند زبانه

اگر میخواهید به طور خودکار همگام با زبان دستگاه زبان برنامه هم تغییر کند فقط در فایل value باید string زبان مخصوص به خودش را قرار دهید که میتوانید از لایبری appcompat هم استفاده کنید. مثلا برای زبان شیرین فارسی باید پوشه Value-fa را ایجاد کنید.
اما اگر میخواهید که کاربر زبان را از درون برنامه انتخاب کند متد زیر را در برنامه قرار دهید و در lisiner خود زبان را انتخاب کنید:
Locale myLocale;
.
.
.
.
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, YourClassName.class); startActivity(refresh); }
در lisiner انتخاب زبان :
setLocale("en"); یا setLocale("fa");
موفق باشید

شما می تونی از ترفند استفاده کنی. مثلا متن یک textView رو می گیری و می ریزی تو یک String. بعد می گی اگر این متن فلان بود نشون بده فارسی و اگر felan بود نشون بده انگلیسی:
(اون متن رو هم در حالت فارسی و انگلیسی می گی چی باشه)
TextVIew txtName = (TextView) findById(R.id.txtName);
String nameString = txtName.getText().toString();
if (nameString == "سلام") {
Toast.makeText(G.context, "برنامه فارسی است", Toast.LENGTH_LONG).show();
} else if (nameString == "hello") {
Toast.makeText(G.context, "برنامه انگلیسی است", Toast.LENGTH_LONG).show();
}

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