„Google“ kuria naują „Android 12“ sąsajos vertimo funkciją, kuri galėtų automatiškai išversti programas į jūsų gimtąją kalbą.
Turėdama daugiau nei 2,5 milijardo aktyvių vartotojų, Android yra plačiausiai naudojama operacinė sistema visame pasaulyje. Nors pati OS buvo lokalizuota į daugybę skirtingų kalbų, tai netinka daugeliui trečiųjų šalių programų. Didesnės įmonės gali lokalizuoti savo programas įmonės viduje arba samdyti profesionalias vertimo paslaugas, tačiau mažesnėms komandoms ar nepriklausomiems programų kūrėjams šios parinktys ekonomiškai neįmanomos. Geriausiu atveju mažesnė komanda arba nepriklausomos programos kūrėjai gali teikti vertimus iš vietinių, kurių kalba yra gimtoji, o blogiausiu atveju – naudoti mašininio vertimo paslaugas. Tačiau tai gali pasikeisti Android 12, nes matėme įrodymų, leidžiančių manyti, kad „Google“ gali kurti sistemą, skirtą automatiškai išversti programos vartotojo sąsają į vartotojo gimtąją kalbą.
APK išardymas dažnai gali numatyti funkcijas, kurios gali būti pateiktos būsimame programos atnaujinime, tačiau gali būti, kad kuri nors iš čia paminėtų funkcijų gali nepasinaudoti būsimame leidime. Taip yra todėl, kad šios funkcijos šiuo metu neįdiegtos tiesioginėje versijoje ir bet kuriuo metu kūrėjai gali jas panaudoti būsimoje versijoje.
Anksčiau šią savaitę gavome neišleistą „Android 12“ versiją, kurioje yra a keletas naujų funkcijų ir vartotojo sąsajos pakeitimų. Naršydami leidimą, sistemoje aptikome daugybę naujų klasių, susijusių su nauja „vertimo paslauga“. Mūsų paieška prasidėjo, kai atradome du naujus leidimus, pridėtus prie šios „Android“ versijos 12: BIND_TRANSLATION_SERVICE
ir MANAGE_UI_TRANSLATION
. Android SystemUI turi ankstesnį leidimą susieti su programa, kuri turi pastarąjį leidimą, kuris pagal numatytuosius nustatymus apibrėžiamas pagal reikšmę config_defaultTranslationService
. Tikėtina, kad tokią programą kaip „Google“ vertėjas arba įrenginio personalizavimo paslaugas galima nustatyti kaip vertimo paslaugą, tačiau „Google“ gali atidaryti ją trečiųjų šalių programoms kaip MANAGE_UI_TRANSLATION
leidimas turi „vaidmenį“, apibrėžtą kaip vieną iš palaikomų apsaugos lygių. Jei prisiminsite, „Android 10“ pridėjoVaidmenys“, kurie apibrėžia programas, kurios turėtų turėti tam tikras privilegijas; Gali būti, kad „Google“ kaip vaidmenį gali pridėti „Vertėjas“, bet nežinome, ar šis vaidmuo gali būti suteiktas vartotojo įdiegtoms programoms.
Bet kokiu atveju pamatiniame kode radome nuorodų į šiuos leidimus, kur aptikome įrodymų, kad tai naujas vertimo kodas veikia veiklos rodinius, o ne ekrano kopiją ar naujausias programas skydelis. „Google Lens“ jau gali išversti tekstą ekrano kopijose arba naujausių programų skydelyje, o kartu su įrenginio personalizavimo paslaugomis tekstas gali būti išverstas tiesiai iš naujausių programų skydelio. Tuo tarpu „Android“ planų sistema jau leidžia pagrindinį teksto bendrinimą, kad būtų galima išversti. Tačiau ši nauja sistema atrodo sudėtingesnė ir žemesnio lygio, todėl manome, kad ja siekiama tiesiogiai išverskite tekstą programos vartotojo sąsajoje, pakeisdami tekstą eilute, kad vertimas atrodytų labiau vietinis.
Išnagrinėjome naujausias „Google“ vertėjo ir įrenginio personalizavimo paslaugų versijas, bet neradome jokių įrodymų, kad būtų integruota ši nauja API. Gali būti, kad ši API nenaudos „Google“ vertėjo tiesiogiai, o naudos kitą API galutinį tašką. Jei ši funkcija bus įdiegta pagal mūsų spėliones, abejojame, ar „Google“ ims naudotojams mokestį už šią funkciją. Tačiau gali būti, kad jie gali įgalinti vartotojo sąsajos vertimus, kuriuos teikia „Google“ vertėjas, kaip išskirtinę „Pixel“ funkciją. Kadangi atrodo, kad sistema ateina į AOSP, gali būti, kad originalios įrangos gamintojai gali nustatyti savo vertimo paslaugą, jei nenori naudoti „Google“.
Trečiųjų šalių programėlės, pvz AllTrans jau daugelį metų siūlė savo vartotojo sąsajos vertimo funkciją. Naudojant Xposed Framework, šios modifikacijos veikia panašiai, kaip, mūsų manymu, veiks „Android 12“ vartotojo sąsajos vertimas, tiesiogiai susiejant su programos rodiniais, kad būtų išverstas ir pakeistas tekstas. Tačiau šie modifikacijos reikalauja, kad vartotojai paimtų savo API raktą vertimo paslaugai, nes bendras raktas gana greitai viršytų nemokamą ribą. Atrodo, kad „Google“ sukuria vartotojo sąsajos vertimo sistemą tiesiai į „Android 12“, tačiau naudotojams nebereikės įsitvirtinti savo įrenginio, kad verstų programas į savo gimtąją kalbą. Tikimasi, kad tai padarys tūkstančius programų prieinamesnes vartotojams visame pasaulyje.
Naudodamas Xposed Framework, AllTrans prisijungia prie teksto rodinių programose, kad išverstų tekstą naudojant Microsoft Translator.
Kūrėjai taip pat gaus naudos iš automatinių vartotojo sąsajos vertimų. Kūrėjai, kurie neturi išteklių versti savo programą arba nenori naudoti mašininio vertimo, gali leisti OS tvarkyti reikalus. Išleidus mašininiu būdu išverstą programą, naudotojai gali sulaukti neigiamų atsiliepimų, kurie kaltina kūrėją dėl prasto vertimo, tačiau vartotoją turi Jie patys nukreips OS išversti programą, sukels mažiau nusivylimo, nes vartotojas geriau supras, kur kaltinti dėl blogo išverstas tekstas.
Nors esame gana įsitikinę, kad ši funkcija skirta išversti programų vartotojo sąsają, nesame 100% tikri, kad taip yra, kol nepastebime, kad ši funkcija veikia. Alternatyvus šios funkcijos naudojimas būtų vartotojo sąsajos vertimas OS arba tik sistemos programose, bet manome, kad tai mažai tikėtina nes OS jau yra plačiai lokalizuota ir bet kokia lokalizacija gali būti atlikta prieš išleidžiant įrenginį iš gamyklos arba naudojant OTA atnaujinti. Kita vertus, „Google“ ir originalios įrangos gamintojai negali atsižvelgti į programas palaikomas kalbas, todėl ši funkcija padėtų užpildyti spragą. Atsižvelgiant į tai, kad „Google“ kuria šią funkciją peržiūros lygiu, todėl ją galima naudoti visose programose, todėl labiau tikėtina, kad ji skirta naudoti programose, o ne OS. Tačiau vėlgi, mes tiksliai nežinosime, kol ši funkcija nebus išleista, o tai gali įvykti stabiliame „Android 12“ leidime arba ne.
Ačiū kūrėjams Quinny899 ir kdrag0n už pagalbą analizuojant šį kodą. Taip pat dėkojame PNF programinei įrangai, kuri suteikė mums naudojimosi licenciją JEB dekompiliatorius, profesionalaus lygio atvirkštinės inžinerijos įrankis, skirtas „Android“ programoms.