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

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

محمود  10 سال پیش  10 سال پیش
+2 0

سلام دوستان 

من می خواستم یه برنامه رو به صورت دو زبانه بسازم . ممنون راهنمایی بفرمایید 

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
حامد  10 سال پیش
+11 0

اگر میخواهید به طور خودکار همگام با زبان دستگاه زبان برنامه هم تغییر کند فقط در فایل 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");

 

موفق باشید

 
+1 0
فایل String.xml که در پوشه Value موجود است را در پوشه زبان خود کپی کنی و لغات را به همان زبان ترجمه کنید (10 سال پیش)
+1 0
ممنون از پاسخ شما . تا حدودی متوجه شدم . فقط یه چیزی من بخوام با تغیر زبان گرافیک هم تغیر کنه باید مثل پوشه values که گفتید پوشه لایه های رو هم به صورت مثلا layout-en بسازم ؟ (10 سال پیش)
+1 0
دقیقا همین طوره که گفتید (10 سال پیش)
0 0
ببخشید چطوری میشه فهمید که الان کدوم زبان انتخاب شده ؟ (10 سال پیش)
0 0
ببخشید چطوری میشه فهمید که الان کدوم زبان انتخاب شده ؟منظورم اینه دستوری هست که بشه فهمید کدوم ربان الان فعال هستش تو برنامه (10 سال پیش)
+1 0
رو همون دکمه ای که برای زبان قرار داری یک متغییر تعریف کن که مثلا دکمه اولی انتخاب شد زبان فارسی است . (10 سال پیش)
0 0
ممنون دوست عزیز . ولی منظورم اینه می خوام بدونم زبان سیستم چی هستش و از چه طریقی میشه فهمید که تو خود گوشی چه زبانی انتخاب شده (10 سال پیش)
پاسخ به سوال 
وحید  10 سال پیش
+3 0

شما می تونی از ترفند استفاده کنی. مثلا متن یک 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();
}
پاسخ به سوال 
محمود  10 سال پیش
0 0

دوستان یه مشکلی پیش اومده . اونم اینه من برنامه رو دو زبان انگلیسی و فارسی ساختم و مشکلی نداره اما وقتی زبان گوشی رو  روی یه زبان به غیر از این دو تا زبان قرار میدم برنامه باز نمیشه . 

0 0
کسی نبود راهنمایی کنه ؟ (10 سال پیش)

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