Android 12 môže automaticky prekladať aplikácie do vášho rodného jazyka

Google pracuje na novej funkcii prekladu používateľského rozhrania v systéme Android 12, ktorá dokáže automaticky prekladať aplikácie do vášho rodného jazyka.

S viac ako 2,5 miliardami aktívnych používateľov je Android celosvetovo najpoužívanejším operačným systémom. Zatiaľ čo samotný OS bol lokalizovaný do desiatok rôznych jazykov, v prípade mnohých aplikácií tretích strán to tak nie je. Väčšie spoločnosti môžu lokalizovať svoje aplikácie interne alebo si najať profesionálne prekladateľské služby, ale tieto možnosti nie sú ekonomicky realizovateľné pre menšie tímy alebo nezávislých vývojárov aplikácií. Menší tím alebo vývojár nezávislých aplikácií môže v najlepšom prípade získavať preklady od rodených hovorcov a v najhoršom prípade môže na vykonanie tejto úlohy použiť služby strojového prekladu. To by sa však mohlo zmeniť Android 12, pretože sme videli dôkazy, ktoré naznačujú, že Google môže pracovať na rámci na automatický preklad používateľského rozhrania aplikácie do rodného jazyka používateľa.

Zrušenie súboru APK môže často predpovedať funkcie, ktoré sa môžu objaviť v budúcej aktualizácii aplikácie, ale je možné, že ktorákoľvek z funkcií, ktoré tu spomíname, sa v budúcom vydaní nedostanú. Je to preto, že tieto funkcie momentálne nie sú implementované v živej zostave a vývojári ich môžu kedykoľvek stiahnuť v budúcej zostave.

Začiatkom tohto týždňa sme získali nevydanú zostavu Android 12, ktorá obsahuje a pár nových funkcií a zmien používateľského rozhrania. Pri prehrabávaní sa vo vydaní sme objavili množstvo nových tried v rámci, ktoré súvisia s novým "prekladateľská služba." Naše hľadanie sa začalo, keď sme objavili dve nové povolenia pridané do tejto zostavy Androidu 12: BIND_TRANSLATION_SERVICE a MANAGE_UI_TRANSLATION. Systémové používateľské rozhranie systému Android má prvé povolenie na prepojenie s aplikáciou, ktorá má druhé povolenie, ktoré je predvolene definované hodnotou config_defaultTranslationService. Aplikáciu ako Google Translate alebo Služby prispôsobenia zariadenia možno pravdepodobne nastaviť ako prekladateľskú službu, ale Google ju môže sprístupniť aplikáciám tretích strán ako MANAGE_UI_TRANSLATION povolenie má „rolu“ definovanú ako jednu z podporovaných úrovní ochrany. Ak si pamätáte, Android 10 pridal „Rolyktoré definujú aplikácie, ktoré by mali mať určité privilégiá; je možné, že spoločnosť Google môže pridať rolu „Prekladač“, no nevieme, či túto rolu možno udeliť aplikáciám nainštalovaným používateľom.

V každom prípade sme našli odkazy na tieto povolenia v kóde rámca, kde sme našli dôkazy o tom nový kód prekladu pôsobí skôr na zobrazenia v rámci aktivít ako na snímku obrazovky alebo nedávnych aplikáciách panel. Prekladanie textu na snímkach obrazovky alebo na paneli nedávnych aplikácií už dokáže Google Lens a v spojení so službami prispôsobenia zariadenia je možné preložené priamo z panela nedávnych aplikácií. Medzitým systém Androidu už umožňuje základné zdieľanie textu na preklad. Zdá sa však, že tento nový rámec je zložitejší a má nižšiu úroveň a veríme, že je zameraný priamo preložte text v rámci používateľského rozhrania aplikácie a nahraďte text v riadku, aby bol preklad natívny.

Preskúmali sme najnovšie verzie služieb Google Translate a Device Personalization Services, ale nenašli sme žiadne dôkazy o integrácii tohto nového API. Je možné, že toto API nebude používať priamo Google Translate, ale skôr iný koncový bod API. Ak bude táto funkcia implementovaná v súlade s našimi špekuláciami, pochybujeme, že spoločnosť Google bude používateľom túto funkciu účtovať. Je však možné, že môžu povoliť preklady používateľského rozhrania využívajúceho službu Google Translate ako funkciu exkluzívnu pre Pixel. Keďže sa zdá, že rámec prichádza do AOSP, je možné, že výrobcovia OEM môžu definovať svoju vlastnú prekladateľskú službu, ak nechcú používať službu Google.

Aplikácie tretích strán ako napr AllTrans už roky ponúkajú vlastnú funkciu prekladu používateľského rozhrania. Tieto modifikácie využívajúce Xposed Framework fungujú podobne, ako si myslíme, že bude fungovať preklad používateľského rozhrania systému Android 12, pričom sa priamo pripájajú k zobrazeniam aplikácie na preklad a nahradenie textu. Tieto mody však vyžadujú, aby si používatelia chytili svoj vlastný kľúč API pre prekladateľskú službu, pretože zdieľaný kľúč by pomerne rýchlo prekročil bezplatný limit. Keďže spoločnosť Google zdanlivo vytvára rámec na preklad používateľského rozhrania priamo do systému Android 12, používatelia už nebudú musieť rootovať svoje zariadenie na preklad aplikácií do svojho rodného jazyka. Dúfajme, že to sprístupní tisíce aplikácií používateľom na celom svete.

Pomocou Xposed Framework sa AllTrans pripojí k textovým zobrazeniam v aplikáciách a preloží text pomocou prekladača od spoločnosti Microsoft.

Vývojári budú ťažiť aj z automatických prekladov používateľského rozhrania. Vývojári, ktorí nemajú prostriedky na preklad svojej aplikácie alebo ktorí nechcú používať strojový preklad, môžu nechať veci riešiť operačný systém. Uvoľnenie strojovo preloženej aplikácie môže mať za následok negatívne recenzie od používateľov, ktorí obviňujú vývojára zo zlého prekladu, ale používateľ sami nariadia OS, aby preložil aplikáciu, povedie to k menšej frustrácii, pretože používateľ lepšie pochopí, kde možno viniť za nedostatočnú preložený text.

Aj keď sme si celkom istí, že táto funkcia je určená na preklad používateľského rozhrania v rámci aplikácií, nie sme si 100% istí, že je to tak, kým túto funkciu neuvidíme v akcii. Alternatívnym použitím tejto funkcie by bolo preloženie používateľského rozhrania v rámci operačného systému alebo iba systémových aplikácií, ale myslíme si, že je to nepravdepodobné pretože operačný systém je už široko lokalizovaný a akákoľvek lokalizácia môže byť vykonaná predtým, ako zariadenie opustí továreň alebo prostredníctvom OTA aktualizovať. Na druhej strane, Google a OEM nemôžu zodpovedať za to, ktoré jazyky aplikácia podporuje, takže táto funkcia by pomohla vyplniť medzeru. Vzhľadom na to, že spoločnosť Google vyvíja túto funkciu na úrovni zobrazenia, vďaka čomu ju možno použiť vo všetkých aplikáciách, je tiež pravdepodobnejšie, že je určená na použitie v aplikáciách a nie v operačnom systéme. Opäť to však nebudeme vedieť s istotou, kým nebude táto funkcia uvoľnená, čo sa môže, ale nemusí stať v stabilnom vydaní systému Android 12.

Vďaka vývojárom Quinny899 a kdrag0n za pomoc pri analýze tohto kódu. Taktiež ďakujeme PNF Software za poskytnutie licencie na používanie JEB Decompiler, profesionálny nástroj reverzného inžinierstva pre aplikácie pre Android.