Android 12 može automatski prevoditi aplikacije na vaš materinji jezik

click fraud protection

Google radi na novoj značajci prijevoda korisničkog sučelja u Androidu 12 koja bi mogla automatski prevoditi aplikacije na vaš materinji jezik.

S više od 2,5 milijarde aktivnih korisnika, Android je najkorišteniji operativni sustav na svijetu. Iako je sam OS lokaliziran na desetke različitih jezika, to nije slučaj s mnogim aplikacijama trećih strana. Veće tvrtke mogu lokalizirati svoje aplikacije unutar kuće ili unajmiti profesionalne prevoditeljske usluge, ali te opcije nisu ekonomski izvedive za manje timove ili neovisne programere aplikacija. U najboljem slučaju, manji tim ili nezavisni razvojni programer aplikacija može prikupiti prijevode izvornih govornika, a u najgorem slučaju mogu koristiti usluge strojnog prevođenja za obavljanje posla. Međutim, to bi se moglo promijeniti Android 12, jer smo vidjeli dokaze koji sugeriraju da Google možda radi na okviru za automatsko prevođenje korisničkog sučelja aplikacije na materinji jezik korisnika.

Rastavljanje APK-a često može predvidjeti značajke koje bi mogle stići u budućem ažuriranju aplikacije, ali moguće je da bilo koja od značajki koje ovdje spominjemo neće biti dostupna u budućem izdanju. To je zato što ove značajke trenutno nisu implementirane u live build-u i programeri ih mogu povući u bilo kojem trenutku u budućoj verziji.

Ranije ovog tjedna dobili smo neobjavljenu verziju Androida 12 koja sadrži a nekoliko novih značajki i promjena korisničkog sučelja. Dok smo kopali po izdanju, otkrili smo mnoštvo novih klasa u okviru povezanih s novim "prevoditeljska služba". Naša je potraga započela kada smo otkrili dvije nove dozvole dodane ovoj verziji Androida 12: BIND_TRANSLATION_SERVICE i MANAGE_UI_TRANSLATION. Androidov SystemUI ima prethodno dopuštenje za vezanje na aplikaciju koja ima drugo dopuštenje, koje je prema zadanim postavkama definirano vrijednošću config_defaultTranslationService. Vjerojatno se aplikacija kao što je Google Translate ili Device Personalization Services može postaviti kao usluga prevođenja, ali Google je može otvoriti aplikacijama trećih strana kao MANAGE_UI_TRANSLATION dozvola ima "ulogu" definiranu kao jednu od podržanih razina zaštite. Ako se sjećate, Android 10 je dodao "Uloge" koje definiraju aplikacije koje bi trebale imati određene privilegije; moguće je da Google može dodati "Prevoditelja" kao ulogu, ali ne znamo može li se ta uloga dodijeliti aplikacijama koje instalira korisnik.

U svakom slučaju, pronašli smo reference na ta dopuštenja u okvirnom kodu, gdje smo uočili dokaze da je ovo novi kod za prijevod djeluje na prikaze unutar aktivnosti, a ne na snimku zaslona ili nedavne aplikacije ploča. Prijevod teksta unutar snimki zaslona ili ploče s nedavnim aplikacijama već se može izvršiti pomoću Google Lens, a u kombinaciji s uslugama personalizacije uređaja, tekst se može prevedeno izravno s ploče nedavnih aplikacija. U međuvremenu, Androidov sustav namjere već dopušta osnovno dijeljenje teksta za prijevod. Međutim, čini se da je ovaj novi okvir složeniji i na nižoj razini, a vjerujemo da cilja izravno prevodite tekst unutar korisničkog sučelja aplikacije, zamjenjujući tekst u retku kako bi prijevod djelovao izvornije.

Ispitali smo najnovije verzije Google prevoditelja i usluga personalizacije uređaja, ali nismo pronašli nikakve dokaze o integraciji ovog novog API-ja. Moguće je da ovaj API neće izravno koristiti Google prevoditelj, već drugu krajnju točku API-ja. Ako se ova značajka implementira u skladu s našim nagađanjima, sumnjamo da će Google korisnicima naplatiti ovu značajku. Međutim, moguće je da će omogućiti prijevode korisničkog sučelja koje pokreće Google Translate kao značajku koja je ekskluzivna za Pixel. Budući da se čini da okvir dolazi u AOSP, moguće je da proizvođači originalne opreme mogu definirati vlastitu uslugu prevođenja ako ne žele koristiti Googleovu.

Aplikacije trećih strana poput AllTrans već godinama nude vlastitu značajku prijevoda korisničkog sučelja. Uz pomoć Xposed Frameworka, ovi modovi rade slično onome kako mislimo da će funkcionirati prijevod korisničkog sučelja za Android 12, izravno se spajajući na prikaze aplikacije kako bi preveli i zamijenili tekst. Međutim, ovi modovi zahtijevaju od korisnika da zgrabe vlastiti API ključ za prevoditeljsku uslugu jer bi dijeljeni ključ vrlo brzo premašio besplatno ograničenje. Budući da Google naizgled ugrađuje okvir za prevođenje korisničkog sučelja izravno u Android 12, međutim, korisnici više ne bi morali rootati svoj uređaj za prevođenje aplikacija na svoj materinji jezik. Nadamo se da će to tisuće aplikacija učiniti dostupnijima korisnicima diljem svijeta.

Koristeći Xposed Framework, AllTrans se spaja na prikaze teksta unutar aplikacija kako bi preveo tekst pomoću Microsoftovog prevoditelja.

Programeri će također imati koristi od automatiziranih prijevoda korisničkog sučelja. Razvojni programeri koji nemaju resurse za prijevod svoje aplikacije ili koji ne žele koristiti strojno prevođenje mogu prepustiti OS-u da rješava stvari. Izdavanje strojno prevedene aplikacije može rezultirati negativnim recenzijama korisnika koji krive programera za loš prijevod, ali korisnik sami usmjeravaju OS da prevede aplikaciju rezultirat će s manje frustracija jer korisnik bolje razumije koga treba okriviti za loše prevedeni tekst.

Iako smo prilično uvjereni da je ova značajka namijenjena prevođenju korisničkog sučelja unutar aplikacija, nismo 100% sigurni da je tako dok ne vidimo značajku na djelu. Alternativna upotreba ove značajke bila bi prevođenje korisničkog sučelja unutar OS-a ili samo sistemskih aplikacija, ali mislimo da je to malo vjerojatno jer je OS već široko lokaliziran i bilo koja lokalizacija se može izvršiti prije nego što uređaj napusti tvornicu ili putem OTA Ažuriraj. S druge strane, Google i OEM-ovi ne mogu uzeti u obzir koje jezike aplikacija podržava, pa bi ova značajka pomogla popuniti prazninu. Uzimajući u obzir da Google razvija ovu značajku na razini prikaza, čineći je tako da se može koristiti u svim aplikacijama, također je vjerojatnije da je namijenjena za upotrebu u aplikacijama, a ne u OS-u. Opet, međutim, nećemo znati sa sigurnošću dok ova značajka ne bude objavljena, što se može, ali i ne mora dogoditi u stabilnom izdanju Androida 12.

Hvala programerima Quinny899 i kdrag0n za njihovu pomoć u analizi ovog koda. Također zahvaljujemo PNF softveru što nam je dao licencu za korištenje JEB Decompiler, profesionalni alat za obrnuti inženjering za Android aplikacije.