پرش به مطلب اصلی

چندزبانه‌سازی اپلیکیشن

با قابلیت چندزبانه‌سازی می‌توانید اپ خود را برای کاربران با زبان‌های مختلف آماده کنید. در اپ‌ادیتور، این کار فقط ترجمه چند متن نیست؛ بلکه شامل تعریف زبان‌ها، انتخاب زبان اصلی، مدیریت شناسه هر زبان، تغییر زبان در زمان اجرا و بررسی زبان فعلی با شرط هم می‌شود.


چندزبانه‌سازی چه کاربردی دارد؟

  • ارائه اپ برای کاربران فارسی‌زبان، انگلیسی‌زبان یا چند منطقه مختلف
  • ساخت اپ‌هایی که کاربر بتواند زبان دلخواه خود را انتخاب کند
  • نمایش محتوای متفاوت بر اساس زبان
  • آماده‌سازی اپ برای انتشار گسترده‌تر

منطق کلی چندزبانه‌سازی در اپ‌ادیتور

در اپ‌ادیتور معمولاً این روند را طی می‌کنید:

  1. در تنظیمات اپ، زبان‌های موردنیاز را اضافه می‌کنید
  2. برای هر زبان، یک شناسه انتخاب می‌کنید
  3. یکی از زبان‌ها را به‌عنوان زبان اصلی مشخص می‌کنید
  4. متن‌های هر زبان را تنظیم یا ویرایش می‌کنید
  5. در صورت نیاز، با عملکرد تغییر زبان اجازه می‌دهید کاربر زبان اپ را عوض کند
  6. با استفاده از شرط زبان مشخص می‌کنید وقتی زبان فعلی مثلاً فارسی یا انگلیسی است، چه چیزی نمایش داده شود یا چه رفتاری انجام شود

زبان‌ها در تنظیمات اپ

برای چندزبانه کردن اپ، ابتدا باید از بخش تنظیمات اپ، زبان‌های موردنظر را تعریف کنید.

در این بخش:

  • می‌توانید یک یا چند زبان به اپ اضافه کنید
  • برای هر زبان باید یک شناسه زبان انتخاب شود
  • می‌توانید از بین زبان‌های آماده، زبان موردنظر را اضافه کنید
  • در صورت نیاز، متن‌های پیش‌فرض همان زبان را تغییر دهید

شناسه زبان چیست؟

هر زبان در اپ باید یک شناسه داشته باشد. این شناسه همان مقداری است که سیستم با آن زبان را می‌شناسد و در منطق اپ از آن استفاده می‌شود.

مثال:

  • fa
  • en
  • ar

این شناسه اهمیت زیادی دارد چون:

  • در شرط‌ها ممکن است زبان فعلی با همین شناسه بررسی شود
  • در عملکرد تغییر زبان، انتخاب زبان بر همین اساس انجام می‌شود
  • ساختار چندزبانه اپ به یک شناسه ثابت و مشخص وابسته است

پیشنهاد:

  • شناسه‌ها را کوتاه، ثابت و استاندارد انتخاب کنید
  • بعد از شروع پروژه، شناسه‌ها را بی‌دلیل تغییر ندهید

زبان‌های آماده

اپ‌ادیتور تعدادی زبان آماده در اختیار شما قرار می‌دهد. یعنی لازم نیست همه چیز را از صفر بسازید.

در عمل می‌توانید:

  • یک زبان آماده را به اپ اضافه کنید
  • متن‌های پیش‌فرض آن را بررسی کنید
  • اگر نیاز دارید، همان متن‌ها را تغییر دهید
  • ترجمه‌ها را با ادبیات برند یا محتوای پروژه خود هماهنگ کنید

این قابلیت باعث می‌شود راه‌اندازی اولیه سریع‌تر باشد، اما همچنان کنترل کامل روی متن‌ها را داشته باشید.


زبان اصلی چیست؟

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

زبان اصلی معمولاً:

  • زبان پیش‌فرض اپ است
  • زمانی استفاده می‌شود که کاربر هنوز زبان دیگری انتخاب نکرده باشد
  • مبنای بسیاری از متن‌ها و ساختار اولیه محتواست

مثلاً اگر اپ شما در اصل فارسی است و فقط نسخه انگلیسی هم دارد، معمولاً:

  • زبان اصلی: fa
  • زبان دوم: en

پیشنهاد:

  • زبانی را به‌عنوان زبان اصلی انتخاب کنید که مبنای تولید محتوای اصلی پروژه است
  • ترجمه‌ها را بر اساس همان زبان اصلی مدیریت کنید

تغییر زبان در زمان اجرا

برای تغییر زبان اپ در زمان اجرا، از عملکرد تغییر زبان استفاده می‌کنید. این عملکرد به شما اجازه می‌دهد وقتی کاربر روی یک دکمه، آیتم منو یا انتخاب‌گر زبان کلیک کرد، زبان اپ تغییر کند.

نمونه کاربردها:

  • دکمه «فارسی»
  • دکمه «English»
  • منوی انتخاب زبان
  • صفحه تنظیمات اپ

فرایند معمول:

  1. یک دکمه یا ویجت انتخاب زبان بسازید
  2. برای آن رویداد کلیک تعریف کنید
  3. عملکرد تغییر زبان را به آن وصل کنید
  4. زبان مقصد را بر اساس شناسه موردنظر انتخاب کنید

مثال:

  • کلیک روی دکمه فارسی ← تغییر زبان به fa
  • کلیک روی دکمه انگلیسی ← تغییر زبان به en

شرط زبان فعلی

در کنار عملکرد تغییر زبان، می‌توانید بررسی کنید که الان زبان اپ چیست. این کار معمولاً با یک شرط انجام می‌شود.

این شرط برای سناریوهای زیادی مفید است:

  • نمایش یک متن فقط در زبان فارسی
  • نمایش یک بنر متفاوت در زبان انگلیسی
  • تغییر جهت یا محتوای بخشی از صفحه
  • اجرای عملکرد متفاوت بر اساس زبان فعلی

مثال‌های کاربردی:

  • اگر زبان فعلی fa بود ← متن فارسی نمایش بده
  • اگر زبان فعلی en بود ← نسخه انگلیسی همان محتوا را نمایش بده

این قابلیت زمانی مهم می‌شود که فقط ترجمه متن ساده مدنظر نباشد و بخواهید رفتار یا ساختار نمایش هم با زبان تغییر کند.


چندزبانه‌سازی فقط ترجمه متن نیست

در بسیاری از پروژه‌ها، چندزبانه‌سازی فقط به معنی ترجمه عنوان‌ها نیست. ممکن است لازم باشد این موارد هم بر اساس زبان تغییر کنند:

  • عنوان دکمه‌ها
  • متن فرم‌ها
  • پیام‌های خطا و موفقیت
  • متن منوها
  • توضیحات صفحه‌ها
  • برخی تصویرها یا بنرها
  • ترتیب یا نمایش بعضی بخش‌ها

به همین دلیل، بهتر است از ابتدا ساختار پروژه را طوری بچینید که متن‌ها و محتواها قابل مدیریت باشند.


یک سناریوی ساده

فرض کنید اپ شما دو زبان دارد: فارسی و انگلیسی

  1. در تنظیمات اپ، زبان‌های fa و en را اضافه می‌کنید
  2. زبان اصلی را روی fa می‌گذارید
  3. متن‌های مربوط به هر زبان را تنظیم می‌کنید
  4. در صفحه تنظیمات، دو دکمه برای تغییر زبان می‌گذارید
  5. دکمه اول با عملکرد تغییر زبان، اپ را روی fa قرار می‌دهد
  6. دکمه دوم با همان عملکرد، اپ را روی en قرار می‌دهد
  7. در بعضی صفحه‌ها با شرط بررسی می‌کنید که اگر زبان فعلی en بود، متن یا محتوای متفاوتی نمایش داده شود

چه بخش‌هایی را می‌توان چندزبانه کرد؟

بسته به ساختار اپ، این موارد معمولاً در چندزبانه‌سازی دخیل هستند:

  • متن ویجت‌ها
  • عنوان صفحه‌ها
  • آیتم‌های منو
  • پیام‌های هشدار یا موفقیت
  • متن دکمه‌ها
  • بخش‌های آموزشی یا توضیحی
  • بعضی محتواهای وابسته به زبان

نکات مهم در مدیریت زبان‌ها

  • قبل از شروع، فهرست زبان‌های موردنیاز را مشخص کنید
  • برای هر زبان شناسه‌ای استاندارد و ثابت انتخاب کنید
  • زبان اصلی را با دقت تعیین کنید
  • ترجمه‌ها را فقط کلمه‌به‌کلمه انجام ندهید؛ متن باید طبیعی و متناسب با مخاطب باشد
  • اگر از زبان آماده استفاده می‌کنید، متن‌های آن را بازبینی کنید
  • برای دکمه تغییر زبان، مسیر واضح و قابل فهم در رابط کاربری در نظر بگیرید
  • در شرط‌های مربوط به زبان، همیشه شناسه‌ها را دقیق و یکدست استفاده کنید

خطاهای رایج

زبان اضافه شده ولی متن‌ها کامل نیستند

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

شناسه زبان اشتباه یا ناهماهنگ است

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

زبان اصلی به‌درستی انتخاب نشده

اگر زبان اصلی نامناسب باشد، ممکن است تجربه اولیه کاربر یا ساختار متن‌ها به‌هم بخورد.

فقط متن‌ها ترجمه شده‌اند ولی منطق نمایش بررسی نشده

گاهی لازم است علاوه بر ترجمه، با شرط زبان نمایش بعضی بخش‌ها را هم کنترل کنید.


پیشنهاد برای طراحی بهتر

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