دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • شهریور

محلی سازی برنامه ها در Android Studio

  • دسته‌بندی‌ها :
محلی سازی برنامه ها در Android Studio
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . در بخش قبلی به چگونگی تغییر دادن تنظیمات زمان اجرای برنامه،اشاره کردیم. برنامه اندروید پس از طراحی شدن، باید در محل های مختلف روی دستگاه های مختلف نصب و بصورت محلی اجرا شود. برای این منظور دراین بخش ما بهترین روش ها را، برای محلی سازی برنامه ها در Android Studio را، برای شما ارائه می کنیم.

      محلی سازی برنامه ها در Android Studio

      شما از قبل باید زبان جاوا را بدانید. و با مفاهیم بارگزاری منابع اندروید، مفاهیم توسعه و…آشنایی داشته باشید.

      تعویض Resource ها در اندروید

      منابع یا resource ها، شامل طراحی ها، صداها، گرافیک و … می شود. که هرکدام در دستگاههای مختلف، متفاوت عمل می کند.

      همانطور که در بخش های قبلی نیز اشاره شد باید resource هایی را نیز به عنوان جایگزین در برنامه ، مشخص کنید.

      هنگامیکه برنامه در دستگاه متفاوتی اجرا شود از منابع جایگزین برای اجرا شدن در آن دستگاه استفاده می کند.

      البته مطالب فوق جهت اطلاع و یادآوری بیان شده و محور اصلی این بحث درباره محلی سازی برنامه است.

      استفاده از resource برای محلی سازی برنامه

      ایجاد resource های پیش فرض برنامه

      متن پیش فرض برنامه در شاخه ی res/values/strings.xml قرار می گیرد.

      متن تعریف شده در res/values/strings.xml از زبان پیش فرض برنامه استفاده می کند.

      برخی از منابع پیش فرض برنامه:

      • res/drawable/ (برای فایل های گرافیکی برنامه استفاده می شود.)
      • res/layout/ (فایل های XML که طراحی برنامه را توصیف می کند را تعریف می کند.)
      • res/anim/ (انیمیشن های برنامه را در فولدر<res/anim-<qualifiers تعریف می کند.)
      • res/xml/ (کد XML برنامه را در فولدر <res/xml-<qualifiers تعریف می کند.)
      • res/raw/ (اگر برنامه شما دارای <res/raw-<qualifiers باشد لازم است.)

      چگونگی ایجاد resource های جایگزین

      بخش بزرگی از محلی سازی به تعریف متن جایگزین برای زبان های مختلف مربوط می شود.

      در بعضی موارد نیاز است. که شما گرافیک صدا و طرح های جایگزین را نیز برای تعریف resource محلی، ارائه دهید.

      برای تعریف resource جایگزین برای زبان های دیگر، می توانید از qualifier استفاده کنید. که قبلا به آن اشاره کردیم.

      مثال:

      اگر شما یک برنامه با زبان پیش فرض انگلیسی اشته باشید. و بخواهید متن برنامه ی خود را به زبان فرانسه و ژاپنی محلی کنید، بصورت زیر عمل کنید:

      ابتدا یک فایل strings.xml ایجاد کرده و هر زبان را در دایرکتوری جداگانه ای تعریف کنید:

      ۱- res/values/strings.xml : شامل متن انگلیسی برای تمام رشته های برنامه است. که شامل title می شود.

      ۲- res/values-fr/strings.xml : شامل متن فرانسه برای تمام رشته های برنامه است. که شامل title می شود.

      ۳- res/values-ja/strings.xml : شامل متن ژاپنی برای تمام رشته های برنامه است. که شامل title می شود.

      چیزی که در زمان اجرا اتفاق می افتد:

      • اگر دستگاه به هر زبان دیگری غیر از زبان فرانسه تنظیم شده باشد. اندورید title را از مسیر res/values/strings.xml ، فراخوانی می کند.
      • اگر دستگاه به زبان فرانسه تنظیم شده باشد، اندروید title را از مسیر res/values-fr/strings.xml فراخوانی می کند.

      منابعی که مهم هستند

      اگر چند دایرکتوری resource با دستگاه مطابقت داشته باشد، اندروید معمولا resource محلی را در اولویت قرار می دهد.

      مثال:

      فرض کنیم که یک برنامه دارای یک resource پیش فرض گرافیک و دو resource گرافیک دیگر است. که برای دستگاههای مختلف، تعریف شده است:

      • res/drawable/ : شامل گرافیک های پیش فرض است.
      • res/drawable-small-land-stylus/ : شامل گرافیک هایی برای صفحه نمایش QVGA است.
      • res/drawable-ja/ : شامل گرافیک های برای استفاده های ژاپنی است.

      اگر برنامه روی دستگاهی به منظور استفاده ژاپنی نصب شود. اطلاعات گرافیک برنامه از res/drawable-ja/ فراخوانی می شود.

      اشاره به resource ها در کد 

      اگر برنامه شما با زبان جاوا نوشته شده از ساختار R.resource_type.resource_name برای اشاره به resource ها استفاده کنید

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

      مدیریت رشته ها برای محل سازی

      بهتر است رشته های خود را در فایل strings.xml برای آسان شدن بروزرسانی و محلی سازی، قرار دهید.

      رشته هایی که در فایل strings.xml قرار گرفته باشد در صورت لزوم به راحتی استخراج شده و قابل استفاده است.

      و در صورتی که تصاویر برنامه شما شامل متن است، آن متن را در فایل strings.xml قرار دهید.

      همانطور که رشته های خود را در فایل strings.xml قرار می دهید. آن ها را در برنامه در دسترس قرار دهید. چراکه برای مترجم، ارزشمند است.

      همچنین به شما کمک می کند که رشته های خود را بهتر مدیریت کنید.

      مثال:

      مثال : 

      علامتگذاری بخشی از متن که نباید ترجمه شود

      ممکن است متن شامل بخشی یا عبارتی مانند قطعه کد،یک حفره در برنامه یا یک نماد خاص باشد که نباید ترجمه شود.

      برای مشخص مردن بخشی از متن که نباید ترجمه شود باید از تگ <xliff:g> استفاده کنید.

      مثال:

      در این مثال با استفاده از تگ <xliff:g> مشخص می کنیم که کاراکتر ” $۱%” در متن نباید ترجمه شود:

      مثال : 

      در ادامه به مثال های بیشتری اشاره کرده ایم:

      مثال : 

      جستجوی دستی محلی

      برای جستجوی resource های محلی در زبان جاوا از کد نمونه زیر استفاده کنید:

      مثال : 

      کلام آخر

      در ادامه سری آموزشهای آندروید، در این بخش، ما شما را با چگونگی محلی سازی برنامه ها در Android Studio ، آشنا کردیم. امیدواریم که این آموزش، مورد توجه و رضایت شما قرار گرفته باشد.

       

      QR:  محلی سازی برنامه ها در Android Studio
      به اشتراک بگذارید