Google kehittää uutta käyttöliittymän käännösominaisuutta Android 12:ssa, joka voisi kääntää sovellukset automaattisesti äidinkielellesi.
Yli 2,5 miljardilla aktiivisella käyttäjällä Android on maailman laajimmin käytetty käyttöjärjestelmä. Vaikka itse käyttöjärjestelmä on lokalisoitu kymmenille eri kielille, niin ei ole monien kolmansien osapuolien sovellusten kohdalla. Suuremmat yritykset voivat lokalisoida sovelluksensa talon sisällä tai palkata ammattimaisia käännöspalveluita, mutta nämä vaihtoehdot eivät ole taloudellisesti kannattavia pienemmille tiimeille tai itsenäisille sovellusten kehittäjille. Parhaimmillaan pienempi tiimi tai indie-sovelluksen kehittäjä voi kerätä käännöksiä äidinkielenään puhujilta, ja pahimmillaan he voivat käyttää konekäännöspalveluita työn suorittamiseen. Tämä voi kuitenkin muuttua Android 12, koska olemme nähneet todisteita, jotka viittaavat siihen, että Google saattaa työstää puitteita sovelluksen käyttöliittymän automaattista kääntämistä varten käyttäjän äidinkielelle.
APK: n purkaminen voi usein ennustaa ominaisuuksia, jotka saattavat tulla sovelluksen tulevassa päivityksessä, mutta on mahdollista, että mikään tässä mainitsemistamme ominaisuuksista ei välttämättä toimi tulevassa julkaisussa. Tämä johtuu siitä, että näitä ominaisuuksia ei tällä hetkellä ole otettu käyttöön live-versiossa, ja kehittäjät voivat ottaa ne milloin tahansa käyttöön tulevassa versiossa.
Aiemmin tällä viikolla saimme julkaisemattoman Android 12 -koontiversion, joka sisältää a pari uutta ominaisuutta ja käyttöliittymämuutoksia. Kaivaessamme julkaisua, löysimme kehyksestä runsaasti uusia luokkia, jotka liittyvät uuteen "käännöspalvelu". Hakumme alkoi, kun löysimme kaksi uutta käyttöoikeutta, jotka on lisätty tähän Android-versioon 12: BIND_TRANSLATION_SERVICE
ja MANAGE_UI_TRANSLATION
. Androidin SystemUI: lla on edellinen lupa sitoutua sovellukseen, jolla on jälkimmäinen lupa, joka on oletuksena määritetty arvolla config_defaultTranslationService
. Oletettavasti sovellus, kuten Google Translate tai Device Personalization Services, voidaan määrittää käännöspalveluksi, mutta Google voi avata sen kolmansien osapuolien sovelluksille MANAGE_UI_TRANSLATION
luvalla on "rooli", joka on määritelty yhdeksi tuetuista suojaustasoista. Jos muistat, Android 10 lisäsi "Roolit", jotka määrittelevät sovellukset, joilla tulisi olla tietyt oikeudet; on mahdollista, että Google voi lisätä "kääntäjän" rooliksi, mutta emme tiedä, voidaanko tämä rooli myöntää käyttäjän asentamille sovelluksille.
Joka tapauksessa löysimme viittauksia näihin käyttöoikeuksiin kehyskoodista, jossa havaitsimme todisteita tästä uusi käännöskoodi vaikuttaa toimintojen näkymiin pikemminkin kuin kuvakaappaukseen tai viimeaikaisiin sovelluksiin paneeli. Google Lens voi jo kääntää tekstin kuvakaappauksissa tai viimeaikaisten sovellusten paneelissa, ja yhdessä Device Personalization Services -palvelun kanssa tekstiä voidaan kääntää käännetty suoraan viimeaikaisten sovellusten paneelista. Samaan aikaan Androidin tarkoitusjärjestelmä mahdollistaa jo käännettävän tekstin perusjakamisen. Tämä uusi viitekehys näyttää kuitenkin olevan monimutkaisempi ja matalatasoisempi, ja uskomme, että sillä pyritään suoraan kääntää tekstiä sovelluksen käyttöliittymässä ja korvata tekstiä in-line, jotta käännös tuntuu alkuperäiseltä.
Tutkimme Google-kääntäjän ja Device Personalization Services -palvelun uusimmat versiot, mutta emme löytäneet mitään todisteita kummankaan uuden API: n integroinnista. On mahdollista, että tämä sovellusliittymä ei käytä Google Kääntäjää suoraan, vaan erilaista API-päätepistettä. Jos tämä ominaisuus otetaan käyttöön spekulaatioidemme mukaisesti, epäilemme, että Google veloittaa käyttäjiä tästä ominaisuudesta. On kuitenkin mahdollista, että ne voivat ottaa käyttöön Google-kääntäjän tuottamat käyttöliittymäkäännökset pikselien yksinomaisena ominaisuutena. Koska kehys näyttää olevan tulossa AOSP: lle, on mahdollista, että OEM-valmistajat voivat määritellä oman käännöspalvelunsa, jos he eivät halua käyttää Googlen käännöspalvelua.
Kolmannen osapuolen sovellukset, kuten AllTrans ovat jo vuosia tarjonneet oman käyttöliittymäkäännösominaisuuden. Nämä Xposed Frameworkin tukemat modit toimivat samalla tavalla kuin uskomme Android 12:n käyttöliittymäkäännöksen toimivan, ja ne kytkeytyvät suoraan sovelluksen näkymiin tekstin kääntämiseksi ja korvaamiseksi. Nämä modit edellyttävät kuitenkin käyttäjiä nappaamaan oma API-avaimensa käännöspalvelua varten, koska jaettu avain ylittäisi ilmaisen rajan melko nopeasti. Kun Google näyttää rakentavan käyttöliittymän käännöskehyksen suoraan Android 12:een, käyttäjien ei kuitenkaan enää tarvitse roottaa laitettaan kääntääkseen sovelluksia äidinkielelleen. Tämä toivottavasti tekee tuhansista sovelluksista helpommin käyttäjien saatavilla ympäri maailmaa.
Xposed Frameworkin avulla AllTrans kytkeytyy tekstinäkymiin sovelluksissa kääntääkseen tekstin Microsoftin kääntäjällä.
Kehittäjät hyötyvät myös automaattisista käyttöliittymäkäännöksistä. Kehittäjät, joilla ei ole resursseja sovelluksensa kääntämiseen tai jotka eivät halua käyttää konekäännöstä, voivat antaa käyttöjärjestelmän hoitaa asiat. Konekäännetyn sovelluksen julkaiseminen voi johtaa negatiivisiin arvosteluihin käyttäjiltä, jotka syyttävät kehittäjää huonosta käännöksestä, mutta käyttäjästä itse ohjaavat käyttöjärjestelmän kääntämään sovelluksen, mikä vähentää turhautumista, koska käyttäjä ymmärtää paremmin, mihin syyttää huonoista käännetty teksti.
Vaikka olemme melko varmoja, että tämän ominaisuuden on tarkoitus kääntää sovellusten käyttöliittymä, emme ole 100% varmoja siitä, ennen kuin näemme ominaisuuden toiminnassa. Vaihtoehtoinen tämän ominaisuuden käyttö voisi olla käyttöliittymän kääntäminen käyttöjärjestelmän sisällä tai vain järjestelmäsovelluksissa, mutta pidämme sitä epätodennäköisenä koska käyttöjärjestelmä on jo laajasti lokalisoitu ja mikä tahansa lokalisointi voidaan tehdä ennen kuin laite lähtee tehtaalta tai OTA: n kautta päivittää. Toisaalta Google ja OEM-valmistajat eivät voi ottaa huomioon, mitä kieliä sovellus tukee, joten tämä ominaisuus auttaa täyttämään aukon. Ottaen huomioon, että Google kehittää tätä ominaisuutta View-tasolla, minkä ansiosta sitä voidaan käyttää kaikissa sovelluksissa, on myös todennäköisempää, että se on tarkoitettu käytettäväksi sovelluksissa käyttöjärjestelmän sijaan. Emme kuitenkaan tiedä varmasti ennen kuin tämä ominaisuus julkaistaan, mikä voi tapahtua Android 12:n vakaassa julkaisussa tai ei.
Kiitos kehittäjille Quinny899 ja kdrag0n heidän avustaan tämän koodin analysoinnissa. Kiitos myös PNF Softwarelle käyttöluvan myöntämisestä JEB Decompiler, ammattitason käänteissuunnittelutyökalu Android-sovelluksille.