Android 12 kan automatiskt översätta appar till ditt modersmål

Google arbetar på en ny UI-översättningsfunktion i Android 12 som automatiskt kan översätta appar till ditt modersmål.

Med över 2,5 miljarder aktiva användare är Android det mest använda operativsystemet i världen. Även om själva operativsystemet har lokaliserats till dussintals olika språk, är det inte fallet för många tredjepartsappar. Större företag kan lokalisera sina appar internt eller hyra professionella översättningstjänster, men dessa alternativ är inte ekonomiskt genomförbara för mindre team eller oberoende apputvecklare. I bästa fall kan ett mindre team eller indieapp-utvecklare samla in översättningar från infödda talare, och i värsta fall kan de använda maskinöversättningstjänster för att göra jobbet. Detta kan dock ändras Android 12, eftersom vi har sett bevis som tyder på att Google kan arbeta med ett ramverk för att automatiskt översätta en apps användargränssnitt till användarens modersmål.

En APK-nedbrytning kan ofta förutsäga funktioner som kan komma i en framtida uppdatering av en applikation, men det är möjligt att någon av funktionerna som vi nämner här kanske inte kommer med i en framtida version. Detta beror på att dessa funktioner för närvarande inte är implementerade i livebygget och kan dras när som helst av utvecklarna i en framtida version.

Tidigare i veckan fick vi en outgiven Android 12-version som innehåller en några nya funktioner och ändringar i användargränssnittet. När vi grävde igenom releasen upptäckte vi massor av nya klasser i ramverket relaterade till en ny "översättningstjänst." Vår sökning började när vi upptäckte två nya behörigheter som lagts till i denna version av Android 12: BIND_TRANSLATION_SERVICE och MANAGE_UI_TRANSLATION. Androids SystemUI har den förra behörigheten att binda till en app som har den senare behörigheten, som som standard definieras av värdet config_defaultTranslationService. Förmodligen kan en app som Google Translate eller Device Personalization Services konfigureras som översättningstjänst, men Google kan öppna den för appar från tredje part som MANAGE_UI_TRANSLATION behörighet har "roll" definierad som en av de stödda skyddsnivåerna. Om du kommer ihåg lade Android 10 till "Roller" som definierar appar som ska ha vissa privilegier; det är möjligt att Google kan lägga till "Översättare" som en roll, men vi vet inte om denna roll kan tilldelas appar som installerats av användaren.

I alla fall hittade vi referenser till dessa behörigheter i ramkod, där vi upptäckte bevis för att detta ny översättningskod agerar på visningar inom aktiviteter snarare än på en skärmdump eller de senaste apparna panel. Översättning av text i skärmdumpar eller panelen för senaste appar kan redan göras av Google Lens, och i samband med Device Personalization Services kan text översatt direkt från panelen för senaste appar. Samtidigt tillåter Androids avsiktssystem redan grundläggande delning av text för att översätta. Detta nya ramverk verkar dock vara mer komplext och på låg nivå, och vi tror att det syftar till direkt översätt text inom gränssnittet för en app, ersätt text in-line för att få översättningen att kännas mer naturlig.

Vi undersökte de senaste versionerna av Google Translate och Device Personalization Services men hittade inga bevis på att någon av dem har integrerat detta nya API. Det är möjligt att detta API inte kommer att använda Google Translate direkt utan snarare en annan API-slutpunkt. Om den här funktionen implementeras i linje med våra spekulationer tvivlar vi på att Google kommer att debitera användare för den här funktionen. Det är dock möjligt att de kan aktivera UI-översättningar som drivs av Google Translate som en exklusiv Pixel-funktion. Eftersom ramverket verkar komma till AOSP är det dock möjligt att OEM-tillverkare kan definiera sin egen översättningstjänst om de inte vill använda Googles.

Tredjepartsappar som AllTrans har i flera år erbjudit en egen UI-översättningsfunktion. Drivs av Xposed Framework, dessa mods fungerar på samma sätt som vi tror att Android 12:s UI-översättning kommer att fungera, direkt kopplas in i en apps vyer för att översätta och ersätta texten. Dessa mods kräver dock att användare tar sin egen API-nyckel för en översättningstjänst eftersom en delad nyckel skulle gå över den fria gränsen ganska snabbt. Med Google som verkar bygga ett ramverk för översättning av användargränssnittet direkt i Android 12, skulle dock användare inte längre behöva rota sin enhet för att översätta appar till sitt modersmål. Detta kommer förhoppningsvis att göra tusentals appar mer tillgängliga för användare över hela världen.

Med hjälp av Xposed Framework kopplar AllTrans in i textvyer i appar för att översätta texten med hjälp av Microsofts översättare.

Utvecklare kommer också att dra nytta av automatiserade UI-översättningar. Utvecklare som inte har resurser för att översätta sin app eller som inte vill använda maskinöversättning kan låta OS hantera saker. Att släppa en maskinöversatt app kan resultera i negativa recensioner från användare som skyller på utvecklaren för den dåliga översättningen, men som får användaren själva styr operativsystemet att översätta appen kommer att resultera i mindre frustration eftersom användaren bättre förstår var de ska lägga skulden för eventuella dåliga översatt text.

Även om vi är ganska säkra på att den här funktionen är avsedd att översätta användargränssnittet i appar, är vi inte 100 % säkra på att det är fallet förrän vi ser funktionen i aktion. En alternativ användning av den här funktionen skulle vara att översätta användargränssnittet inom operativsystemet eller bara systemappar, men vi tror att det är osannolikt eftersom operativsystemet både redan är allmänt lokaliserat och all lokalisering kan göras innan enheten lämnar fabriken eller via en OTA uppdatering. Å andra sidan kan Google och OEM inte redogöra för vilka språk en app stöder, så den här funktionen skulle hjälpa till att fylla luckan. Med tanke på att Google utvecklar den här funktionen på View-nivå, vilket gör den så att den kan användas i alla appar, gör det också mer troligt att den är avsedd för användning i appar snarare än OS. Återigen kommer vi dock inte att veta säkert förrän den här funktionen släpps, vilket kan hända eller inte kan hända i den stabila versionen av Android 12.

Tack vare utvecklarna Quinny899 och kdrag0n för deras hjälp med att analysera denna kod. Tack också till PNF Software för att du har gett oss en licens att använda JEB Decompiler, ett professionellt omvänd ingenjörsverktyg för Android-applikationer.