چگونه یک برنامه چند زبانه (Multi Language) در اندروید بسازیم ؟

چگونه یک برنامه چند زبانه (Multi Language) در اندروید بسازیم ؟

اندروید یکی از پر طرفدار ترین سیستم عامل های موبایل است که میلیون ها کاربر در بیش از ۱۹۰ کشور جهان دارد و هر روز بر تعداد آن ها افزوده میشود. بنابراین زمانی که شما می خواهید یک برنامه اندروید را در سطح جهانی ارائه کنید نیاز دارید که برنامه شما از چند زبان پشتیبانی کند تا کاربران به راحتی بتوانند از برنامه شما استفاده کنند و برنامه کاربر پسندی را داشته باشید.

در این پست آموزشی ما قرار است یک برنامه چند زبانه ( Multi Language ) که از زبان های فارسی و انگلیسی پشتیبانی میکند را با هم طراحی کنیم.

۱.حال چگونه یک متن را چند زبانه کنیم ؟


به صورت پیش فرض در اندروید زبان انگلیسی به عنوان زبان اصلی انتخاب شده است و متن ها و عبارات خود را از داخل فایلی از آدرس res => values => strings.xml بارگذاری میکند. حال برای این که پشتیبانی از زبان فارسی را نیز به آن اضافه کنیم فقط کافیست از مسیر res => values به پوشه values دسترسی پیدا کنیم که در آن فایلی با نام strings.xml وجود دارد که برای عبارات و متون استفاده شده در اندروید به کار میرود. حال کافیست مطابق شکل بر روی پوشه values راست کلیک کرده و از قسمت New گزینه Values resource file را انتخاب کنیم. در پنجره باز شده در قسمت نام فایل , نام آن را strings قرار دهیم ( نام فایل حتما باید strings انتخاب شود ) و در همان پنجره در قسمت Available qualifiers گزینه ای با نام Locale را پیدا کرده و بر روی آن کلیک کرده و در سمت راست این قسمت بر روی دکمه ای با علامت << کلیک کرده تا در قسمت Chosen qualifiers زبان ها و مناطق گوناگون نشان داه شوند.حال از بین زبان ها (Languages) به دنبال زبان persian میگردیم که در لیست به صورت fa: Persian قرار دارد که با کلیک بر روی آن به صورت خودکار در قسمت مناطق (Specific region only)منطقه ایران که به صورت IR: Iran است انتخاب میشود.حالا روی گزینه ok کلیک میکنیم و کار تمام میشود.

در این جا هدف ما برنامه ای بود که از زبان های فارسی و انگلیسی پشتیبانی کند که به صورت پیش فرض از زبان انگلیسی پشتیبانی میکند و فقط کافی بود که ما پشتیبانی از زبان فارسی را به آن اضافه کنیم ولی اگر شما بخواهید زبان دیگری را نیز پشتیبانی کند کافیست در قسمت زبان ها ( Languages ) آن زبان را نیز اضافه کنیم.

همانطور که در شکل مشخص شده الان ما در پوشه values , پوشه دیگری با نام strings داریم که در آن دو فایل با نام strings.xml وجود دارد که یکی برای زبان پشتیبانی از فارسی و دیگری برای زبان انگلیسی است.

1

 

2

5

6

توجه :

انجام دهیم :

حال که برنامه شما از قابلیت چند زبانی ( Multi Languages )پشتیبانی میکند از این به بعد نیاز است که شما نام یا عبارتی را که میخواهید چند زبانه باشد در فایل strings.xml مربوط به آن زبان تعریف کنید و در برنامه خود از نام آن استفاده کنید. به عنوان مثال:

در فایل strings.xml مربوط به زبان انگلیسی :

در فایل strings.xml مربوط به زبان فارسی :

هنگام استفاده در فایل xml :

از strings@ برای دادن متن به text استفاده میکنیم

هنگام استفاده در فایل java :

از R.string برای دادن متن به settext استفاده میکنیم

انجام ندهیم :

هرگز رشته یا عبارت خود را به صورت مستقیم در فایل java یا xml وارد نکنید مانند مثال های زیر :

در فایل xml :

در فایل java :

حالا وقت آن است که با ایجاد یک پروژه جدید همه ی گفته های بالا را بهتر ببینیم.

۲.ساخت یک پروژه :


۱.ساخت یک پروژه جدید در محیط برنامه نویسی اندروید استودیو ( Android Studio ).

۲.رنگ های زیر را در فایل colors.xml در پوشه values اضافه کنید و اگر فایل colors.xml برای شما وجود ندارد آن را خودتان ایجاد کنید.

۳.در پوشه drawable سه فایل با bg_button_rounded.xml , bg_form_rounded.xml و bg_gradient.xml ایجاد کنید که محتوای آن ها به صورت زیر است. این سه فایل هیچ ربطی به پشتیبانی از چند زبانی ( Multi Languages ) ندارد ولی به پس زمینه شکل و شمایل زیبایی میدهد و همچنین به دکمه ها ( Buttons ) و input box ها گوشه میدهد.

bg_button_rounded.xml

bg_form_rounded.xml

bg_gradient.xml

۴.فایل strings.xml مربوط به زبان انگلیسی که در پوشه strings قرار دارد را باز کنید و کد های زیر را در آن اضافه کنید.

۵.حال فایل strings.xml مربوط به زبان فارسی را باز کنید و کد های زیر را در آن اضافه کنید.

۶.در پوشه layout فایل main activity ( ممکن است در سیستم شما نام آن متفاوت باشد که بر اساس نامی است که هنگام ساخت پروژه به آن دادیم ) را باز کرده و کد های زیر را در آن قرار می دهیم تا یک layout ساده و زیبا را ایجاد کنیم.

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

که برای تغییر زبان میتوانید از قسمت Settings دستگاه خود, گزینه Language & Inputs را انتخاب کنید و در قسمت Languages زبان مورد نظر خود را انتخاب کنید.

Android Multi-Language App-English

Multi-Language-App-Android

 

Android Multi-Language App-Farsi

Multi-Language-Android-App

تمام   🙂

مقاله های مرتبط :

دیدگاه خود را بیان کنید :

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

۹ دیدگاه برای این مطلب ثبت شده است

  1. farshid
    ۱:۱۴ ۱۳۹۵/۱۲/۱۴

    سلام

    سایت شما بهتتتتتتتتتتتتتتتتتتتتتتتتتتررررررررررررررررریییییییییییییییییییینه.

    عالیییییییییییییییییییییییییییییییییییییییییی.

    • امیر زنگی آبادی
      ۱۱:۱۹ ۱۳۹۵/۱۲/۱۴

      سلام
      باتشکر از شما و حمایت هایتان.
      امیدواریم بتوانیم این راه را همراه شما باقدرت ادامه بدهیم.

  2. farshid
    ۱:۲۹ ۱۳۹۶/۰۱/۱۵

    سلام دوست عزیز من تشکر می کنم از این مطلب گرانبها.

    فقط می گم چطور می شه با کلیک از توی خود اپلیکیشن زبان برنامه رو عوض کنیم ؟؟

    یا حال مثلا اگه بخواهم دو style برای اپلیکیشن تعریف کنیم و از درون خود نرم افزار بتوانیم style رو تغییر بدهیم چطور می شه ( منظورم اینه که مثلا با کلیک کردن روی یک دکمه این تغییر بر برنامه اعمال بشه ) ؟؟

    ممنون می شه پاسخ تون رو به ایمیلم بفرستید.

    باتشکر

    • امیر زنگی آبادی
      ۴:۵۶ ۱۳۹۶/۰۲/۱۱

      سلام
      بابت تاخیر در جواب کامنت پوزش می طلبم
      حتما جواب از طریق تیم پشتیبانی برای شما ایمیل می شود

      • Farshid
        ۵:۳۶ ۱۳۹۶/۰۲/۱۱

        تشکر ولی نیاز به توضیح بیشتر دارم ، البته اگه زحمتی نیست.

  3. farshid
    ۱:۳۱ ۱۳۹۶/۰۱/۱۵

    سلام دوست عزیز

    خواهشا درباره ی دیتابیس هم مطلب بنویسید.

    باتشکر

    • امیر زنگی آبادی
      ۴:۵۵ ۱۳۹۶/۰۲/۱۱

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

  4. نوید
    ۲:۲۰ ۱۳۹۶/۱۲/۰۲

    سلااام
    بهترییییین سایت آموزش اندروید در ایران
    تازه پیداتون کردم😀

    • امیر زنگی آبادی
      ۱۲:۳۴ ۱۳۹۶/۱۲/۰۳

      سلام، ممنون
      ما با شما بهترینیم.
      باعضویت در سایت به اسم خودتون می توانید مقاله هم ارسال کنید.