Google lucrează la o nouă funcție de traducere a interfeței de utilizare în Android 12, care ar putea traduce automat aplicații în limba ta maternă.
Cu peste 2,5 miliarde de utilizatori activi, Android este cel mai utilizat sistem de operare la nivel mondial. În timp ce sistemul de operare în sine a fost localizat în zeci de limbi diferite, acesta nu este cazul pentru multe aplicații terță parte. Companiile mai mari își pot localiza aplicațiile în interior sau pot angaja servicii profesionale de traducere, dar aceste opțiuni nu sunt fezabile din punct de vedere economic pentru echipele mai mici sau dezvoltatorii independenți de aplicații. În cel mai bun caz, o echipă mai mică sau un dezvoltator de aplicații independente poate aduna traduceri de la vorbitori nativi și, în cel mai rău caz, pot folosi servicii de traducere automată pentru a face treaba. Cu toate acestea, acest lucru s-ar putea schimba în Android 12, deoarece am văzut dovezi care sugerează că Google poate lucra la un cadru pentru traducerea automată a interfeței de utilizare a unei aplicații în limba maternă a utilizatorului.
O demontare a APK-ului poate prezice adesea funcții care pot apărea într-o actualizare viitoare a unei aplicații, dar este posibil ca oricare dintre caracteristicile pe care le menționăm aici să nu apară într-o versiune viitoare. Acest lucru se datorează faptului că aceste caracteristici sunt în prezent neimplementate în versiunea live și pot fi extrase oricând de către dezvoltatori într-o versiune viitoare.
La începutul acestei săptămâni, am obținut o versiune Android 12 nelansată care conține un câteva funcții noi și modificări ale interfeței de utilizare. În timp ce săpăm prin ediție, am descoperit o mulțime de clase noi în cadru legate de o nouă „serviciu de traducere”. Căutarea noastră a început când am descoperit două noi permisiuni adăugate la această versiune de Android 12: BIND_TRANSLATION_SERVICE
și MANAGE_UI_TRANSLATION
. SystemUI de la Android deține permisiunea anterioară de a se lega la o aplicație care deține cea de-a doua permisiune, care este definită implicit de valoarea config_defaultTranslationService
. Probabil, o aplicație precum Google Translate sau Device Personal Services poate fi configurată ca serviciu de traducere, dar Google o poate deschide pentru aplicații terță parte ca MANAGE_UI_TRANSLATION
permisiunea are „rol” definit ca unul dintre nivelurile de protecție acceptate. Dacă vă amintiți, Android 10 a adăugat „Roluri" care definesc aplicațiile care ar trebui să aibă anumite privilegii; este posibil ca Google să adauge „Translator” ca rol, dar nu știm dacă acest rol poate fi acordat aplicațiilor instalate de utilizator.
În orice caz, am găsit referiri la aceste permisiuni în codul cadru, unde am găsit dovezi că acest lucru noul cod de traducere acționează asupra vizualizărilor din activități, mai degrabă decât asupra unei capturi de ecran sau a aplicațiilor recente panou. Traducerea textului din capturi de ecran sau din panoul de aplicații recente poate fi deja realizată de Google Lens și, împreună cu serviciile de personalizare a dispozitivului, textul poate fi tradus direct din panoul de aplicații recente. Între timp, sistemul de intenții al Android permite deja partajarea de bază a textului de tradus. Acest nou cadru, totuși, pare a fi mai complex și la nivel scăzut și credem că își propune în mod direct traduceți text în interfața de utilizare a unei aplicații, înlocuind textul în linie pentru a face traducerea să pară mai nativă.
Am examinat cele mai recente versiuni ale Google Translate și Serviciile de personalizare a dispozitivelor, dar nu am găsit nicio dovadă a integrării acestui nou API. Este posibil ca acest API să nu folosească Google Translate direct, ci mai degrabă un alt punct final al API. Dacă această funcție este implementată în conformitate cu speculațiile noastre, ne îndoim că Google va taxa utilizatorii pentru această funcție. Cu toate acestea, este posibil ca acestea să activeze traducerile cu interfață de utilizare oferite de Google Translate ca o funcție exclusivă pentru Pixel. Deoarece cadrul pare să vină la AOSP, totuși, este posibil ca OEM-urile să își definească propriul serviciu de traducere dacă nu doresc să folosească Google.
Aplicații terță parte, cum ar fi AllTrans au oferit de ani de zile o caracteristică proprie de traducere a UI. Având la bază Xposed Framework, aceste modificări funcționează în mod similar cu modul în care credem că va funcționa traducerea interfeței de utilizare a Android 12, conectându-se direct la vizualizările unei aplicații pentru a traduce și înlocui textul. Cu toate acestea, aceste modificări impun utilizatorilor să-și ia propria cheie API pentru un serviciu de traducere, deoarece o cheie partajată ar depăși destul de repede limita liberă. Cu toate acestea, cu Google aparent construind un cadru de traducere UI direct în Android 12, utilizatorii nu ar mai avea nevoie să-și rooteze dispozitivul pentru a traduce aplicațiile în limba lor maternă. Acest lucru, sperăm, va face mii de aplicații mai accesibile utilizatorilor din întreaga lume.
Folosind Cadrul Xposed, AllTrans se conectează la vizualizări de text din aplicații pentru a traduce textul folosind Translatorul Microsoft.
Dezvoltatorii vor beneficia, de asemenea, de traduceri automate ale UI. Dezvoltatorii care nu au resursele pentru a-și traduce aplicația sau care nu doresc să folosească traducerea automată pot lăsa sistemul de operare să se ocupe de lucrurile. Lansarea unei aplicații traduse automat poate avea ca rezultat recenzii negative din partea utilizatorilor care dau vina pe dezvoltator pentru traducerea proastă, dar având utilizatorul ei înșiși direcționează sistemul de operare să traducă aplicația va duce la mai puțină frustrare, deoarece utilizatorul înțelege mai bine unde să pună vina pentru orice prost. text tradus.
Deși suntem destul de încrezători că această funcție este menită să traducă interfața de utilizare în aplicații, nu suntem 100% siguri că este cazul până când vedem funcția în acțiune. O utilizare alternativă a acestei caracteristici ar fi traducerea interfeței de utilizare în sistemul de operare sau numai în aplicațiile de sistem, dar credem că este puțin probabil. deoarece sistemul de operare este deja localizat pe scară largă și orice localizare poate fi făcută înainte ca dispozitivul să iasă din fabrică sau printr-o OTA Actualizați. Pe de altă parte, Google și producătorii de echipamente originale nu pot ține cont de ce limbi acceptă o aplicație, așa că această funcție ar ajuta la completarea golului. Având în vedere că Google dezvoltă această caracteristică la nivel de vizualizare, făcând-o astfel încât să poată fi utilizată în toate aplicațiile, face, de asemenea, mai probabil să fie destinată utilizării în aplicații, mai degrabă decât în sistemul de operare. Din nou, totuși, nu vom ști cu siguranță până când această caracteristică nu va fi lansată, ceea ce se poate întâmpla sau nu în versiunea stabilă Android 12.
Mulțumim dezvoltatorilor Quinny899 și kdrag0n pentru ajutorul acordat în analiza acestui cod. De asemenea, mulțumim software-ului PNF pentru că ne-a oferit o licență de utilizare Decompiler JEB, un instrument de inginerie inversă de calitate profesională pentru aplicații Android.