آموزش چند زبانه کردن اپلیکیشن اندروید (ترجمه اپلیکیشن اندروید)

آموزش قدم به قدم ترجمه اپلیکیشن به زبان های مختلف

این نوشته شامل موارد زیر می باشد:

  • نکته هایی که قبل از ترجمه باید به آن توجه کنیم
  • قدم اول در ترجمه ایجاد پوشه ی زبان زیر دایرکتوری res
  • قدم دوم ترجمه کلمات و جملات
  • قدم سوم  استفاده از جملات ترجمه شده با توجه به زبان گوشی
  • قدم چهارم تغییر زبان با انتخاب کاربر

آموزش قدم به قدم ترجمه برنامه اندروید
الف- نکته هایی که قبل از ترجمه باید رعایت کنیم:

قبل از ترجمه ی اپلیکیشن خود سعی کنید به جای استفاده از جملات طولانی در اپلیکشن خود از کلمات استفاده کنید و حداقل استفاده از کلمات و جملات را داشته باشید برای مثال آیکن ها خیلی بهتر از کلمات هستند . به این ترتیب شما در یافتن معادل کلمات در زبان های دیگر دچار مشکل نخواهید شد.

علاوه بر جملات و کلمات استفاده شده در اپلیکشن  چند خط توضیحات ، چند جمله با حداکثر 80 کلمه بعنوان توضیح کوتاه و چند کلمه بعنوان کلمات کلیدی  یاداشت کنید تا موقع ترجمه جملات و کلمات اصلی اپلیکشن آنها را نیز ترجمه کنید به این صورت موقع انتشار اپلیکشن مجددا نیاز به تهیه توضیحات و…. به زبان مورد نظر نخواهید داشت.

ب- ایجاد پوشه های زبان مورد نظر

بعنوان اولین زبان به مسیر زیر بروید

آموزش چند زبانه کردن اپلیکیشن

 

روی res کلیک کنید گزینه new را کلیک کنید سپس Directory را انتخاب سپس در دیالوگ باز شده (تعیین نام پوشه) بنویسید values-fa

آموزش چند زبانه کردن برنامه

یک پوشه ساخته می شود با نام values-fa همانطور که متوجه شدید فایل زبان فارسی در این پوشه قرار می گیرد نام پوشه مهم است و اگر اشتباه نوشته شود اندروید تشخصی نخواهد داد.

پس از ساخت پوشه در زیر شاخه ی res  روی فایل string کلیک راست کرده و copy را انتخاب کنید . سپس فایل را در پوشه ی values-fa  قرار دهید.

در واقع پوشه ی values محل قرار گیری فایل ترجمه ی اصلی است که اگر اپلیکیشن چند زبانه باشد مخصوص فایل های زبان انگلیسی می باشد.الان شما از فایل string یک کپی گرفتید و در پوشه ی values-fa قرار دادید کاری که باید انجام بدید این است که فایل کپی شده را باز کرده و به زبان فارسی ترجمه کنید.به این شکل :

هر چند جمله هست ترجمه کنید می توانید از گوگل ترانسلیت کمک بگیرید.

توجه داشته باشید تعداد استرینگ ها در همه ی زبان ها باید یکسان باشد برای مثال اگر در فایل string فارسی کلمه ی hello وجود دارد این کلمه بایدحتما در فایل های زبان دیگر نیز وجود داشته باشد.

تا اینجای کار یاد گرفتم برای هر زبان یک پوشه در زبر شاخه ی res بسازیم از فایل string یک کپی بگیریم و در پوشه ای که ساختیم قرار بدهیم. و یاد گرفتیم که پوشه ی values بدون پسوند مخصوص زبان انگلیسی است و کلمات موجود در فایل string زیر آن باید به انگلیسی ترجمه شود .

همین مراحل را برای زبان های دیگر نیز انجام دهید لیست زبان ها و کد زبان و پوشه ای که باید ساخته شود تا اندروید 4 به شرح زیر می باشد.

کد زبانها و نام پوشه در اندروید تا اندروید 4

Language Locale values/strings.xml
German de values-de/strings.xml
Chinese zh values-zh/strings.xml
Czech cs values-cs/strings.xml
Dutch nl values-nl/strings.xml
French fr values-fr/strings.xml
Italian it values-it/strings.xml
Japanese ja values-ja/strings.xml
Korean ko values-ko/strings.xml
Polish pl values-pl/strings.xml
Russian ru values-ru/strings.xml
Spanish es values-es/strings.xml
Arabic ar values-ar/strings.xml
Bulgarian bg values-bg/strings.xml
Catalan ca values-ca/strings.xml
Croatian hr values-hr/strings.xml
Danish da values-da/strings.xml
Finnish fi values-fi/strings.xml
Greek el values-el/strings.xml
persian fa values-fa/strings.xml
Hindi hi values-hi/strings.xml
Hungarian hu values-hu/strings.xml
Indonesian in values-in/strings.xml
Latvian lv values-lv/strings.xml
Lithuanian lt values-lt/strings.xml
Norwegian nb values-nb/strings.xml
Portuguese pt values-pt/strings.xml
Romanian ro values-ro/strings.xml
Serbian sr values-sr/strings.xml
Slovak sk values-sk/strings.xml
Slovenian sl values-sl/strings.xml
Swedish sv values-sv/strings.xml
Tagalog tl values-tl/strings.xml
Thai th values-th/strings.xml
Turkish tr values-tr/strings.xml
Ukrainian uk values-uk/strings.xml
Vietnamese vi values-vi/strings.xml
ج- استفاده از جملات ترجمه شده با توجه به زبان گوشی :

وقتی فایل های زبان را ترجمه کردیم باید به جای نوشتن مستقیم کلمات در کلاس ها و یا فایل های xml به کلید آن در String ها اشاره کنیم:

اینجا برنامه نویس به جای اشاره به کلید استرینک مستقیما از خود کلمه استفاده کرده و اشتباه است <Button android:text="ok"/>  باید به شکل زیر می نوشت: <Button android:text="@string/ok"/> و در کلاس ها هم باید به این شکل بنویسم btnOk.setText(getResources().getString(R.string.ok)); 

اندروید با توجه به زبان گوشی کاربر بصورت خودکار از فایل های زبانی تعریف شده استفاده خواهد کرد و نیاز به کار دیگری نیست .مثلا اگر زبان گوشی فرد فارسی باشد کلمات ترجمه شده فارسی در اپلیکشن مشاهده خواهد شد.

چ- قدم چهارم تغییر زبان با انتخاب کاربر:

گاهی وقت ها تنظیمات گوشی فرد ممکن است زبان استفاده کننده را شامل نشود مثلا فرض کنید گوشی زبان فارسی ندارد اما اپلیکشن شما زبان فارسی را شامل می شود در این صورت چون زبان گوشی کاربر انگلیسی است زبان اپلیکیشن فارسی نخواهد شد برای این منظور باید کاربر زبان اپلیکیشن را بصورت دستی تنظیم کند.

برای این منظور می توانید از متد زیر استفاده کنید :

 

public static void setLocale(String lang) {
Locale myLocale;
myLocale = new Locale(lang);
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);

}

 

مثلا اگر  کد زیر را اجرا کنید زبان اپلیکشن فارسی خواهد شد:

setLocale(“fa”);

بهتر است کد بالا را در کلاسی که از اپلیکشن اکستند شده استفاده کنید و یا در onResum اکتی وی تی ها .

برای اینکه زبان انتخاب کاربر در خاطر اپلیکشن بماند می تواند زبان را در پریفرنس ها ذخیر کنید

           // در اکتیویتی  انتخاب زبان زبان انتخابی کاربر را در پرفیینس ها ذخیره کنید سپس در کلا جی به شکل زیر به آن اشاره کنید
String  language =preferences.getString("Mlanguage", systemLanguage);
setLocale(language);

چطور بود آیا این آموزش مفید لود ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *