أقلمة واجهة المستخدم باستخدام "محرّر الترجمات"

يوفّر "محرِّر الترجمات" عرضًا موحّدًا وقابلاً للتعديل لكل عمليات الترجمة التلقائية موارد سلاسل نصية مترجَمة

للاطّلاع على مقدمة عن ترجمة التطبيق إلى لغات مختلفة، يُرجى قراءة دعم مختلف واللغات والثقافات

الشكل 1. محرِّر الترجمة الذي يعرض نص التطبيق قبل الترجمة

موارد السلاسل

توجد موارد السلسلة للمشروع في ملفات strings.xml. مشروعك يتضمّن ملف strings.xml تلقائيًا يحتوي على موارد سلسلة بشكل تلقائي لغة في تطبيقك، وهي اللغة التي تتوقّعها لدى معظم مستخدمي التطبيق للتحدث. يمكنك أيضًا ترجمة strings.xml من الملفات التي تحتوي على سلسلة. الموارد للغات الأخرى التي تريد أن يستوعبها تطبيقك.

بعد اكتمال ملف strings.xml التلقائي، يمكنك إضافة الترجمات. بنفسك، أو أدفع عن خدمة احترافية لعمل الترجمات. في كلتا الحالتين، يجب عليك أن تأخذ الاستفادة من ميزات "استوديو Android" لمساعدتك في إدارة واختبار للترجمة. للحصول على معلومات حول خدمات الترجمة الاحترافية، راجِع طلب خدمات الترجمة.

فتح "محرِّر الترجمات"

يمكنك الوصول إلى "محرِّر الترجمات" من الأماكن التالية في "استوديو Android".

الفتح من طريقة عرض Android

  1. في المشروع > Android على اليمين، اختيار ModuleName > الدقة > .
  2. انقر بزر الماوس الأيمن على ملف strings.xml، واختَر فتح محرِّر الترجمات.

    يعرض محرر الترجمة أزواج المفتاح والقيمة من ملف strings.xml.

    ملاحظة: عند ترجمة strings.xml ملف، يحتوي مشروعك على عدة ملفات مقابلة القيم (values) مع اللاحقات التي تشير إلى اللغة، مثل values-es للغة الإسبانية. يكون ملف strings.xml التلقائي دائمًا في القيم (بدون لاحقة).

يعرض الشكل 1 نص التطبيق الافتراضي (في هذه الحالة، الإنجليزية) في محرر الترجمات تطبيق بسيط قبل الانتهاء من عمل الترجمة. محتويات الترجمة سيظهر strings.xml ملف على يسار العمود غير قابل للترجمة مع عمود واحد لكل لغة كما هو موضح في الشكل 2.

فتح من داخل items.xml

يمكنك الوصول إلى محرِّر الترجمات من داخل أي من ملفات strings.xml.

  1. في المشروع > في لوحة Android على يمين الشاشة، اختَر ModuleName > الدقة > .
  2. انقر مرّتين على strings.xml لفتحه وتعديله.
  3. في strings.xml، انقر على الرابط فتح المحرِّر في أعلى يسار الصفحة.

ملاحظة: في حال النقر على رابط إخفاء الإشعار، سيؤدي النقر على فتح محرر. ولإعادته مرة أخرى، أغلِق المشروع ثم أعِد فتحه.

فتح من "Design Editor" (محرر التصميم)

يمكنك فتح محرِّر الترجمات من محرّر التصميم في "محرِّر التنسيق" لتعديل تلقائي ومترجم النص ليلائم التخطيط بشكل أفضل. لمزيد من المعلومات حول تبديل اللغات في "Design Editor" (محرر التصميم)، راجِع عرض النص المترجَم في "محرِّر التصميم".

  1. في المشروع > في لوحة Android على يمين الشاشة، اختَر ModuleName > الدقة > .
  2. انقر نقرًا مزدوجًا على content_main.xml لفتحه وتعديله.
  3. انقر على علامة التبويب تصميم في أسفل الجانب الأيمن لعرض محرر التصميم.
  4. في "محرِّر التصميم"، اختَر Language (اللغة). القائمة المنسدلة .
  5. اختيار تعديل الترجمات

ضبط الصفوف التي لا يمكن ترجمتها

في محرِّر الترجمة، يمكنك اختيار غير قابل للترجمة إلى إلى أنك لا تريد ترجمة النص الموجود في هذا الصف. النص الذي لا تريد الترجمة قد تكون نصوصًا خاصة بالمنتج مثل الأسماء التجارية والعلامات التجارية، أو المصطلحات التقنية التي ليس لها ترجمة.

عند وضع علامة في المربّع بجانب غير قابل للترجمة، يظهر السطر المقابل في القيم التلقائية ملف 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 إلى المشروع. على سبيل المثال: values-es للغة الإسبانية.

لحذف لغة، اتّبِع الخطوات التالية:

يمكنك حذف لغة في محرِّر الترجمات عن طريق حذف كل قيمة في العمود. (يُرجى الاطّلاع على تعديل نص أو إضافته أو حذفه)، أو حذف مجلد المشروع لهذه اللغة على النحو التالي:

  1. في المشروع > في لوحة Android على يمين الشاشة، اختَر ModuleName > بدقة.
  2. انقر بزر الماوس الأيمن على مجلد values-* للغة التي تريد حذفها. على سبيل المثال: values-hi للدلالة على اللغة الهندية.
  3. من القائمة المنسدلة، حدد حذف لحذف المجلد strings.xml.

تعديل النص وإضافته وحذفه

يمكنك تطبيق الإعدادات النصية في ملف strings.xml مباشرةً أو من خلال محرِّر الترجمات. يصف هذا القسم محرّر الترجمات. في محرِّر الترجمات، يمكنك تعديل أو إضافة حذف النص من خلال عرض القائمة أو من خلال حقل الترجمة في أسفل محرِّر الترجمات.

الشكل 2. عرض القائمة في الأعلى وحقل الترجمة في أسفل الشاشة

عرض القائمة

لتعديل نص أو إضافته، اتّبِع الخطوات التالية:

  1. انقر مرّتين على الخلية التي تريد تعديلها أو لإضافة نص.
  2. عمل نسخ ولصق بلوحة المفاتيح، أو إذا كانت لديك لوحة مفاتيح تدعم علامات التشكيل العلامات، اكتب مباشرة في عرض القائمة.
  3. اضغط على مفتاح التبويب (Tab) أو حرِّك المؤشر خارج الحقل.

لحذف النص، قم بما يلي:

  1. انقر مرّتين على الخلية التي تريد حذفها.
  2. في عرض القائمة، حدِّد النص واضغط على حذف.
  3. اضغط على مفتاح التبويب (Tab) أو حرِّك المؤشر خارج الحقل.

حقل الترجمة

لتعديل نص أو إضافته، اتّبِع الخطوات التالية:

  1. في عرض القائمة، انقر مرة واحدة على الخلية التي تريد تعديلها أو إضافتها. النص.
  2. في حقل الترجمة، أجرِ نسخًا ولصقًا بلوحة المفاتيح، أو إذا كانت لديك لوحة مفاتيح تتوافق مع علامات التشكيل ، اكتبها مباشرة في حقل الترجمة.
  3. اضغط على مفتاح التبويب (Tab) أو حرِّك المؤشر خارج الحقل.

لحذف النص، قم بما يلي:

  1. انقر مرة واحدة على الخلية التي تريد حذفها.
  2. في حقل الترجمة، اختَر النص واضغط على حذف.

إضافة مفاتيح وحذفها

في "محرِّر الترجمة"، يسرد عمود المفتاح المعرّفات الفريدة لكلّ منها ملف البيانات في ملفات strings.xml. يمكنك إضافة مفاتيح وحذفها من خلال محرر الترجمات. عند حذف مفتاح، يحذفه "محرِّر الترجمات" وجميع الترجمات المرتبطة بها. يستخدم "محرّر الترجمات" ميزة "الحذف الآمن" لإعادة الهيكلة حذف مفتاح حتى تعرف ما إذا كان قد تم استخدام النص الأساسي في مكان آخر وستتاح لك فرصة لإجراء التعديلات اللازمة قبل حذف المفتاح. تضمن إعادة توجيه "الحذف الآمن" تستمر التعليمة البرمجية بعد حذف المفتاح.

لإضافة مفتاح، اتّبِع الخطوات التالية:

  1. في محرِّر الترجمة، انقر على إضافة مفتاح.
  2. في مربع الحوار، أدخل اسم المفتاح والقيمة الافتراضية وموقع ملف strings.xml التلقائي.

    الشكل 3. إضافة مفتاح

لحذف مفتاح، اتّبِع الخطوات التالية:

  1. في "محرِّر الترجمة"، اختَر المفتاح الذي تريد حذفه.
  2. انقر على رمز إزالة المفاتيح .
  3. في مربع الحوار حذف، قرر ما إذا كنت تريد حذفًا آمنًا وما إذا كنت تريد البحث في التعليقات والسلاسل وانقر على حسنًا.

    الشكل 4. مربّع حوار الحذف

    في حال عدم وجود مراجع (استخدامات) للمفتاح المحذوف أو إذا كانت جميع المراجع بأمان للتصغير، يتم حذف المفتاح. وبخلاف ذلك، سيعرض "محرّر الترجمات" مربع حوار الاستخدامات التي تم اكتشافها الذي يتضمن معلومات حول المشاكل التي تم اكتشافها.

    الشكل 5. مربّع حوار الحذف

  4. اختَر عرض الاستخدام لمراجعة ما سيتم حذفه. العثور على الحذف الآمن يعرض مربع حوار التعارضات جميع حالات الاستخدام التي ليست آمنة للحذف يمكنك تعديل الرمز المقابل

    الشكل 6. الاستخدام غير الآمن

  5. انقر بزر الماوس الأيمن على أحد الاستخدامات لعرض قائمة السياقات واختَر الانتقال إلى المصدر لكي يمكنك إجراء التغييرات المطلوبة.
  6. في لوحة العثور على تعارضات الحذف الآمن، اختَر إعادة تشغيل الحذف الآمن والتأكد من عدم وجود استخدامات أخرى تستدعي الانتباه.
  7. بعد إزالة الاستخدامات، انقر على إعادة ضبط الإعدادات لحذف المفتاح.

تصحيح الأخطاء

يعرض الشكل 7 محرر الترجمة الذي يعرض محتويات اللغات الإنجليزية والإسبانية والفرنسية strings.xml ملف. يشير النص الأحمر إلى الأسطر التي تحتوي على أخطاء.

الشكل 7. يشير النص الأحمر إلى شرط لخطأ قمت يجب إصلاحه

لتصحيح خطأ، مرِّر مؤشر الماوس فوق النص الأحمر لعرض شرح للمشكلة الحل.

عند إجراء تغييرات في محرِّر الترجمات، سيتم نقل النص الأساسي تم تعديل strings.xml ملف بالتغييرات التي أجريتها. عندما تجعل التغييرات في ملف strings.xml، العمود المقابل في محرِّر الترجمات مع التغييرات التي أجريتها.

أمثلة على تصحيحات محرّر الترجمات:

  • يبيّن الشكل 7 أنّه تم وضع علامة في المربّع بجانب Untranslatable في الصف app_name، ولكن هناك هي الترجمة الإسبانية المقدمة. احذف الترجمة الإسبانية لتصحيح الخطأ.
  • يوضح الشكل 7 أن صف next_page يفتقد إلى ترجمة فرنسية. يمكنك استخدام لوحة المفاتيح لنسخ Page Suivante في الخلية لتصحيح الخطأ. النسخ واللصق بلوحة المفاتيح تنسخ النص الذي يتضمن علامات التشكيل في الخلية.

عرض النص المترجم في "محرر التصميم"

لمعرفة كيفية عرض النص المُترجَم في تنسيق التطبيق، فعِّل النص بين النسخ الافتراضية والمترجمة في محرر التصميم، على النحو التالي:

  1. في المشروع > في لوحة Android على يمين الشاشة، اختَر ModuleName > الدقة > .
  2. انقر نقرًا مزدوجًا على content_main.xml لفتحه وتعديله.
  3. انقر على علامة التبويب تصميم في أسفل الجانب الأيمن لعرض محرر التصميم.
  4. في "محرِّر التصميم"، اختَر Language (اللغة). القائمة المنسدلة .
  5. اختَر تعديل الترجمات .
  6. اختَر اللغة التي تريد استخدامها لعرض تطبيقك.

    الشكل 8. القائمة المنسدلة للّغة مع اختيار الإسبانية

يعرض "محرر التصميم" تنسيق تطبيقك باللغة المحددة، وهي في هذه الحالة الإسبانية

الشكل 9. يعرض "محرر التصميم" النص المترجم في مأكولات إسبانية

ضبط "محرِّر التصميم" على اللغة التلقائية

لإعادة ضبط اللغة على اللغة التلقائية، اختَر es >. اللغة

الشكل 10. الضبط على اللغة التلقائية

إدارة النص القابل للترجمة واختباره

يوفِّر نظام Android الأساسي و"استوديو Android" العديد من الميزات لمساعدتك على إدارة التطبيقات واختبارها. تطبيقك القابل للترجمة النص. تحتوي هذه الميزات على خيارات لمساعدتك في استهداف المشكلات في النصوص البرمجية من اليمين إلى اليسار (RTL)، مثل العربية أو العبرية. يتيح لك اختبار النص القابل للترجمة إجراء تعديلات على واجهة المستخدم والنص وتنسيقه قبل وضع رسائلك في المستودع المصدر لكي يتم إرسالها الترجمة لاحقًا.

إعادة ضبط مشروعك للحصول على دعم من اليمين إلى اليسار

يحتوي Android Studio على أمر إعادة ضبط إعدادات يتيح دعم النص ثنائي الاتجاه. في TextView، ConstraintLayout و LinearLayout عناصر لذا يمكن لتطبيقاتك عرض النصوص من اليمين إلى اليسار (LTR) والسماح للمستخدمين بتعديلها النصوص البرمجية (RTL). يوفّر الأمر أيضًا النسخ المطابق التلقائي لتخطيطات واجهة مستخدم التطبيق وعرض الكل التطبيقات المصغّرة. لرؤية تغيير اتجاه النص والنسخ المطابق للتنسيق، يجب أيضًا تعيين خصائص اتجاه النص والتنسيق في محرر التنسيق.

يوضح الإجراء التالي كيفية إعادة ضبط مشروعك لدعم من "RTL":

  1. اختَر إعادة ضبط الإعدادات > أضِف إمكانية استخدام ميزة "المراسلة النصية في الوقت الفعلي" (RTL)، متى أمكن ذلك لعرض مربّع الحوار الذي يظهر في الشكل 11.

    الشكل 11. إضافة دعم من اليمين إلى اليسار

    • إذا كان العنصر <application> في يفعل الملف AndroidManifest.xml على السمة android:supportsRTL="true"، ثم ضَع علامة في مربّع الاختيار تحديث AndroidManifest.xml.
    • إذا كان عمر "targetSdkVersion" في تطبيقك 17 عامًا أو أعلى، حدد استبدال الخصائص اليسرى/اليمنى بخصائص البداية/النهاية. في هذه الدورة، في هذه الحالة، يجب أن تستخدم المواقع عامل التشغيل "start" و"end" بدلاً من "الأيسر" و"اليمين". بالنسبة على سبيل المثال، تصبح android:paddingLeft android:paddingStart.
    • إذا كان تطبيقك targetSdkVersion يبلغ من العمر 16 عامًا أو أقل، اختَر إنشاء إصدارات -v17 في هذه الحالة، يجب أن يستخدم ملف XML الخاص بك كلتا مجموعتي الخصائص. على سبيل المثال، يجب أن يستخدم تنسيق XML كلاً من "android:paddingLeft" وandroid:paddingStart"
  2. لعرض نافذة العثور على معاينة إعادة الضبط، انقر على تشغيل.

    الشكل 12. التحقق من المعاينة

  3. انقر على إعادة ضبط الإعدادات.

لمزيد من المعلومات حول إعادة ضبط إعدادات مشروعك لدعم تنسيق "RTL"، يُرجى الاطّلاع على التوافق مع الوضع "RTL" في الإصدار 4.2 من نظام التشغيل Android

خصائص اتجاه النص والتخطيط

توفر نافذة الخصائص على اليسار خاصية textDirection لاستخدامها مع أدوات نصية وخاصية layoutDirection لاستخدامها مع أدوات التنسيق تغيير اتجاه مكونات النص والتخطيط. يتم سرد خصائص الاتجاهات في نافذة الخصائص على اليسار، والعمل مع المستوى 17 من واجهة برمجة التطبيقات أو المستويات الأعلى.

لرؤية تغيير اتجاه النص والنسخ المطابق للتنسيق، يجب عليك أيضًا إعادة ضبط إعدادات المشروع لتوفير دعم الوضع من "المراسلة النصية في الوقت الفعلي". في اللغة الإنجليزية، يشير اتجاه النص يؤدي التغيير إلى نقل علامة الترقيم فقط من الجانب الأيمن إلى الجانب الأيسر من النص؛ على سبيل المثال: "Hello World!" تصبح "!Hello World". للاطّلاع على نص LTR التبديل إلى التنسيق من اليمين إلى اليسار، يجب استخدام لغة من اليمين إلى اليسار في التطبيق. إذا كنت تريد استخدام اللغة الإنجليزية ورؤية تبديل النص إلى اللغة من اليمين إلى اليسار لأغراض الاختبار، استخدِم pseudolocales. وتكون اللغات الافتراضية مستقلة عن أمر إعادة الهيكلة وخصائص الاتجاه.

للوصول إلى خصائص الاتجاهات واستخدامها، اتّبِع الخطوات التالية:

  1. في محرِّر التنسيق، لاختيار تطبيق مصغّر نصي.
  2. افتح نافذة Properties (الخصائص) وابحث عن خاصية RTL التي تريد استخدامها.

    لضبط قيمة السمة، اختَر أيًا مما يلي:

    • firstStrong: الإعداد التلقائي لطريقة العرض الجذر. أول شخصية توجيهية قوية يحدد اتجاه الفقرة. فإذا لم يكن هناك حرف توجيهي قوي، اتجاه الفقرة هو اتجاه تخطيط العرض.
    • anyRtl: اتجاه الفقرة هو RTL إذا كان يحتوي على أي حرف RTL قوي، وفي الحالات الأخرى، يُعتبر LTR إذا كان يحتوي على أحرف LTR قوية. إذا لم يكن هناك أي منها، اتجاه الفقرة هو اتجاه تخطيط العرض.
    • ltr: اتجاه الفقرة هو LTR.
    • rtl: اتجاه الفقرة هو من اليمين إلى اليسار.
    • اللغة: يأتي اتجاه الفقرة من لغة النظام.
    • موروث: الإعداد التلقائي. استخدِم التوجيه المحدّد في أحد الوالدَين.
  3. لمراجعة النص والتنسيق المعكوس، شغِّل التطبيق.

لغات زائفة

اللغة الزائفة هي لغة محاكاة تم تصميمها لاعتماد خصائص اللغات التي تتسبب في مشاكل واجهة المستخدم والتنسيق والترجمة من وإلى اللغة وغيرها من مشاكل الترجمة عند ترجمة التطبيق توفر المواقع الزائفة ترجمات فورية وتلقائية قابلة للقراءة باللغة الإنجليزية لجميع الرسائل القابلة للترجمة. هذا النمط من خلال إمكانية اكتشاف الرسائل التي لا يمكن ترجمتها في رمز المصدر.

لمزيد من المعلومات حول كيفية استخدام اللغات الزائفة، يُرجى الاطّلاع على الاختبار تطبيقك الذي يستخدم لغة Pseudolocales: