بومی‌سازی رابط کاربری با ویرایشگر ترجمه‌ها (Views)

مفاهیم و پیاده‌سازی Jetpack Compose

ویرایشگر ترجمه‌ها، نمایی یکپارچه و قابل ویرایش از تمام منابع رشته‌ای پیش‌فرض و ترجمه‌شده شما ارائه می‌دهد.

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

شکل ۱. ویرایشگر ترجمه‌ها که متن برنامه را قبل از ترجمه نشان می‌دهد

ویرایشگر ترجمه‌ها را از ویرایشگر طراحی باز کنید

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

  1. در پنل Project > Android در سمت چپ، ModuleName > res > layout را انتخاب کنید.
  2. برای ویرایش، روی content_main.xml دوبار کلیک کنید.
  3. برای نمایش ویرایشگر طراحی، روی برگه طراحی در گوشه پایین سمت چپ کلیک کنید.
  4. در ویرایشگر طراحی، زبان را انتخاب کنید لیست کشویی.
  5. ویرایش ترجمه‌ها را انتخاب کنید .

نمایش متن ترجمه شده در ویرایشگر طراحی

برای دیدن نحوه نمایش متن ترجمه شده در طرح‌بندی برنامه، متن را بین نسخه‌های پیش‌فرض و ترجمه شده در ویرایشگر طراحی، به صورت زیر تغییر دهید:

  1. در پنل Project > Android در سمت چپ، ModuleName > res > layout را انتخاب کنید.
  2. برای ویرایش، روی content_main.xml دوبار کلیک کنید.
  3. برای نمایش ویرایشگر طراحی، روی برگه طراحی در گوشه پایین سمت چپ کلیک کنید.
  4. در ویرایشگر طراحی، زبان را انتخاب کنید لیست کشویی.
  5. ویرایش ترجمه‌ها را انتخاب کنید .
  6. زبانی را که می‌خواهید برای مشاهده برنامه خود استفاده کنید، انتخاب کنید.

    شکل ۲. فهرست کشویی زبان با انتخاب زبان اسپانیایی

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

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

ویرایشگر طراحی را روی زبان پیش‌فرض تنظیم کنید

برای تنظیم مجدد زبان به حالت پیش‌فرض، es > Language را انتخاب کنید. .

مدیریت و آزمایش متن‌های قابل ترجمه

پلتفرم اندروید و اندروید استودیو چندین ویژگی را برای کمک به شما در مدیریت و آزمایش متن برنامه قابل ترجمه شما ارائه می‌دهند. این ویژگی‌ها گزینه‌هایی دارند که به شما کمک می‌کنند تا مشکلات مربوط به اسکریپت‌های راست به چپ (RTL)، مانند عربی یا عبری، را هدف قرار دهید. آزمایش متن قابل ترجمه شما به شما این امکان را می‌دهد که قبل از ارسال پیام‌های خود به مخزن منبع برای ارسال بعدی برای ترجمه، تنظیماتی را در متن رابط کاربری و طرح‌بندی آن انجام دهید.

پروژه خود را برای پشتیبانی از RTL بازسازی کنید

اندروید استودیو یک دستور refactoring دارد که پشتیبانی از متن دو جهته را در عناصر TextView ، ConstraintLayout و LinearLayout فعال می‌کند تا برنامه‌های شما بتوانند متن را هم در اسکریپت‌های چپ به راست (LTR) و هم راست به چپ (RTL) نمایش داده و به کاربران اجازه ویرایش آن را بدهند. این دستور همچنین امکان آینه‌سازی خودکار طرح‌بندی‌های رابط کاربری برنامه و همه ویجت‌های نمایش را فراهم می‌کند. برای مشاهده تغییر جهت متن و آینه‌سازی طرح‌بندی، باید ویژگی‌های متن و جهت طرح‌بندی را نیز در ویرایشگر طرح‌بندی تنظیم کنید.

روش زیر نحوه‌ی ریفکتور کردن پروژه برای پشتیبانی از RTL را نشان می‌دهد:

  1. برای نمایش کادر محاوره‌ای نشان داده شده در شکل ۴، در صورت امکان، Refactor > Add RTL support را انتخاب کنید.

    شکل ۴. اضافه کردن پشتیبانی RTL

    • اگر عنصر <application> در فایل AndroidManifest.xml شما ویژگی android:supportsRTL="true" را ندارد، کادر انتخاب Update AndroidManifest.xml را علامت بزنید.
    • اگر targetSdkVersion برنامه شما ۱۷ یا بالاتر است، گزینه Replace Left/Right Properties with Start/End Properties را انتخاب کنید. در این حالت، ویژگی‌های شما باید به جای "left" و "right" از "start" و "end" استفاده کنند. برای مثال، android:paddingLeft به android:paddingStart تبدیل می‌شود.
    • اگر targetSdkVersion برنامه شما ۱۶ یا کمتر است، Generate -v17 Versions را انتخاب کنید. در این حالت، XML شما باید از هر دو مجموعه ویژگی استفاده کند. برای مثال، XML شما باید از هر دو android:paddingLeft و android:paddingStart استفاده کند.
  2. برای نمایش پنجره‌ی Find Refactoring Preview ، روی Run کلیک کنید.

    شکل ۵. پیش‌نمایش را بررسی کنید

  3. روی انجام بازسازی (Refactor) کلیک کنید.

برای اطلاعات بیشتر در مورد بازسازی پروژه خود برای پشتیبانی از RTL، به پشتیبانی بومی RTL در اندروید ۴.۲ مراجعه کنید.

ویژگی‌های جهت متن و طرح‌بندی

پنجره Properties در سمت راست، ویژگی textDirection را برای استفاده با ویجت‌های متنی و ویژگی layoutDirection را برای استفاده با ویجت‌های layout جهت تغییر جهت متن و اجزای layout ارائه می‌دهد. ویژگی‌های direction در پنجره Properties در سمت راست فهرست شده‌اند و با API سطح ۱۷ یا بالاتر کار می‌کنند.

برای مشاهده تغییر جهت متن و قرینه‌سازی طرح‌بندی، باید پروژه را برای پشتیبانی از RTL نیز بازسازی کنید . در زبان انگلیسی، تغییر جهت متن فقط علائم نگارشی را از سمت راست به سمت چپ متن منتقل می‌کند؛ برای مثال، "Hello World!" به "!Hello World" تبدیل می‌شود. برای مشاهده تغییر متن از چپ به راست به راست، باید از یک زبان RTL در برنامه خود استفاده کنید. اگر می‌خواهید از انگلیسی استفاده کنید و تغییر متن به RTL را برای اهداف آزمایشی مشاهده کنید، از شبه‌زبان‌ها استفاده کنید. شبه‌زبان‌ها مستقل از دستور بازسازی و ویژگی‌های جهت هستند.

برای دسترسی و استفاده از ویژگی‌های direction، مراحل زیر را دنبال کنید:

  1. در ویرایشگر طرح‌بندی ، یک ابزارک متن انتخاب کنید.
  2. پنجره Properties را باز کنید و ویژگی RTL مورد نظر خود را جستجو کنید. برای تنظیم مقدار ویژگی، یکی از موارد زیر را انتخاب کنید:

    • firstStrong : پیش‌فرض برای نمای ریشه. اولین کاراکتر جهت‌دار قوی، جهت پاراگراف را تعیین می‌کند. اگر هیچ کاراکتر جهت‌دار قوی وجود نداشته باشد، جهت پاراگراف، جهت طرح‌بندی تعیین‌شده‌ی نما خواهد بود.
    • anyRtl : جهت پاراگراف اگر شامل هر کاراکتر RTL قوی باشد، RTL است؛ در غیر این صورت، اگر شامل هر کاراکتر LTR قوی باشد، LTR است. اگر هیچ‌کدام وجود نداشته باشد، جهت پاراگراف، جهت طرح‌بندی تعیین‌شده‌ی نما است.
    • ltr : جهت پاراگراف LTR است.
    • rtl : جهت پاراگراف RTL است.
    • زبان محلی : جهت پاراگراف از زبان محلی سیستم می‌آید.
    • ارث‌بری : پیش‌فرض. از جهت تعیین‌شده در والد استفاده کنید.

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

  3. برای بررسی متن و طرح‌بندی معکوس شده، برنامه را اجرا کنید.