Android 12 อาจแปลแอปเป็นภาษาของคุณโดยอัตโนมัติ

click fraud protection

Google กำลังพัฒนาฟีเจอร์การแปล UI ใหม่ใน Android 12 ที่สามารถแปลแอปเป็นภาษาของคุณโดยอัตโนมัติ

ด้วยผู้ใช้งานมากกว่า 2.5 พันล้านคน Android จึงเป็นระบบปฏิบัติการที่ใช้กันอย่างแพร่หลายทั่วโลก แม้ว่าระบบปฏิบัติการจะได้รับการแปลเป็นภาษาต่างๆ มากมาย แต่นั่นไม่ใช่กรณีของแอปของบุคคลที่สามจำนวนมาก บริษัทขนาดใหญ่สามารถแปลแอปของตนภายในองค์กรหรือจ้างบริการแปลระดับมืออาชีพได้ แต่ตัวเลือกเหล่านี้ไม่สามารถทำได้ในเชิงเศรษฐกิจสำหรับทีมขนาดเล็กหรือนักพัฒนาแอปอิสระ อย่างดีที่สุด ทีมเล็กๆ หรือนักพัฒนาแอปอินดี้สามารถรวบรวมการแปลจากเจ้าของภาษาได้ และที่แย่ที่สุดคือพวกเขาสามารถใช้บริการแปลภาษาด้วยเครื่องเพื่อทำงานได้ อย่างไรก็ตาม สิ่งนี้สามารถเปลี่ยนแปลงได้ แอนดรอยด์ 12ตามที่เราได้เห็นหลักฐานที่บ่งชี้ว่า Google อาจกำลังสร้างกรอบงานสำหรับการแปล UI ของแอปเป็นภาษาแม่ของผู้ใช้โดยอัตโนมัติ

การแยกส่วน APK มักจะสามารถคาดเดาคุณสมบัติที่อาจมาถึงในการอัปเดตแอปพลิเคชันในอนาคต แต่เป็นไปได้ว่าคุณสมบัติใดๆ ที่เรากล่าวถึงในที่นี้อาจไม่ปรากฏในรุ่นอนาคต เนื่องจากขณะนี้ฟีเจอร์เหล่านี้ยังไม่มีการใช้งานในเวอร์ชันที่ใช้งานจริง และนักพัฒนาอาจดึงมาใช้เมื่อใดก็ได้ในเวอร์ชันต่อๆ ไป

เมื่อต้นสัปดาห์นี้ เราได้รับ Android 12 build ที่ยังไม่ได้เผยแพร่ซึ่งมี คุณสมบัติใหม่และการเปลี่ยนแปลง UI สองสามอย่าง. ในขณะที่ค้นหารุ่นต่างๆ เราค้นพบคลาสใหม่ๆ มากมายในเฟรมเวิร์กที่เกี่ยวข้องกับคลาสใหม่ "บริการแปล" การค้นหาของเราเริ่มต้นเมื่อเราค้นพบสิทธิ์ใหม่สองรายการที่เพิ่มเข้ามาใน Android รุ่นนี้ 12: BIND_TRANSLATION_SERVICE และ MANAGE_UI_TRANSLATION. SystemUI ของ Android ถือสิทธิ์เดิมในการผูกกับแอปที่ถือสิทธิ์หลัง ซึ่งโดยค่าเริ่มต้นจะถูกกำหนดโดยค่า config_defaultTranslationService. สันนิษฐานว่าสามารถตั้งค่าแอปเช่น Google Translate หรือ Device Personalization Services เป็นบริการแปลได้ แต่ Google อาจเปิดให้แอปของบุคคลที่สามเป็น MANAGE_UI_TRANSLATION การอนุญาตมี "บทบาท" ที่กำหนดให้เป็นหนึ่งในระดับการป้องกันที่รองรับ หากคุณจำได้ Android 10 เพิ่ม "บทบาท" ที่กำหนดแอปที่ควรมีสิทธิ์บางประการ เป็นไปได้ที่ Google อาจเพิ่ม "นักแปล" เป็นบทบาท แต่เราไม่รู้ว่าผู้ใช้จะมอบบทบาทนี้ให้กับแอปที่ติดตั้งโดยผู้ใช้ได้หรือไม่

ไม่ว่าในกรณีใด เราพบการอ้างอิงถึงสิทธิ์เหล่านี้ในโค้ดเฟรมเวิร์ก ซึ่งเราเห็นหลักฐานว่าสิ่งนี้ รหัสการแปลใหม่ทำงานกับการดูภายในกิจกรรมแทนที่จะเป็นภาพหน้าจอหรือแอปล่าสุด แผงหน้าปัด. การแปลข้อความภายในภาพหน้าจอหรือแผงแอปล่าสุดสามารถทำได้โดย Google Lens และเมื่อใช้ร่วมกับ Device Personalization Services ข้อความก็สามารถทำได้ แปลโดยตรงจากแผงแอปล่าสุด. ในขณะเดียวกัน ระบบเจตนาของ Android อนุญาตให้แชร์ข้อความพื้นฐานเพื่อแปลได้แล้ว อย่างไรก็ตาม กรอบการทำงานใหม่นี้ดูเหมือนจะซับซ้อนกว่าและอยู่ในระดับต่ำ และเราเชื่อว่ากรอบการทำงานดังกล่าวมีเป้าหมายโดยตรง แปลข้อความภายใน UI ของแอป โดยแทนที่ข้อความในบรรทัดเพื่อให้การแปลให้ความรู้สึกเป็นธรรมชาติมากขึ้น

เราตรวจสอบ Google แปลภาษาและบริการปรับแต่งอุปกรณ์เวอร์ชันล่าสุด แต่ไม่พบหลักฐานใดๆ ของการผสานรวม API ใหม่นี้ เป็นไปได้ที่ API นี้จะไม่ใช้ Google แปลภาษาโดยตรง แต่เป็นปลายทาง API อื่น หากมีการใช้งานฟีเจอร์นี้ตามการคาดเดาของเรา เราสงสัยว่า Google จะเรียกเก็บเงินจากผู้ใช้สำหรับฟีเจอร์นี้ อย่างไรก็ตาม อาจเป็นไปได้ว่าพวกเขาอาจเปิดใช้งานการแปล UI ที่ขับเคลื่อนโดย Google Translate เป็นคุณสมบัติเฉพาะของ Pixel เนื่องจากกรอบงานดูเหมือนว่าจะมาใน AOSP จึงเป็นไปได้ที่ OEM จะสามารถกำหนดบริการแปลของตนเองได้ หากพวกเขาไม่ต้องการใช้ของ Google

แอพของบุคคลที่สามเช่น ออลทรานส์ มีฟีเจอร์การแปล UI ของตัวเองมานานหลายปี ม็อดเหล่านี้ขับเคลื่อนโดย Xposed Framework ทำงานคล้ายกับที่เราคิดว่าการแปล UI ของ Android 12 จะทำงาน โดยเชื่อมโยงกับมุมมองของแอปโดยตรงเพื่อแปลและแทนที่ข้อความ อย่างไรก็ตาม ม็อดเหล่านี้ต้องการให้ผู้ใช้คว้าคีย์ API ของตนเองสำหรับบริการแปล เนื่องจากคีย์ที่แชร์จะเกินขีดจำกัดฟรีอย่างรวดเร็ว ดูเหมือนว่า Google จะสร้างเฟรมเวิร์กการแปล UI โดยตรงใน Android 12 ผู้ใช้จึงไม่จำเป็นต้องรูทอุปกรณ์เพื่อแปลแอปเป็นภาษาแม่อีกต่อไป หวังว่านี่จะทำให้แอปนับพันเข้าถึงได้มากขึ้นสำหรับผู้ใช้ทั่วโลก

การใช้ Xposed Framework นั้น AllTrans จะเชื่อมต่อกับมุมมองข้อความภายในแอพเพื่อแปลข้อความโดยใช้ Translator ของ Microsoft

นักพัฒนายังจะได้รับประโยชน์จากการแปล UI อัตโนมัติอีกด้วย นักพัฒนาที่ไม่มีทรัพยากรในการแปลแอปของตนหรือผู้ที่ไม่ต้องการใช้การแปลด้วยคอมพิวเตอร์สามารถปล่อยให้ระบบปฏิบัติการจัดการสิ่งต่างๆ ได้ การเปิดตัวแอปที่แปลด้วยเครื่องอาจส่งผลให้ผู้ใช้ได้รับคำวิจารณ์เชิงลบที่ตำหนินักพัฒนาว่าแปลไม่ดี แต่ผู้ใช้กลับได้รับคำวิจารณ์เชิงลบ ตัวเองสั่งให้ระบบปฏิบัติการแปลแอปจะส่งผลให้หงุดหงิดน้อยลงเนื่องจากผู้ใช้เข้าใจได้ดีขึ้นว่าจะตำหนิจุดใดที่ไม่ดี ข้อความที่แปล

แม้ว่าเราจะค่อนข้างมั่นใจว่าฟีเจอร์นี้มีจุดประสงค์เพื่อแปล UI ภายในแอป แต่เราก็ไม่แน่ใจ 100% ว่าจะเป็นเช่นนั้นจนกว่าเราจะเห็นฟีเจอร์นี้ใช้งานจริง การใช้คุณสมบัตินี้อีกทางเลือกหนึ่งคือการแปล UI ภายในระบบปฏิบัติการหรือเฉพาะแอประบบ แต่เราคิดว่ามันไม่น่าจะเป็นไปได้ เนื่องจากระบบปฏิบัติการได้รับการแปลเป็นภาษาท้องถิ่นอย่างกว้างขวางอยู่แล้ว และการแปลเป็นภาษาท้องถิ่นใดๆ ก็ตามสามารถทำได้ก่อนที่อุปกรณ์จะออกจากโรงงานหรือผ่านทาง OTA อัปเดต. ในทางกลับกัน Google และ OEM ไม่สามารถพิจารณาว่าแอปรองรับภาษาใด ดังนั้นฟีเจอร์นี้จะช่วยเติมเต็มช่องว่าง เมื่อพิจารณาว่า Google กำลังพัฒนาฟีเจอร์นี้ในระดับ View ทำให้สามารถใช้งานได้กับทุกแอพ ทำให้มีแนวโน้มว่าจะมีจุดประสงค์เพื่อใช้ในแอพมากกว่า OS อย่างไรก็ตาม เราไม่ทราบแน่ชัดอีกครั้งจนกว่าฟีเจอร์นี้จะเปิดตัว ซึ่งอาจเกิดขึ้นหรืออาจไม่เกิดขึ้นใน Android 12 รุ่นเสถียรก็ได้

ขอบคุณนักพัฒนา ควินนี่899 และ kdrag0n สำหรับความช่วยเหลือในการวิเคราะห์โค้ดนี้ ขอขอบคุณซอฟต์แวร์ PNF ที่ให้ใบอนุญาตแก่เรา โปรแกรมถอดรหัส JEBซึ่งเป็นเครื่องมือวิศวกรรมย้อนกลับระดับมืออาชีพสำหรับแอปพลิเคชัน Android