بومی سازی UI با ویرایشگر ترجمه

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

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

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

منابع رشته ای

منابع رشته ای برای یک پروژه در فایل های strings.xml موجود است. پروژه شما دارای یک فایل strings.xml پیش‌فرض است که حاوی منابع رشته‌ای به زبان پیش‌فرض برنامه شما است، زبانی که انتظار دارید اکثر کاربران برنامه‌تان به آن صحبت کنند. همچنین می‌توانید فایل‌های ترجمه شده strings.xml را داشته باشید که حاوی منابع رشته‌ای برای زبان‌های دیگری هستند که می‌خواهید برنامه‌تان آن‌ها را در خود جای دهد.

هنگامی که فایل strings.xml پیش‌فرض خود را تکمیل کردید، می‌توانید ترجمه‌ها را خودتان اضافه کنید یا به یک سرویس حرفه‌ای برای انجام ترجمه‌ها بپردازید. در هر صورت، باید از ویژگی‌های Android Studio برای مدیریت و آزمایش متن قابل بومی‌سازی استفاده کنید. برای اطلاعات در مورد خدمات ترجمه حرفه ای، به سفارش خدمات ترجمه مراجعه کنید.

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

می‌توانید از مکان‌های زیر در Android Studio به ویرایشگر ترجمه دسترسی داشته باشید.

از نمای اندروید باز کنید

  1. در پانل Project > Android در سمت چپ، ModuleName > res > values ​​را انتخاب کنید.
  2. روی فایل strings.xml کلیک راست کرده و Open Translations Editor را انتخاب کنید.

    ویرایشگر ترجمه، جفت کلید و مقدار را از فایل strings.xml نمایش می دهد.

    توجه: هنگامی که فایل های strings.xml را ترجمه می کنید، پروژه شما دارای چندین پوشه مقادیر متناظر با پسوندهایی است که زبان را نشان می دهد، مانند values-es برای اسپانیایی. فایل strings.xml پیش فرض شما همیشه در پوشه مقادیر (بدون پسوند) است.

شکل 1 متن برنامه پیش فرض (در این مورد، انگلیسی) را در ویرایشگر ترجمه برای یک برنامه ساده قبل از انجام کار ترجمه نشان می دهد. همانطور که در شکل 2 نشان داده شده است، محتویات فایل های ترجمه شده strings.xml در سمت راست ستون Untranslatable با یک ستون در هر زبان ظاهر می شود.

از داخل strings.xml باز کنید

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

  1. در پانل Project > Android در سمت چپ، ModuleName > res > values ​​را انتخاب کنید.
  2. روی strings.xml دوبار کلیک کنید تا برای ویرایش باز شود.
  3. در strings.xml ، روی پیوند Open editor در گوشه سمت راست بالا کلیک کنید.

توجه: اگر روی پیوند Hide notification کلیک کنید، پیوند Open editor حذف می‌شود. برای بازگرداندن آن، پروژه را ببندید و دوباره باز کنید.

از ویرایشگر طراحی باز کنید

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

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

ردیف های غیر قابل ترجمه را پیکربندی کنید

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

وقتی Untranslatable را علامت می‌زنید، خط مربوطه در فایل پیش‌فرض strings.xml ، translatable="false" را اضافه می‌کند. در مثال زیر، EasyApp در خط بالا ترجمه نشده است زیرا نام محصول است.

<resources>
    <string name="app_name" translatable="false">EasyApp</string>
    <string name="action_settings">Settings</string>
    <string name="easy_app">I am a Simple App!</string>
    <string name="next_page">Next Page</string>
    <string name="second_page_message">I am the Second Page!</string>
    <string name="title_activity_second">SecondActivity</string>
</resources>

اضافه کردن و حذف زبان

ویرایشگر ترجمه از BCP 47 پشتیبانی می کند و کدهای محلی و منطقه (کشور) را در یک انتخاب واحد برای محلی سازی های هدفمند ترکیب می کند. یک زبان بیشتر از زبان تعریف می کند. یک منطقه شامل قالب‌بندی وابسته به کشور برای مواردی مانند تاریخ و زمان، ارزها و اعشار است.

برای افزودن زبان، موارد زیر را انجام دهید:

  1. در ویرایشگر ترجمه ، روی نماد کره زمین کلیک کنید .
  2. از لیست کشویی، زبانی را که می خواهید اضافه کنید انتخاب کنید.

    زبان جدید در ویرایشگر ترجمه ها ظاهر می شود و یک پوشه values-* با فایل strings.xml به پروژه اضافه می شود. به عنوان مثال، مقادیر-es برای اسپانیایی.

برای حذف یک زبان، موارد زیر را انجام دهید:

می‌توانید با حذف هر مقدار در ستون، زبانی را در ویرایشگر ترجمه‌ها حذف کنید ( به ویرایش، افزودن یا حذف متن مراجعه کنید)، یا می‌توانید پوشه پروژه مربوط به آن زبان را به شرح زیر حذف کنید:

  1. در پانل Project > Android در سمت چپ، ModuleName > res را انتخاب کنید.
  2. روی پوشه values-* زبانی که می خواهید حذف کنید کلیک راست کنید. به عنوان مثال، values-hi برای هندی.
  3. از لیست کشویی، Delete را انتخاب کنید تا پوشه و فایل strings.xml آن حذف شود.

متن را ویرایش، اضافه و حذف کنید

می‌توانید تنظیمات متن را مستقیماً در فایل strings.xml یا از طریق ویرایشگر ترجمه‌ها انجام دهید. این بخش رویکرد ویرایشگر ترجمه را توضیح می دهد. در ویرایشگر ترجمه ، می توانید متن را از طریق نمای فهرست یا از طریق فیلد ترجمه در پایین ویرایشگر ترجمه ویرایش، اضافه یا حذف کنید.

شکل 2. نمای فهرست در بالا و قسمت ترجمه در پایین

نمای فهرستی

برای ویرایش یا افزودن متن، موارد زیر را انجام دهید:

  1. روی سلولی که می خواهید متن را ویرایش یا اضافه کنید دوبار کلیک کنید.
  2. یک کپی پیست صفحه‌کلید انجام دهید، یا اگر صفحه‌کلیدی دارید که از علامت‌های دیاکریتیک پشتیبانی می‌کند، مستقیماً در نمای فهرست تایپ کنید.
  3. نشانگر را برگه یا به خارج از فیلد حرکت دهید.

برای حذف متن، موارد زیر را انجام دهید:

  1. روی سلولی که می خواهید حذف کنید دوبار کلیک کنید.
  2. در نمای فهرست، متن را انتخاب کرده و Delete را فشار دهید.
  3. نشانگر را برگه یا به خارج از فیلد حرکت دهید.

فیلد ترجمه

برای ویرایش یا افزودن متن، موارد زیر را انجام دهید:

  1. در نمای فهرست، روی سلولی که می‌خواهید متن را ویرایش یا اضافه کنید، تک کلیک کنید.
  2. در قسمت Translation ، یک کپی-پیست صفحه کلید انجام دهید، یا اگر صفحه کلیدی دارید که از علائم دیاکریتیک پشتیبانی می کند، مستقیماً در قسمت Translation تایپ کنید.
  3. نشانگر را برگه یا به خارج از فیلد حرکت دهید.

برای حذف متن، موارد زیر را انجام دهید:

  1. روی سلولی که می خواهید حذف کنید یکبار کلیک کنید.
  2. در قسمت Translation ، متن را انتخاب کرده و Delete را فشار دهید.

افزودن و حذف کلیدها

در ویرایشگر ترجمه، ستون Key شناسه های منحصر به فرد برای هر مورد داده در فایل های strings.xml شما را فهرست می کند. می توانید کلیدها را از طریق ویرایشگر ترجمه اضافه و حذف کنید. وقتی کلیدی را حذف می‌کنید، ویرایشگر ترجمه آن و همه ترجمه‌های مرتبط با آن را حذف می‌کند. ویرایشگر ترجمه‌ها از Safe Delete refactoring برای حذف یک کلید استفاده می‌کند، بنابراین شما می‌دانید که آیا متن کلید در جای دیگری استفاده شده است یا خیر و فرصتی برای انجام تنظیمات لازم قبل از حذف کلید داشته باشید. Safe Delete refatoring تضمین می کند که پس از حذف کلید، کد شما همچنان کامپایل می شود.

برای افزودن یک کلید، موارد زیر را انجام دهید:

  1. در ویرایشگر ترجمه ، روی افزودن کلید کلیک کنید .
  2. در گفتگو، نام کلید، مقدار پیش‌فرض و محل فایل پیش‌فرض strings.xml را وارد کنید.

    شکل 3. یک کلید اضافه کنید

برای حذف یک کلید، موارد زیر را انجام دهید:

  1. در ویرایشگر ترجمه، کلیدی را که می خواهید حذف کنید انتخاب کنید.
  2. روی حذف کلیدها کلیک کنید .
  3. در گفتگوی Delete ، تصمیم بگیرید که آیا می‌خواهید یک حذف امن داشته باشید و آیا می‌خواهید در نظرات و رشته‌ها جستجو کنید یا خیر، و روی OK کلیک کنید.

    شکل 4. محاوره را حذف کنید

    اگر هیچ ارجاعی (استفاده) برای کلید حذف شده وجود نداشته باشد، یا اگر همه مراجع به طور ایمن جمع شوند، کلید حذف می شود. در غیر این صورت، ویرایشگر ترجمه، گفتگوی Usages Detected را با اطلاعات مربوط به مشکلات شناسایی شده نمایش می دهد.

    شکل 5. محاوره را حذف کنید

  4. مشاهده موارد مصرف را انتخاب کنید تا موارد حذف شده را مرور کنید. گفتگوی Find Safe Delete Conflicts همه مواردی را که حذف آنها امن نیست نشان می دهد تا بتوانید کد مربوطه خود را ویرایش کنید.

    شکل 6. استفاده های ناامن

  5. روی یک استفاده کلیک راست کنید تا منوی زمینه نمایش داده شود و Jump to Source را انتخاب کنید تا بتوانید تغییرات مورد نیاز را انجام دهید.
  6. در پانل Find Safe Delete Conflicts ، Rerun Safe Delete را انتخاب کنید تا مطمئن شوید هیچ کاربرد دیگری وجود ندارد که نیاز به توجه داشته باشد.
  7. هنگامی که کاربردها پاک شدند، روی Do Refactor کلیک کنید تا کلید حذف شود.

اشتباهات را تصحیح کنید

شکل 7 ویرایشگر ترجمه ها را نشان می دهد که محتویات فایل های strings.xml انگلیسی، اسپانیایی و فرانسوی را نشان می دهد. متن قرمز خطوطی را نشان می دهد که دارای خطا هستند.

شکل 7. متن قرمز یک وضعیت خطایی را نشان می دهد که باید آن را برطرف کنید

برای تصحیح یک خطا، نشانگر را روی متن قرمز قرار دهید تا توضیحی درباره مشکل و حل آن نمایش داده شود.

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

نمونه اصلاحات ویرایشگر ترجمه :

  • شکل 7 نشان می دهد که ردیف app_name غیر قابل ترجمه علامت زده شده است، اما یک ترجمه اسپانیایی ارائه شده است. برای تصحیح خطا، ترجمه اسپانیایی را حذف کنید.
  • شکل 7 نشان می دهد که ردیف next_page یک ترجمه فرانسوی ندارد. از صفحه کلید خود برای کپی کردن Page Suivante در سلول برای تصحیح خطا استفاده کنید. یک عملیات کپی-پیست صفحه کلید، متن را با علائم دیاکریتیک در سلول کپی می کند.

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

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

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

    شکل 8. لیست کشویی زبان با انتخاب اسپانیایی

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

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

ویرایشگر طراحی را روی زبان پیش فرض قرار دهید

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

شکل 10. روی زبان پیش فرض تنظیم کنید

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

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

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

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

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

  1. Refactor > Add RTL support را در صورت امکان انتخاب کنید تا گفتگوی نشان داده شده در شکل 11 نمایش داده شود.

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

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

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

  3. روی Do Refactor کلیک کنید.

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

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

پنجره Properties در سمت راست ویژگی textDirection را برای استفاده با ویجت های متنی و خاصیت layoutDirection را برای استفاده با ویجت های layout برای تغییر جهت متن و اجزای طرح ارائه می دهد. ویژگی های جهت در پنجره Properties در سمت راست فهرست شده اند و با API Level 17 یا بالاتر کار می کنند.

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

برای دسترسی و استفاده از خصوصیات جهت، موارد زیر را انجام دهید:

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

    برای تنظیم مقدار ویژگی، یکی از موارد زیر را انتخاب کنید:

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

Pseudolocales

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

برای اطلاعات در مورد نحوه استفاده از pseudolocales، به آزمایش برنامه خود با Pseudolocales مراجعه کنید.