Android 12 může automaticky překládat aplikace do vašeho rodného jazyka

Google pracuje na nové funkci překladu uživatelského rozhraní v systému Android 12, která dokáže automaticky překládat aplikace do vašeho rodného jazyka.

S více než 2,5 miliardami aktivních uživatelů je Android celosvětově nejrozšířenějším operačním systémem. Zatímco samotný OS byl lokalizován do desítek různých jazyků, u mnoha aplikací třetích stran tomu tak není. Větší společnosti mohou své aplikace lokalizovat interně nebo si najmout profesionální překladatelské služby, ale tyto možnosti nejsou ekonomicky proveditelné pro menší týmy nebo nezávislé vývojáře aplikací. V nejlepším případě může menší tým nebo vývojář nezávislých aplikací hromadně získávat překlady od rodilých mluvčích a v nejhorším případě mohou k této práci používat služby strojového překladu. To by se však mohlo změnit Android 12, protože jsme viděli důkazy, které naznačují, že Google možná pracuje na rámci pro automatický překlad uživatelského rozhraní aplikace do rodného jazyka uživatele.

Zrušení souboru APK může často předvídat funkce, které se mohou objevit v budoucí aktualizaci aplikace, ale je možné, že některá z funkcí, které zde zmiňujeme, se v budoucím vydání nemusí objevit. Je to proto, že tyto funkce nejsou v současné době v živém sestavení implementovány a vývojáři je mohou kdykoli stáhnout v budoucím sestavení.

Začátkem tohoto týdne jsme získali nevydané sestavení Android 12, které obsahuje a několik nových funkcí a změn uživatelského rozhraní. Při procházení vydání jsme objevili spoustu nových tříd v rámci souvisejících s novým "překladatelská služba." Naše hledání začalo, když jsme objevili dvě nová oprávnění přidaná k tomuto sestavení Androidu 12: BIND_TRANSLATION_SERVICE a MANAGE_UI_TRANSLATION. Systémové rozhraní systému Android má první oprávnění k navázání na aplikaci, která má druhé oprávnění, které je ve výchozím nastavení definováno hodnotou config_defaultTranslationService. Pravděpodobně lze jako překladatelskou službu nastavit aplikaci jako Překladač Google nebo Služby přizpůsobení zařízení, ale Google ji může otevřít aplikacím třetích stran jako MANAGE_UI_TRANSLATION oprávnění má „role“ definovanou jako jednu z podporovaných úrovní ochrany. Pokud si vzpomínáte, Android 10 přidal „Role", které definují aplikace, které by měly mít určitá oprávnění; je možné, že Google může přidat „Translator“ jako roli, ale nevíme, zda lze tuto roli udělit aplikacím nainstalovaným uživatelem.

V každém případě jsme našli odkazy na tato oprávnění v kódu frameworku, kde jsme našli důkazy, že tomu tak je nový kód překladu působí na zobrazení v rámci aktivit spíše než na snímek obrazovky nebo nedávných aplikací panel. Překlad textu na snímcích obrazovky nebo na panelu nedávných aplikací již může být proveden pomocí Google Lens a ve spojení se službami přizpůsobení zařízení lze text přeloženo přímo z panelu nedávných aplikací. Mezitím intent systém Androidu již umožňuje základní sdílení textu k překladu. Tento nový rámec se však zdá být složitější a nízkoúrovňový a věříme, že směřuje přímo k němu překládejte text v rámci uživatelského rozhraní aplikace a nahraďte text v řádku, aby byl překlad nativní.

Prozkoumali jsme nejnovější verze služeb Google Translate a Device Personalization Services, ale nenašli jsme žádné důkazy o integraci tohoto nového API. Je možné, že toto rozhraní API nebude používat přímo Překladač Google, ale spíše jiný koncový bod rozhraní API. Pokud bude tato funkce implementována v souladu s našimi spekulacemi, pochybujeme, že Google bude uživatelům za tuto funkci účtovat poplatky. Je však možné, že mohou povolit překlady uživatelského rozhraní využívající Překladač Google jako funkci exkluzivní pro Pixel. Vzhledem k tomu, že se zdá, že rámec přichází do AOSP, je možné, že výrobci OEM mohou definovat svou vlastní překladatelskou službu, pokud nechtějí používat službu Google.

Aplikace třetích stran jako AllTrans již léta nabízejí vlastní funkci překladu uživatelského rozhraní. Tyto mody využívající Xposed Framework fungují podobně, jak si myslíme, že bude fungovat překlad uživatelského rozhraní Androidu 12, přímo se zapojí do zobrazení aplikace a přeloží a nahradí text. Tyto mody však vyžadují, aby uživatelé chytili svůj vlastní klíč API pro překladatelskou službu, protože sdílený klíč by poměrně rychle překročil bezplatný limit. Vzhledem k tomu, že Google zdánlivě vytváří rámec pro překlad uživatelského rozhraní přímo do Androidu 12, uživatelé již nebudou muset rootovat své zařízení, aby překládali aplikace do svého rodného jazyka. Doufejme, že to zpřístupní tisíce aplikací uživatelům po celém světě.

Pomocí Xposed Framework se AllTrans zahákne do textových zobrazení v aplikacích a přeloží text pomocí Microsoft Translator.

Vývojáři budou také těžit z automatických překladů uživatelského rozhraní. Vývojáři, kteří nemají prostředky na překlad své aplikace nebo kteří nechtějí používat strojový překlad, mohou nechat operační systém, aby se s věcmi postaral. Vydání strojově přeložené aplikace může mít za následek negativní recenze od uživatelů, kteří obviňují vývojáře ze špatného překladu, ale uživatel samy nařídí operačnímu systému, aby aplikaci přeložil, bude mít za následek menší frustraci, protože uživatel lépe pochopí, kde lze vinit za jakékoli špatné přeložený text.

I když jsme si docela jisti, že tato funkce je určena k překladu uživatelského rozhraní v aplikacích, nejsme si 100% jisti, že tomu tak je, dokud tuto funkci neuvidíme v akci. Alternativním využitím této funkce by bylo přeložení uživatelského rozhraní v rámci operačního systému nebo pouze systémových aplikací, ale domníváme se, že je to nepravděpodobné protože operační systém je již široce lokalizován a jakoukoli lokalizaci lze provést dříve, než zařízení opustí továrnu, nebo prostřednictvím OTA Aktualizace. Na druhou stranu, Google a OEM nedokážou zohlednit, které jazyky aplikace podporuje, takže tato funkce by pomohla zaplnit mezeru. Vzhledem k tomu, že Google tuto funkci vyvíjí na úrovni zobrazení, takže ji lze používat ve všech aplikacích, je také pravděpodobnější, že je určena pro použití v aplikacích, nikoli v operačním systému. Opět to však nebudeme vědět jistě, dokud nebude tato funkce uvolněna, což se může, ale nemusí stát ve stabilní verzi Android 12.

Díky vývojářům Quinny899 a kdrag0n za jejich pomoc při analýze tohoto kódu. Také děkujeme společnosti PNF Software za poskytnutí licence k použití JEB dekompilátor, profesionální nástroj zpětného inženýrství pro aplikace Android.