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

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

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

در این درس از آموزش های برنامه نویسی سایت سورس باران، با آموزش بین المللی کردن در برنامه نویسی فلاتر در خدمت شما هستیم.

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

برای اینکه یک برنامه به زبانهای مختلف کار کند، ابتدا باید محلی را برای سیستمی که برنامه در آن در حال اجرا است پیدا کند و سپس باید محتوای آن را در آن مکان خاص نشان دهد و این فرآیند را محلی سازی می نامند.

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

کلاسهای پایه به شرح زیر است –

Locale –  یک کلاس است که برای شناسایی زبان کاربر استفاده می شود. به عنوان مثال ، en-us انگلیسی آمریکایی را شناسایی می کند و می تواند به صورت زیر ایجاد شود.

در اینجا، اولین استدلال کد زبان است و استدلال دوم کد کشور است. مثال دیگر ایجاد locale اسپانیا (es-ar) آرژانتین به شرح زیر است –

 

Localizations – Localizations یک ویجت عمومی است که برای تنظیم Locale و منابع محلی شده فرزندش استفاده می شود.

 

در اینجا ، CustomLocalizations یک کلاس سفارشی جدید است که به طور خاص برای به دست آوردن محتوای محلی (عنوان و پیام) خاص برای ویجت ایجاد شده است. متد از کلاس Localizations برای بازگرداندن کلاس جدید CustomLocalizations استفاده می کند.

<LocalizationsDelegate <T> – LocalizationsDelegate <T یک کلاس کارخانه ای است که از طریق آن ویجت Localizations بارگیری می شود. این سه روش کاملا قابل override کردن، دارد –

locale _isSupported را می پذیرد و اعم از اینکه locale مشخص شده پشتیبانی شود یا خیر، برمی گرداند.

 

در اینجا، نماینده فقط برای en و es locale کار می کند.

load – locale را می پذیرد و بارگیری منابع مربوط به locale را شروع می کند.

 

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

shouldReload – مشخص می کند که آیا بارگیری CustomLocalizations هنگام بازسازی ویجت Localizations آن ضروری است.

 

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

 

به طور کلی ، برنامه هایفلاتر بر اساس دو ویجت سطح ریشه، MaterialApp یا WidgetsApp ساخته شده اند. فلاتر محلی سازی آماده را برای هر دو ویجت فراهم می کند و آنها MaterialLocalizations و WidgetsLocaliation هستند. علاوه بر این، همچنین نمایندگان را برای بارگذاری MaterialLocalizations و WidgetsLocalations فراهم می کند و آنها به ترتیب GlobalMaterialLocalizations.delegate و GlobalWidgetsLocalizations.delegate هستند.

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

یک برنامه جدید فلاتر ایجاد کنید ، flutter_localization_app.

فلاتر با استفاده از بسته منحصر به فرد ، flutter_localizations ، از بین المللی سازی پشتیبانی می کند. ایده این است که محتوای محلی شده را از SDK اصلی جدا کنید. pubspec.yaml را باز کنید و برای فعال کردن بسته بین المللی سازی کد زیر را اضافه کنید –

 

Android studio هشدار زیر را نمایش می دهد که pubspec.yaml به روز شده است.

Alert

گزینه Get dependencies را کلیک کنید. Android studio بسته را از اینترنت دریافت کرده و به درستی برای برنامه پیکربندی می کند.

وارد کردن بسته flutter_localizations در main.art را به صورت زیر انجام دهید –

 

در اینجا، هدف SynchronousFuture بارگذاری محلی سازی های سفارشی به صورت همزمان است.

محلی سازی سفارشی و نماینده مربوط به آن را به شرح زیر ایجاد کنید

 

در اینجا ، CustomLocalizations برای پشتیبانی از محلی سازی عنوان و پیام در برنامه ایجاد می شود و CustomLocalizationsDelegate برای بارگذاری CustomLocalizations استفاده می شود.

نمایندگان MaterialApp ، WidgetsApp و CustomLocalization را با استفاده از خصوصیات MaterialApp، محلی سازی ها، نمایندگان و مناطق پشتیبانی شده به شرح زیر اضافه کنید –

 

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

 

در اینجا، کلاس MyHomePage را از StatefulWidget به StatelessWidget به دلیل سادگی تغییر داده و از CustomLocalizations برای دریافت عنوان و پیام استفاده کرده ایم.

  • برنامه را کامپایل و اجرا کنید. برنامه محتوای خود را به انگلیسی نشان می دهد.
  • برنامه را ببندید. به Settings → System → Languages and Input → Languages*. بروید.
  • روی گزینه Add a language کلیک کنید و اسپانیایی را انتخاب کنید. با این کار زبان اسپانیایی نصب می شود و سپس به عنوان یکی از گزینه ها لیست می شود.
  • اسپانیایی را انتخاب کنید و آن را به بالای انگلیسی منتقل کنید. این به عنوان اسپانیایی به عنوان زبان اول تنظیم می شود و همه چیز به متن اسپانیایی تغییر می یابد.
  • اکنون برنامه بین المللی سازی را دوباره راه اندازی کنید و عنوان و پیام را به زبان اسپانیایی مشاهده خواهید کرد.
  • با تنظیم گزینه English در بالای گزینه Spanish می توانیم زبان را به انگلیسی برگردانیم.

نتیجه برنامه (به زبان اسپانیایی) در تصویر زیر نشان داده شده است –

Manifestacion

استفاده از پکیج intl

فلاتر پکیج ساده ای را برای ساده سازی بیشتر برنامه های کاربردی محلی سازی شده ارائه می دهد. پکیج intl روشها و ابزارهای ویژه ای برای تولید نیمه خودکار پیامهای خاص زبان ارائه می دهد.

اجازه دهید با استفاده از بسته intl یک برنامه محلی سازی شده جدید ایجاد کنیم و مفهوم آن را درک کنیم.

یک برنامه جدید  فلاتر ایجاد کنید ، flutter_intl_app.

pubspec.yaml را باز کنید و جزئیات بسته را اضافه کنید.

Android studio هشدار را همانطور که در زیر نشان داده شده است به شما نشان می دهد و با به روزرسانی pubspec.yaml اطلاع می دهد.

Informing Updation

 

گزینه get dependencies را کلیک کنید. Android studio بسته را از اینترنت دریافت کرده و به درستی برای برنامه پیکربندی می کند.

از نمونه قبلی، flutter_internationalization_app ، main.dart را کپی کنید.

intl pacakge را همانطور که در زیر نشان داده شده وارد کنید –

 

کلاس CustomLocalization را همانطور که در کد داده شده در زیر نشان داده شده، به روز کنید

 

در اینجا ، ما از پکیج intl به جای روش های سفارشی، از سه روش استفاده کرده ایم. در غیر این صورت، مفاهیم یکسان هستند.

  • Intl.canonicalizedLocale – برای بدست آوردن نام محلی صحیح استفاده می شود.
  • Intl.defaultLocale – برای تنظیم محلی فعلی استفاده می شود
  • Intl.message – برای تعریف پیام های جدید استفاده می شود.

 

فایل l10n / messages_all.dart را وارد کنید.

 

اکنون یک پوشه  lib / l10n ایجاد کنید

خط فرمان را باز کرده و به دایرکتوری ریشه برنامه (جایی که pubspec.yaml در دسترس است) بروید و دستور زیر را اجرا کنید –

در اینجا  دستور فایل intl_message.arb ، الگویی برای ایجاد پیام در محلی متفاوت ایجاد می کند. محتوای فایل به شرح زیر است –

{

  • intl_message.arb را کپی کنید و فایل جدیدی ایجاد کنید ، intl_en.arb.
  • intl_message.arb را کپی کرده و فایل جدیدی ایجاد کنید ، intl_es.arb و تغییر محتوا به زبان اسپانیایی مانند تصویر زیر –

 

اکنون ، برای ایجاد فایل پیام نهایی، messages_all.dart ، دستور زیر را اجرا کنید.

 

برنامه را کامپایل و اجرا کنید. این کار مشابه برنامه فوق ، flutter_localization_app خواهد بود.

منبع.

لیست جلسات قبل آموزش برنامه نویسی فلاتر

  1. معرفی برنامه نویسی فلاتر
  2. آموزش نصب فلاتر
  3. اصول ایجاد یک برنامه فلاتر در Android Studio
  4. معماری فریم ورک برنامه نویسی فلاتر
  5. مقدمه ای بر برنامه نویسی دارت
  6. مقدمه ای بر ویجت ها در برنامه نویسی فلاتر
  7. آموزش طرح بندی در برنامه نویسی فلاتر 
  8. ژست های حرکتی در برنامه نویسی فلاتر 
  9. مدیریت State در برنامه نویسی فلاتر
  10. آموزش انیمیشن در برنامه نویسی فلاتر
  11. آموزش نوشتن کد خاص اندروید در برنامه نویسی فلاتر
  12. آموزش نوشتن کد مخصوص IOS در برنامه نویسی فلاتر
  13. مقدمه ای بر پکیج ها در برنامه نویسی فلاتر 
  14.  مفهوم پایگاه داده در برنامه نویسی فلاتر 
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه