مع أكثر من 2.5 مليار مستخدم نشط، يعد Android هو نظام التشغيل الأكثر إستخداماً في جميع أنحاء العالم. على الرغم من أن نظام التشغيل نفسه قد تمت ترجمته لعشرات اللغات المختلفة، فإن هذا ليس هو الحال بالنسبة للعديد من تطبيقات الجهات الخارجية. يمكن للشركات الأكبر حجماً توطين تطبيقاتها داخلياً أو الإستعانة بخدمات ترجمة إحترافية، ولكن هذه الخيارات ليست مجدية إقتصادياً للفرق الصغيرة أو مطوري التطبيقات المستقلين. في أحسن الأحوال، يمكن لفريق أصغر أو مطور تطبيق مستقل حشد ترجمات المصادر من متحدثين أصليين، وفي أسوأ الأحوال، يمكنهم إستخدام خدمات الترجمة الآلية للقيام بالمهمة. ومع ذلك، قد يتغير هذا في Android 12، حيث رأينا دليلاً يشير إلى أن Google ربما تعمل على إطار عمل للترجمة التلقائية لواجهة مستخدم التطبيق إلى اللغة الأم للمستخدم.
في وقت سابق من هذا الأسبوع، حصلنا على إصدار Android 12 لم يتم طرحه والذي يحتوي على ميزتين جديدتين وتغييرات في واجهة المستخدم. أثناء البحث في الإصدار، إكتشفنا الكثير من الفئات الجديدة في إطار العمل المتعلق بـ "خدمة الترجمة" الجديدة. بدأ بحثنا عندما إكتشفنا إضافة إذنين جديدين إلى هذا الإصدار من Android 12: وهي BIND_TRANSLATION_SERVICE و MANAGE_UI_TRANSLATION. تحتفظ SystemUI من Android بالإذن السابق للإلتزام بتطبيق يحمل الإذن الأخير، والذي يتم تحديده إفتراضياً بواسطة القيمة config_defaultTranslationService. من المفترض أنه يمكن إعداد تطبيق مثل الترجمة من Google أو خدمات تخصيص الجهاز كخدمة ترجمة، ولكن قد تفتحه Google لتطبيقات الجهات الخارجية لأن إذن MANAGE_UI_TRANSLATION له "دور" محدد كأحد مستويات الحماية المدعومة. إذا كنت تتذكر، فقد أضاف Android 10 "قواعد" التي تحدد التطبيقات التي يجب أن تتمتع بامتيازات معينة، من الممكن أن تضيف Google "مترجم" كقاعدة، لكننا لا نعرف ما إذا كان يمكن منح هذا الدور للتطبيقات التي ثبتها المستخدم.
على أي حال، وجدنا مراجع لهذه الأذونات في كود الإطار، حيث إكتشفنا دليلاً على أن كود الترجمة الجديد هذا يعمل على وجهات النظر داخل الأنشطة بدلاً من لقطة شاشة أو لوحة التطبيقات الحديثة. يمكن بالفعل ترجمة النص داخل لقطات الشاشة أو لوحة التطبيقات الحديثة بواسطة Google Lens، وبالتزامن مع خدمات تخصيص الجهاز، يمكن ترجمة النص مباشرة من لوحة التطبيقات الحديثة. وفي الوقت نفسه، يسمح نظام intent في Android بالفعل بالمشاركة الأساسية للنص لترجمته. ومع ذلك، يبدو أن إطار العمل الجديد هذا أكثر تعقيداً ومنخفض المستوى، ونعتقد أنه يهدف إلى ترجمة النص مباشرةً داخل واجهة المستخدم للتطبيق، وإستبدال النص في السطر لجعل الترجمة تبدو أصلية.
لقد فحصنا أحدث إصدارات Google Translate وخدمات تخصيص الأجهزة، لكننا لم نجد أي دليل على دمج واجهة برمجة التطبيقات الجديدة هذه. من المحتمل ألا تستخدم واجهة برمجة التطبيقات هذه ترجمة Google مباشرةً بل تستخدم نقطة نهاية مختلفة لواجهة برمجة التطبيقات. إذا تم تنفيذ هذه الميزة بما يتماشى مع توقعاتنا، فنحن نشك في أن Google ستفرض على المستخدمين رسوماً مقابل هذه الميزة. ومع ذلك، من الممكن أن يقوموا بتمكين ترجمات واجهة المستخدم التي تدعمها ترجمة Google كميزة حصرية لـ Pixel. نظراً لأن إطار العمل يبدو أنه قادم إلى AOSP، فمن الممكن أن يتمكن مصنعي المعدات الأصلية من تحديد خدمة الترجمة الخاصة بهم إذا كانوا لا يريدون إستخدام خدمات Google.
تقدم تطبيقات الجهات الخارجية مثل AllTrans لسنوات ميزة ترجمة واجهة المستخدم الخاصة بها. تعمل هذه التعديلات، المدعومة من Xposed Framework، بشكل مشابه للطريقة التي نعتقد أن ترجمة واجهة المستخدم لنظام Android 12 ستعمل بها، حيث يتم الربط مباشرة في عروض التطبيق لترجمة النص وإستبداله. ومع ذلك، تتطلب هذه التعديلات من المستخدمين الحصول على مفتاح API الخاص بهم لخدمة الترجمة نظراً لأن المفتاح المشترك سيتجاوز الحد المجاني بسرعة كبيرة. مع قيام Google على ما يبدو ببناء إطار عمل لترجمة واجهة المستخدم مباشرة في Android 12، على الرغم من ذلك، لن يحتاج المستخدمون بعد الآن إلى عمل روت لجهازهم لترجمة التطبيقات إلى لغتهم الأم. نأمل أن يجعل هذا آلاف التطبيقات أكثر سهولة للمستخدمين في جميع أنحاء العالم.
سيستفيد المطورون أيضاً من الترجمات الآلية لواجهة المستخدم. يمكن للمطورين الذين ليس لديهم الموارد لترجمة تطبيقاتهم أو الذين لا يريدون إستخدام الترجمة الآلية السماح لنظام التشغيل بمعالجة الأمور. يمكن أن يؤدي إصدار تطبيق مترجم آلياً إلى مراجعات سلبية من المستخدمين الذين يلومون المطور على الترجمة السيئة، ولكن جعل المستخدم نفسه يوجه نظام التشغيل لترجمة التطبيق سيؤدي إلى إحباط أقل لأن المستخدم يفهم بشكل أفضل مكان إلقاء اللوم عليه أي نص مترجم بشكل سيء.
على الرغم من أننا واثقون تماماً من أن هذه الميزة تهدف إلى ترجمة واجهة المستخدم داخل التطبيقات، إلا أننا لسنا متأكدين بنسبة 100٪ من أن الأمر كذلك حتى نرى الميزة قيد التنفيذ. قد يكون الإستخدام البديل لهذه الميزة هو ترجمة واجهة المستخدم داخل نظام التشغيل أو تطبيقات النظام فقط، لكننا نعتقد أن هذا غير محتمل لأن نظام التشغيل مترجم بالفعل على نطاق واسع ويمكن إجراء أي توطين قبل مغادرة الجهاز للمصنع أو عبر تحديث OTA. من ناحية أخرى، لا تستطيع Google والشركات المصنعة للمعدات الأصلية حساب اللغات التي يدعمها التطبيق، لذا ستساعد هذه الميزة في سد الفجوة. بالنظر إلى أن Google تطور هذه الميزة على مستوى العرض، مما يجعلها قابلة للإستخدام في جميع التطبيقات، يزيد أيضاً من إحتمال إستخدامها في التطبيقات بدلاً من نظام التشغيل. مرة أخرى، على الرغم من ذلك، لن نعرف على وجه اليقين حتى يتم إطلاق هذه الميزة، وهو ما قد يحدث أو لا يحدث في الإصدار الثابت لنظام التشغيل Android 12.
0 comments:
إرسال تعليق