Η Google εργάζεται σε μια νέα δυνατότητα μετάφρασης διεπαφής χρήστη στο Android 12 που θα μπορούσε να μεταφράζει αυτόματα εφαρμογές στη μητρική σας γλώσσα.
Με περισσότερους από 2,5 δισεκατομμύρια ενεργούς χρήστες, το Android είναι το πιο ευρέως χρησιμοποιούμενο λειτουργικό σύστημα παγκοσμίως. Ενώ το ίδιο το λειτουργικό σύστημα έχει προσαρμοστεί σε δεκάδες διαφορετικές γλώσσες, αυτό δεν ισχύει για πολλές εφαρμογές τρίτων. Οι μεγαλύτερες εταιρείες μπορούν να τοπικοποιήσουν τις εφαρμογές τους εσωτερικά ή να προσλάβουν επαγγελματικές μεταφραστικές υπηρεσίες, αλλά αυτές οι επιλογές δεν είναι οικονομικά εφικτές για μικρότερες ομάδες ή ανεξάρτητους προγραμματιστές εφαρμογών. Στην καλύτερη περίπτωση, μια μικρότερη ομάδα ή ένας προγραμματιστής ανεξάρτητων εφαρμογών μπορεί να συγκεντρώνει μεταφράσεις από φυσικούς ομιλητές και, στη χειρότερη, μπορεί να χρησιμοποιεί υπηρεσίες μηχανικής μετάφρασης για να κάνει τη δουλειά. Ωστόσο, αυτό μπορεί να αλλάξει Android 12, καθώς είδαμε στοιχεία που υποδηλώνουν ότι η Google μπορεί να εργάζεται σε ένα πλαίσιο για την αυτόματη μετάφραση της διεπαφής χρήστη μιας εφαρμογής στη μητρική γλώσσα του χρήστη.
Μια απόρριψη του APK μπορεί συχνά να προβλέψει λειτουργίες που ενδέχεται να φτάσουν σε μια μελλοντική ενημέρωση μιας εφαρμογής, αλλά είναι πιθανό οποιαδήποτε από τις λειτουργίες που αναφέρουμε εδώ να μην είναι δυνατή σε μελλοντική κυκλοφορία. Αυτό συμβαίνει επειδή αυτές οι δυνατότητες δεν εφαρμόζονται επί του παρόντος στη ζωντανή έκδοση και ενδέχεται να ληφθούν ανά πάσα στιγμή από τους προγραμματιστές σε μια μελλοντική έκδοση.
Νωρίτερα αυτήν την εβδομάδα, αποκτήσαμε μια ακυκλοφόρητη έκδοση Android 12 που περιέχει α δύο νέες δυνατότητες και αλλαγές διεπαφής χρήστη. Καθώς σκάβαμε την έκδοση, ανακαλύψαμε πολλές νέες κλάσεις στο πλαίσιο που σχετίζονται με μια νέα "υπηρεσία μετάφρασης." Η αναζήτησή μας ξεκίνησε όταν ανακαλύψαμε δύο νέα δικαιώματα που προστέθηκαν σε αυτήν την έκδοση του Android 12: BIND_TRANSLATION_SERVICE
και MANAGE_UI_TRANSLATION
. Το SystemUI του Android διαθέτει το πρώτο δικαίωμα σύνδεσης σε μια εφαρμογή που κατέχει το δεύτερο δικαίωμα, το οποίο από προεπιλογή ορίζεται από την τιμή config_defaultTranslationService
. Προφανώς, μια εφαρμογή όπως η Μετάφραση Google ή οι Υπηρεσίες εξατομίκευσης συσκευής μπορεί να ρυθμιστεί ως υπηρεσία μετάφρασης, αλλά η Google μπορεί να την ανοίξει σε εφαρμογές τρίτων ως MANAGE_UI_TRANSLATION
Η άδεια έχει «ρόλο» που ορίζεται ως ένα από τα υποστηριζόμενα επίπεδα προστασίας. Αν θυμάστε, το Android 10 πρόσθεσε "Ρόλοι" που ορίζουν εφαρμογές που θα πρέπει να έχουν ορισμένα προνόμια. είναι πιθανό η Google να προσθέσει τον "Μεταφραστή" ως ρόλο, αλλά δεν γνωρίζουμε εάν αυτός ο ρόλος μπορεί να εκχωρηθεί σε εφαρμογές που έχουν εγκαταστήσει ο χρήστης.
Σε κάθε περίπτωση, βρήκαμε αναφορές σε αυτές τις άδειες στον κώδικα πλαισίου, όπου εντοπίσαμε αποδείξεις ότι αυτό Ο νέος κώδικας μετάφρασης δρα στις προβολές εντός των δραστηριοτήτων και όχι σε ένα στιγμιότυπο οθόνης ή στις πρόσφατες εφαρμογές πίνακας. Η μετάφραση κειμένου σε στιγμιότυπα οθόνης ή στο πλαίσιο πρόσφατων εφαρμογών μπορεί ήδη να γίνει από το Google Lens και σε συνδυασμό με τις Υπηρεσίες εξατομίκευσης συσκευής, το κείμενο μπορεί να μεταφραστεί απευθείας από τον πίνακα πρόσφατων εφαρμογών. Εν τω μεταξύ, το σύστημα προθέσεων του Android επιτρέπει ήδη τη βασική κοινή χρήση κειμένου για μετάφραση. Αυτό το νέο πλαίσιο, ωστόσο, φαίνεται να είναι πιο περίπλοκο και χαμηλού επιπέδου και πιστεύουμε ότι στοχεύει άμεσα μεταφράστε κείμενο μέσα στη διεπαφή χρήστη μιας εφαρμογής, αντικαθιστώντας το κείμενο σε σειρά για να κάνει τη μετάφραση να φαίνεται πιο εγγενής.
Εξετάσαμε τις πιο πρόσφατες εκδόσεις της Μετάφρασης Google και των Υπηρεσιών Εξατομίκευσης Συσκευών, αλλά δεν βρήκαμε στοιχεία που να αποδεικνύουν την ενσωμάτωση αυτού του νέου API. Είναι πιθανό αυτό το API να μην χρησιμοποιεί απευθείας τη Μετάφραση Google αλλά ένα διαφορετικό τελικό σημείο API. Εάν αυτή η δυνατότητα εφαρμοστεί σύμφωνα με τις εικασίες μας, αμφιβάλλουμε ότι η Google θα χρεώσει τους χρήστες για αυτήν τη δυνατότητα. Ωστόσο, είναι πιθανό να ενεργοποιήσουν τις μεταφράσεις διεπαφής χρήστη που υποστηρίζονται από τη Μετάφραση Google ως αποκλειστική λειτουργία Pixel. Εφόσον το πλαίσιο φαίνεται να έρχεται στο AOSP, ωστόσο, είναι πιθανό οι OEM να μπορούν να ορίσουν τη δική τους υπηρεσία μετάφρασης εάν δεν θέλουν να χρησιμοποιήσουν αυτήν της Google.
Εφαρμογές τρίτων όπως AllTrans έχουν προσφέρει εδώ και χρόνια μια δική τους δυνατότητα μετάφρασης διεπαφής χρήστη. Με την υποστήριξη του Xposed Framework, αυτά τα mod λειτουργούν παρόμοια με τον τρόπο που πιστεύουμε ότι θα λειτουργήσει η μετάφραση διεπαφής χρήστη του Android 12, συνδέοντας απευθείας τις προβολές μιας εφαρμογής για μετάφραση και αντικατάσταση του κειμένου. Ωστόσο, αυτά τα mods απαιτούν από τους χρήστες να αρπάξουν το δικό τους κλειδί API για μια υπηρεσία μετάφρασης, καθώς ένα κοινό κλειδί θα υπερέβαινε το δωρεάν όριο αρκετά γρήγορα. Ωστόσο, με την Google να δημιουργεί φαινομενικά ένα πλαίσιο μετάφρασης διεπαφής χρήστη απευθείας στο Android 12, οι χρήστες δεν θα χρειάζεται πλέον να ριζώνουν τη συσκευή τους για να μεταφράζουν εφαρμογές στη μητρική τους γλώσσα. Αυτό ελπίζουμε ότι θα κάνει χιλιάδες εφαρμογές πιο προσιτές στους χρήστες σε όλο τον κόσμο.
Χρησιμοποιώντας το Xposed Framework, το AllTrans αγκιστρώνεται σε προβολές κειμένου εντός εφαρμογών για να μεταφράσει το κείμενο χρησιμοποιώντας τον Μεταφραστή της Microsoft.
Οι προγραμματιστές θα επωφεληθούν επίσης από τις αυτοματοποιημένες μεταφράσεις διεπαφής χρήστη. Οι προγραμματιστές που δεν έχουν τους πόρους για να μεταφράσουν την εφαρμογή τους ή που δεν θέλουν να χρησιμοποιήσουν αυτόματη μετάφραση μπορούν να αφήσουν το λειτουργικό σύστημα να χειριστεί τα πράγματα. Η κυκλοφορία μιας εφαρμογής που μεταφράζεται από μηχανή μπορεί να έχει ως αποτέλεσμα αρνητικές κριτικές από χρήστες που κατηγορούν τον προγραμματιστή για την κακή μετάφραση, αλλά έχουν τον χρήστη οι ίδιοι κατευθύνουν το λειτουργικό σύστημα για να μεταφράσει την εφαρμογή θα οδηγήσει σε λιγότερη απογοήτευση, καθώς ο χρήστης κατανοεί καλύτερα πού να κατηγορήσει για τυχόν κακή μεταφρασμένο κείμενο.
Αν και είμαστε αρκετά βέβαιοι ότι αυτή η λειτουργία προορίζεται για τη μετάφραση της διεπαφής χρήστη εντός των εφαρμογών, δεν είμαστε 100% σίγουροι ότι ισχύει μέχρι να δούμε τη λειτουργία σε δράση. Μια εναλλακτική χρήση αυτής της δυνατότητας θα ήταν η μετάφραση του UI εντός του λειτουργικού συστήματος ή μόνο των εφαρμογών συστήματος, αλλά πιστεύουμε ότι είναι απίθανο επειδή το λειτουργικό σύστημα έχει ήδη εντοπιστεί ευρέως και οποιαδήποτε τοπική προσαρμογή μπορεί να γίνει πριν η συσκευή φύγει από το εργοστάσιο ή μέσω OTA εκσυγχρονίζω. Από την άλλη πλευρά, η Google και οι OEM δεν μπορούν να υπολογίσουν ποιες γλώσσες υποστηρίζει μια εφαρμογή, επομένως αυτή η δυνατότητα θα συμβάλει στην κάλυψη του κενού. Λαμβάνοντας υπόψη ότι η Google αναπτύσσει αυτήν τη δυνατότητα σε επίπεδο Προβολής, καθιστώντας την έτσι ώστε να μπορεί να χρησιμοποιηθεί σε όλες τις εφαρμογές, καθιστά επίσης πιο πιθανό να προορίζεται για χρήση σε εφαρμογές και όχι στο λειτουργικό σύστημα. Και πάλι, όμως, δεν θα ξέρουμε με βεβαιότητα μέχρι να κυκλοφορήσει αυτή η δυνατότητα, κάτι που μπορεί να συμβεί ή να μην συμβεί στη σταθερή έκδοση του Android 12.
Χάρη στους προγραμματιστές Quinny899 και kdrag0n για τη βοήθειά τους στην ανάλυση αυτού του κώδικα. Ευχαριστούμε επίσης το PNF Software που μας παρείχε άδεια χρήσης JEB Decompiler, ένα εργαλείο αντίστροφης μηχανικής επαγγελματικής ποιότητας για εφαρμογές Android.