بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تغییر زبان

مدیریت گفتگو
وحید 11 سال پیش
آخرین تغییر: 9 سال پیش

دوستان می خوام اپلیکیشنم رو قابلیت چند زبانه بهش بدم چی کار کنم؟

می دونم که باید از values استفاده کنم

لطفا راهنمایی کنید

 

نظرات

وحید 11 سال پیش
ممنون، ولی نتونستم کاملا بفهمم چی می گه (انگلیسی بود). اگر می شه یکم وقت بذارید ترجمش رو بگید چی میشه
ایوب شمسی 11 سال پیش
انگلیس همانطور که استاد اشاره کردند خیلی مهمه پس سعی کنید یاد بگیرید بعد uncocoder واسه ما برنامه نویس ها بهترین راهنما stackoverflow هست که اونم کلا انگلیسیه
وحید 11 سال پیش
چشم انگلیسیمونم خوب می کنیم لطفا کد زیادی نمی خواد بگید چی کار کنم
ایوب شمسی 11 سال پیش
یکیشون که 200 خطی هست هیچی ولش یکیشون هم به گول لینک داده هیچ یکی تو استک گفته باید به عنوان یه فونت تعریف کنی و بعد ازش استفاده کنی که اموزش استفاده از فونت در سایت هست
وحید 11 سال پیش
دوست عزیز من بلد نیستم با این پروژه کار کنم یا کلا خالیه. همه حجمش عکساشه ریسورساشم خالیه.

پاسخ‌ها 1

حامد 11 سال پیش

اگر میخواهید به طور خودکار همگام با زبان دستگاه زبان برنامه هم تغییر کند فقط در فایل value باید string زبان مخصوص به خودش را قرار دهید که میتوانید از لایبری appcompat هم استفاده کنید. مثلا برای زبان شیرین فارسی باید پوشه Value-fa را ایجاد کنید.

 

اما اگر میخواهید که کاربر زبان را از درون برنامه انتخاب کند متد زیر را در برنامه قرار دهید و در lisiner خود زبان را انتخاب کنید:

 
Locale myLocale;
.
.
.
.
publicvoid setLocale(String lang){           myLocale =newLocale(lang);         Resources res = getResources();         DisplayMetrics dm = res.getDisplayMetrics();         Configuration conf = res.getConfiguration();         conf.locale = myLocale;         res.updateConfiguration(conf, dm);         Intent refresh =newIntent(this,YourClassName.class);         startActivity(refresh);     }

در lisiner انتخاب زبان :

setLocale("en");یاsetLocale("fa");

 

موفق باشید

نظرات

وحید 11 سال پیش
به همین سادگی به همین خوشمزگی :)
وحید 11 سال پیش
برای زبان انگلیسی و عربی و فارسی چه چیزی باید به نام Value اضافه کرد؟ اگر برای Value نامی نذارم بطور پیش فرض قرار می گیره؟
وحید 11 سال پیش
سوال قبل رو تقریبا حل شد. اما من برای درست کردن یک فایل با فرمت strings.xml در فایل values-en دچار مشکل شدم. ارور می ده می گه یک همچین نامی در values هست ولی از بیرون از اکلیپس که بصورت دستی ایجادش می کنم درست می شه چرا؟
hamed 11 سال پیش
بهتره به جای اینکه فایل را از بیرون ایجاد کنید از داخل ایکلیپس همون استرینگ قبلی را کپی کنید در سایر فولدرها. برای فارسی fa و برای عربی ar باید بگذارید
Mir Unknown 9 سال پیش
من با انتخاب کاربر زبان رو تغییر میدم امادو مشکل دارم یکی این که برنامه رو باید ببنده باز کنه تا زبان تغییر کنه دوم این که فقط استرینگ ها تغییر میکنه لایوت ها تغییر نمیکنن من میخوام وقتی فارسی کرد لایه ها مربوط به زبان فارسی بیان با این که زبان گوشی انگلیسیه

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