توطين واجهة المستخدم

الإعلانات

توطين واجهة المستخدم

 

 

توطين واجهة المستخدم بإستخدام محرر الترجمات

 

يوفر محرر الترجمات معاينة شاملة وقابلة للتعديل لكافة مصادر السلاسل، الإفتراضية والمترجمة. للحصول على مقدمة لترجمة تطبيقك للغات مختلفة، اقرأ دعم لغات وثقافات مختلفة.

 

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

 

 

توطين واجهة المستخدم

مصادر السلسلة


توجد مصادر السلسلة لمشروعٍ ما، في ملفات strings.xml. يكون لدى مشروعك ملف strings.xml إفتراضي، يحتوي على

مصادر سلسلة باللغة الإفتراضية لتطبيقك، وهي اللغة التي تتوقع أن يتحدثها معظم مستخدمي التطبيق.

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

بمجرد الإنتهاء من إكمال ملف strings.xml الإفتراضي، يمكنك إضافة الترجمات بنفسك، أو الدفع لمقدمي خدمة الترجمة الإحترافية للقيام بالترجمات.

في كلتا الحالتين، يجب الإستفادة من ميزات اندرويد ستوديو، لمساعدتك في إدارة و إختبار النص المترجم. للحصول على معلومات حول خدمات الترجمة الإحترافية، راجع طلب خدمات الترجمة.

 

 

توطين واجهة المستخدم

فتح محرر الترجمات


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

الفتح من معاينة Android

1. في لوحة Project > Android على اليسار، حدد ModuleName > res > values.

2. انقر بزر الماوس الأيمن على ملف strings.xml، ثم اختر فتح محرر الترجمات Open Translations Editor.

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

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

يعرض الشكل 1، نص التطبيق الإفتراضي (في هذه الحالة، الإنجليزية) في محرر الترجمات، لتطبيق بسيط، قبل إنجاز أعمال الترجمة.

ستظهر محتويات ملفات strings.xml المترجمة، على يمين العمود “نص غير قابل للترجمة Untranslatable” مع عمود واحد لكل لغة كما هو موضح في الشكل 2.

 

 

توطين واجهة المستخدم

 

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

 

يمكنك فتح محرر الترجمات Translations Editor من داخل أيٍ من ملفات strings.xml الخاصة بك.

 

  1. في لوحة Project > Android على الجانب الأيسر، حدد ModuleName > res > values.
  2. انقر نقراً مزدوجاً على ملف strings.xml لفتحه و تحريره.
  3. في ملف strings.xml، اضغط على رابط فتح المحرر Open editor في الزاوية العلوية اليمنى.
ملاحظة: إذا نقرت فوق الرابط إخفاء الإشعارات Hide notification، فسوف يختفي رابط فتح المحرر Open editor، لإعادته قم بإغلاق وإعادة فتح المشروع.

 

توطين واجهة المستخدم

 

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

 

يمكنك فتح محرر الترجمات من محرر تصميم المخطط، لتحرير النص الإفتراضي و النص المترجم، ليناسبا التصميم الخاص بك بشكلٍ أفضل.

للحصول على معلومات حول تبديل اللغات في محرر التصميم Design Editor، راجع عرض النص المترجم في Design Editor.

 

  1. في لوحة Project > Android على الجانب الأيسر، حدد ModuleName > res > layout.
  2. انقر نقراً مزدوجاً على ملف content_main.xml لفتحه وتحريره.
  3. انقر على علامة التبويب Design في الزاوية السفلية اليسرى، لعرض محرر التصميم Design.
  4. في محرر التصميم حدد القائمة المنسدلة للغة Language.
  5. اختر تحرير الترجمات Edit Translations.

 

توطين واجهة المستخدم

 

تكوين الصفوف الغير قابلة للترجمة


في محرر الترجمات Translations Editor، يمكنك إختيار غير قابل للترجمة Unstranslatable، للإشارة إلى أنك لا ترغب في ترجمة النص الموجود في هذا الصف.

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

عند تحديدك لخانة النص الغير قابل للترجمة 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>

 

 

توطين واجهة المستخدم

 

إضافة وحذف اللغات


Translations Editor محرر الترجمات يدعم BCP 47 ويجمع رموز الإعدادات المحلية والإقليمية (البلد)، في مجموعة واحدة للإقليم المستهدف.

الإعدادات المحلية تتجاوز إلى ما هو أكثر من اللغة. تتضمن الإعدادات المحلية، التنسيق المعتمد للدولة لأشياء مثل: التاريخ والوقت والعملات والكسور العشرية.

 

لإضافة لغة اتبع ما يلي:

  1. في محرر الترجمات، انقر على أيقونة الكرة الأرضية .
  2. من القائمة المنسدلة، حدد اللغة التي تريد إضافتها.

سوف تظهر اللغة الجديدة في محرر الترجمات Translations Editor، وتتم إضافة مجلد *-values بداخل ملف strings.xml إلى المشروع. مثال، القيمة values-es للغة الإسبانية.

 

لحذف لغة اتبع ما يلي:

يمكنك حذف لغة في محرر الترجمات Translations Editor من خلال حذف كل قيمة في العمود (راجع تحرير Edit إضافة add أو حذف delete النص)، أو يمكنك حذف مجلد المشروع لتلك اللغة، كما يلي:

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

 

 

توطين واجهة المستخدم

 

تحرير، إضافة، وحذف النص


يمكنك إجراء العمل على إعدادات النص مباشرة، في ملف strings.xml أو من خلال محرر الترجمات. يصف هذا القسم منهج محرر الترجمات.

في محرر الترجمات Translations Editor، يمكنك تحرير نص أو إضافته أو حذفه من خلال قائمة العرض أو من خلال حقل الترجمة Translation في أسفل محرر الترجمات.

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

 

توطين واجهة المستخدم

قائمة العرض

لتحرير أو إضافة نص، قم بما يلي:

  1. انقر نقراً مزدوجاً فوق الخلية، حيث تريد تحرير النص أو إضافته.
  2. قم باللصق والنسخ من لوحة المفاتيح، أو إذا كان لديك لوحة مفاتيح تدعم علامات التشكيل، فاكتب مباشرة في قائمة العرض.
  3. انقر Tab أو حرك المؤشر خارج الحقل.

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

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

 

توطين واجهة المستخدم

حقول الترجمة

لتحرير أو إضافة نص، اتبع ما يلي:

  1. في قائمة العرض، انقر مرة واحدة على الخلية، حيث تريد إضافة أو تحرير النص.
  2. في حقل الترجمة Translation، قم باللصق والنسخ من لوحة المفاتيح، أو إذا كان لديك لوحة مفاتيح تدعم علامات التشكيل، فأكتب مباشرة في حقل الترجمة.
  3. انقر Tab أو حرك المؤشر خارج الحقل.

لحذف النص اتبع ما يلي:

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

 

توطين واجهة المستخدم

 

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


في محرر الترجمات، العمود Key يقوم بسرد المعرفات الفريدة لكل عنصر بيانات، في ملفات strings.xml الخاصة بك. يمكنك إضافة وحذف المفاتيح من خلال محرر الترجمات.

عندما تحذف مفتاح، يقوم محرر الترجمات بحذفه وحذف كافة الترجمات المرتبطة به. يستخدم محرر الترجمات عوامل الحذف الآمن،

لحذف مفتاح لكي تعرف إذا ما أُستخدم النص في مكان آخر، وتحظى بفرصة إجراء التعديلات اللازمة قبل الحذف.

عوامل الحذف الآمن تضمن أنه لا يزال بإمكان كودك القيام بالتجميع compiles، بعد حذفك للمفتاح.

لإضافة مفتاح اتبع ما يلي:

  1. في Translations Editor، اضغط على إضافة مفتاح Add Key.
  2. في مربع الحوار، أدخل اسم المفتاح، القيمة الإفتراضية، و موقع ملف strings.xml الإفتراضي.

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

 

لحذف مفتاح اتبع ما يلي:

  1. في محرر الترجمات Translations Editor، حدد المفتاح الذي تريد حذفه.
  2. انقر فوق إزالة المفاتيح Remove Keys.
  3. في مربع حوار الحذف Delete، حدد ما إذا كنت تريد حذف آمن، وما إذا كنت تريد البحث في التعليقات والسلاسل، ثم اضغط OK.

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

 

إذا لم تكن هناك إشارات (إستخدامات) للمفتاح المحذوف، أو كانت كل الإشارات قابلة للطي بأمان، سيتم حذف المفتاح.

خلاف ذلك، سيقوم محرر الترجمات بعرض مربع حوار إكتشاف الإستخدامات  Usages Detected، مع معلومات حول المشاكل المكتشفة.

الشكل 5. مربع حوار إكتشاف الإستخدامات.

 

4. حدد View Usages لمراجعة ما سيتم حذفه. يقوم مربع الحوار 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 تم تحديد مربع غير قابل للترجمة Untranslatable له، ولكن توجد ترجمة إسبانية مُتاحة. قم بحذف الترجمة الإسبانية لتصحيح الخطأ.
  • يوضح الشكل 7 بأن صف الصفحة التالية next_page يفتقد إلى الترجمة الفرنسية. إستخدم لوحة المفاتيح لنسخ كلمة Page Suivante بداخل الخلية لتصحيح الخطأ. تقوم عملية النسخ واللصق من لوحة المفاتيح بنسخ النص مع علامات التشكيل بداخل الخلية.

 

 

توطين واجهة المستخدم

 

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


لرؤية كيفية عرض النص المترجم في مخطط تطبيقك، بدّل النص بين النسخة الإفتراضية والمترجمة في Design Editor، كما يلي: 

  1. في لوحة Project > Android على الجانب الأيسر، حدد ModuleName > res > layout.
  2. انقر نقراً مزدوجاً على content_main.xml لفتحه وتحريره.
  3. اضغط على علامة التبويب Design في الركن الأيسر السفلي، لعرض محرر التصميم.
  4. في محرر التصميم، اختر لغة Language من القائمة المنسدلة.
  5. حدد تحرير الترجمات Edit Translations.
  6. حدد اللغة التي تريد إستخدامها، لعرضها في تطبيقك.

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

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

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

 

توطين واجهة المستخدم

 

تعيين محرر التصميم على اللغة الإفتراضية


لإعادة اللغة إلى الإعدادات الإفتراضية، حدد es > Language.

الشكل 10. التعيين على اللغة الإفتراضية.

 

 

توطين واجهة المستخدم

 

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


يوفر نظام اندرويد و اندرويد ستوديو، العديد من الميزات، لمساعدتك في إدارة و إختبار نص التطبيق القابل للترجمة.

تحتوي هذه الميزات على خيارات لمساعدتك في، إستهداف مشكلات النص من اليمين إلى اليسار (RTL)، مثل اللغة العربية أو العبرية.

إختبار النص القابل للترجمة، يسمح لك بإجراء تعديلات على نص واجهة المستخدم والمخطط، قبل إرسال رسائلك إلى مستودع المصدر، لإرسالها للترجمة لاحقاً.

 

 

إعادة هيكلة مشروعك لدعم اللغات من اليمين لليسار

 

يحتوي اندرويد ستوديو على أمر إعادة هيكلة، والذي يقوم بتمكين الدعم للنص ثنائي الإتجاه، في عناصر TextView, ConstraintLayout, LinearLayout

بحيث يمكن لتطبيقك عرض والسماح للمستخدمين بتحرير النص لكلا النصين (يمين\يسار) و (يسار\يمين). 

يقوم الأمر أيضاً بتوفير نسخ معاكسة تلقائياً، لمخططات واجهة المستخدم الخاصة بالتطبيق، وكافة معاينات الودجت. 

لرؤية تغيير إتجاه النص، والنسخه المعكوسة للمخطط، يجب عليك أيضاً ضبط خصائص الإتجاة للنص والمخطط في محرر المخطط.

 

يوضح الإجراء التالي كيفية إعادة هيكلة مشروعك لدعم اللغات من اليمين لليسار:

  1. حدد Refactor > Add RTL support where possible لعرض مربع الحوار الموضح في الشكل 11.

الشكل 11. إضافة دعم اللغات (يمين\يسار).

 

    • إذا لم يكن عنصر <application> في ملف الإيضاح AndroidManifest.xml لا يحتوي على السمة "android:supportsRTL="true عندها حدد خانة Update AndroidManifest.xml .
    • إذا كانت targetSdkVersion لتطبيقك معينة على 17 أو أعلى، حدد Replace Left/Right Properties with Start/End Properties.

وفي هذه الحالة يجب على خصائصك إستخدام “start” و “end” بدلاً من “left” و “right”. مثال، android:paddingLeft تصبح android:paddingStart.

    • إذا كانت targetSdkVersion لتطبيقك معينة على 16 أو أقل، حدد Generate -v17 Versions، في هذه الحاله، يجب على ملف XML أن يستخدم كلتا مجموعتي الخصائص. 

مثال، يجب على ملف XML أن يستخدم كل من android:paddingLeft و android:paddingStart.

 

2. لعرض نافذة Find Refactoring Preview، اضغط Run.

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

 

3. اضغط على Do Refactor.

لمزيد من المعلومات عن إعادة هيكلة مشروعك ليدعم اللغات من اليمين إلى اليسار، راجع دعم اللغات (يمين\يسار) في اندرويد 4.2.

 

خصائص إتجاه النص والمخطط

 

توفر نافذة الخصائص الموجودة على اليمين، خاصية إتجاه النص textDirection لإستخدامها مع نص الودجت، وخاصية إتجاه

المخطط layoutDirection لإستخدامها مع ودجت المخطط، لتغيير إتجاه مكونات النص والمخطط. يتم سرد خصائص الإتجاه في

نافذة الخصائص Properties على اليمين، وتعمل مع المستوى 17 أو أعلى.

 

لرؤية التغيير في إتجاه النص والنسخة المعكوسة للمخطط، يجب عليك أيضاً إعادة هيكلة المشروع لدعم اللغات (يمين\يسار).

في اللغة الإنجليزية، تغيير إتجاه النص، يقوم فقط بنقل علامات الترقيم، من الجانب الأيمن إلى الجانب الأيسر من النص؛ مثال، “!Hello World” تصبح “Hello World!”.

لرؤية تبديل نص (يسار\يمين) LTR إلى (يمين\يسار) RTL، يجب عليك إستخدام لغة تكتب من اليمين إلى اليسار RTL في تطبيقك.

إذا كنت ترغب في إستخدام اللغة الإنجليزية، و رؤية تبديل النص إلى اليمين لليسار RTL لغرض الإختبار، إستخدم التوطين المزيف Pseudolocales.

التوطين المزيف Pseudolocales مفصول عن أمر إعادة الهيكلة وخصائص الإتجاه.

 

للوصول إلى وإستخدام خصائص الإتجاه افعل ما يلي:

 

  1. في محرر المخطط، حدد ودجت نص.
  2. افتح نافذة الخصائص Properties، ثم ابحث عن خاصية RTL التي تريد إستخدامها.

لتعيين قيمة الخاصية، اختر واحداً مما يلي:

    • firstStrong: القيمة الإفتراضية للمعاينة الأساسية. أحرف الإتجاة القوية first strong تحدد إتجاة الفقرة. إذا لم تكن هناك أحرف ذات إتجاه قوي، فإن إتجاه الفقرة سيأخذ نفس إتجاه مخطط المعاينة المحلولة.

 

    • anyRtl: يكون إتجاه الفقرة من اليمين إلى اليسار، إذا كانت تحتوي على أي أحرف RTL قوية؛ وإلا، ستكون من اليسار إلى اليمين LTR إذا كانت تحتوي على أي أحرف LTR قوية. إذا لم يتواجد أيٍ منهما، فإن إتجاه الفقرة سيأخذ إتجاه مخطط المعاينة المحلولة.

 

    • ltr: يكون إتجاه الفقرة من اليسار إلى اليمين LTR.
    • rtl: يكون إتجاة الفقرة من اليمين إلى اليسار RTL.
    • locale: يؤخذ إتجاه الفقرة من الإعدادات المحلية للنظام.
    • inherit: الإعداد الإفتراضي. يستخدم الإتجاه المستخدم في الأصل parent.
ملاحظة: يكون لأحرف الإتجاه القوية، إتجاهها المحدد مسبقاً، مثل معظم الأحرف الأبجدية، الأحرف المقطعيه، الأرقام الغير أوروبية و الغير عربية والأحرف الشرق آسيوية، وعلامات الترقيم الخاصة بتلك النصوص فقط.

3. لعرض النص والمخطط المعكوسين، شغّل التطبيق.

 

التوطين المزيف

 

التوطين المزيف pseudolocale عبارة عن لغة محاكاة، مصممة لتفترض خصائص اللغات، التي تسبب مشاكل في واجهة

المستخدم، المخطط، يمين\يسار RTL، ومشاكل الترجمة الأخرى، عند ترجمة التطبيق.

يوفر التوطين المزيف، ترجمات فورية وتلقائية، قابلة للقراءة باللغة الإنجليزية، لجميع الرسائل القابلة للترجمة. و هذا يجعل من

الممكن لك، إلتقاط الرسائل الغير قابلة للترجمة، في الكود المصدر.

للحصول على معلومات حول كيفية إستخدام التوطين المزيف، راجع إختبار تطبيقك بإستخدام التوطين المزيف.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات

اترك رد