آموزش Internationalization در وب اپلیکیشن های ASP.NET Core
آموزش Internationalization در وب اپلیکیشن های ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی Internationalization در ASP.NET Core است که با نام اصلی ASP.NET Core Internationalization Deep Dive از شرکت Pluralsight منتشر شده است.
Internationalization در وب اپلیکیشن ها
یک وب سایت چند زبانه، اجازه میدهد تا مخاطبین به روشی کاربر پسندتر از آن استفاده کنند. در ASP.NET Core سرویسها و middleware هایی برای عملیات localize کردن به زبان ها و culture های مختلف وجود دارد. فرایند internationalization شامل دو فرایند globalization و localization میباشد. برآیند globalization به معنی طراحی اپلیکیشن هایی است که از چندین culture مختلف پشتیبانی می کنند.

globalization باعث می شود که ورودی، خروجی و نمایش مجموعه ای از language script های مربوط به یک منطقه جغرافیایی خاص در برنامه پشتیبانی بگردد. فرایند localization به معنی انطباق دادن یک اپلیکیشن globalized شده به یک culture و یا local خاص است. انجام عملیات localization در وب اپلیکیشنهای ASP.NET core شامل موارد زیر می باشند:
- localizable کردن محتوای وب اپلیکیشن
- فراهم کردن localized resource ها برای زبانها و culture هایی که پشتیبانی میشوند
- پیاده سازی یک استراتژی، برای انتخاب language و culture هر کدام از یک request ها
مزیت های چندزبانه بودن یا localize کردن یک وبسایت
مزیت های چندزبانه بودن یا localize کردن یک وبسایت در توسعه و ارائه خدمات آن بسیار حائز اهمیت میباشد. با localize کردن وبسایت به چندین زبان، میتوانید مخاطبان خود را در سراسر جهان جذب کنید و بازارهای جدیدی را برای خدمات و محصولات خود ایجاد کنید. این عمل باعث افزایش دسترسی کاربران از تمامی جوامع زبانی میشود و نتیجهای از جلب مخاطبان بیشتر، افزایش ترافیک و کاربران جدید میباشد.

به اضافه اینکه تجربه کاربری بهبود مییابد زیرا کاربران میتوانند وبسایت را به زبان خود ببینند. همچنین، با localize کردن وبسایت، امکان ارتقاء سطح اعتماد مشتریان به وبسایت و برند شما نیز وجود دارد، زیرا کاربران در محیطی که به زبان مادری خود مطالبی را مشاهده میکنند، احساس راحتی بیشتری دارند و با برند شما ارتباط عمیقتری برقرار میکنند.
مدیریت Culture و Resource File در ASP.NET Core
در یک وباپلیکیشن چندزبانه، انتخاب زبان نمایش تنها یکی از جنبههای محلیسازی است؛ Culture نیز میتواند بر قالب نمایش دادهها و تفسیر مقادیر اثر بگذارد. آموزش ASP.NET Core Internationalization Deep Dive به مفهوم Culture و کار با کلاس CultureInfo میپردازد و ارتباط Cultureها در محیط Multithread را نیز بررسی میکند. این مباحث به توسعهدهندگان کمک میکنند تفاوت میان تنظیمات فرهنگی را در برنامه درک کنند و هنگام پردازش درخواستها، رفتار مرتبط با زبان و قالب دادهها را آگاهانهتر مدیریت کنند. این موضوع بهخصوص در برنامههایی اهمیت دارد که کاربران آنها از تنظیمات منطقهای متفاوت استفاده میکنند.
Resource Fileها بخش اصلی دیگری از مسیر آموزشی هستند. در این آموزش، ایجاد و ویرایش Resourceها و بررسی سلسلهمراتب و Fallback در Cultureها مطرح میشود. این سازوکارها به برنامه اجازه میدهند متنهای محلیشده را برای فرهنگهای مشخص نگهداری کنند و در صورت نبود منبع دقیقتر، از گزینه جایگزین مناسب استفاده شود. همچنین Localization مربوط به Enumerationها و ابزارهایی مانند ResourceReader و ResourceWriter در سرفصلها قرار دارند. این موضوعات برای توسعهدهندگانی مفیدند که میخواهند متنهای نمایشی و مقادیر قابل ترجمه را از کد جدا کنند و نگهداری زبانهای مختلف را در برنامه ساختاریافتهتر انجام دهند.
پیکربندی Request Localization و استفاده از String Localizer
برای آنکه تنظیمات محلیسازی در زمان دریافت درخواست اعمال شوند، باید نحوه تشخیص و انتخاب Culture در مسیر پردازش درخواست مشخص باشد. این آموزش Request Localization Middleware و پیکربندی آن را بررسی میکند و به فعالسازی قابلیتهای Internationalization در ASP.NET Core میپردازد. شناخت جایگاه Middleware کمک میکند توسعهدهنده بداند انتخاب Culture چگونه در جریان درخواست وارد میشود و چرا تنظیمات آن باید با ساختار برنامه هماهنگ باشد. همچنین آشنایی با Environment و ارتباط تنظیمات اجرایی با رفتار برنامه، زمینه لازم برای پیکربندی درست قابلیتهای چندزبانه را فراهم میکند.
در بخش مربوط به MVC، استفاده از String Localizerها و String Localizer همراه با Factory Pattern بررسی میشود. این ابزارها برای دسترسی به متنهای ذخیرهشده در منابع محلیسازی به کار میروند و میتوانند کد مربوط به نمایش پیامها را از متنهای مخصوص هر زبان جدا کنند. انتخاب و سازماندهی منابع، همراه با درک سلسلهمراتب Cultureها، در نگهداری ترجمهها نقش دارد. این آموزش برای توسعهدهندگانی مناسب است که برنامه ASP.NET Core آنها باید بر اساس زبان یا تنظیمات فرهنگی درخواست پاسخ دهد و میخواهند ساختار محلیسازی را از مرحله آمادهسازی Resourceها تا اتصال آن به MVC پیادهسازی کنند.
سرفصل مطالب آموزش Internationalization در وب اپلیکیشن های ASP.NET Core
فصل اول: مقدمه این دوره آموزشی
- مقدمه
فصل دوم: درک مفهوم Internationalization
- مقدمه
- راه اندازی Environment
- تعاریف و اصطلاحات
- بررسی Culture ها
- Culture ها در NET Core.
- آموزش عملی: کار با CultureInfo Class
- آموزش عملی: ارتقا دادن ویژوال استودیو 2017
- بررسی ارتباط Culture های Multithread
- آموزش عملی: ارتباط Culture های Multithread
- بررسی Hierarchy و Fallback ها در Culture
- آموزش عملی: بررسی Hierarchy و Fallback ها در Culture
- جمع بندی
فصل سوم: کار با Resource File ها
- مقدمه
- آموزش عملی: ایجاد و ویرایش Resource File ها
- بررسی ResourceManager
- آموزش عملی: انجام Localization بر روی Enumeration ها
- بررسی Satellite Assembly ها
- آموزش عملی: استفاده از ResourceReader و ResourceWriter
- جمع بندی
فصل چهارم: فعال سازی Internationalization
- مقدمه
- معرفی String Localizer ها
- آموزش عملی: استفاده از String Localizer ها
- استفاده از String Localizer با Factory Pattern
- آموزش عملی: استفاده از String Localizer با Factory Pattern
- نکات پیاده سازی
- جمع بندی
فصل پنجم: پیاده سازی Request Localization
- مقدمه
- بررسی Request Localization Middleware
- آموزش عملی: اضافه کردن Request Localization Middleware
- پیکربندی Middleware
- آموزش عملی: استفاده از Parent Culture Fallback ها
- بررسی Request Culture Provider ها
- آموزش عملی: پیاده سازی Request Culture Provider ها
- جمع بندی
فصل ششم: پیاده سازی Localization در MVC
- مقدمه
- معرفی HTML Localizer ها
- آموزش عملی: استفاده از HTML Localizer ها
- بررسی View Localization
- آموزش عملی: استفاده از View Localization
- انجام Localization با Data Annotation ها
- آموزش عملی: انجام Localization با Data Annotation ها
- جمع بندی


