Android 12 може автоматично да превежда приложения на вашия роден език

click fraud protection

Google работи върху нова функция за превод на потребителския интерфейс в Android 12, която може автоматично да превежда приложения на вашия роден език.

С над 2,5 милиарда активни потребители Android е най-широко използваната операционна система в света. Въпреки че самата операционна система е локализирана на десетки различни езици, това не е така за много приложения на трети страни. По-големите компании могат да локализират приложенията си вътрешно или да наемат професионални преводачески услуги, но тези опции не са икономически осъществими за по-малки екипи или независими разработчици на приложения. В най-добрия случай по-малък екип или независим разработчик на приложения може да привлече преводи от носители на езика, а в най-лошия случай те могат да използват услуги за машинен превод, за да свършат работата. Това обаче може да се промени Android 12, тъй като видяхме доказателства, които предполагат, че Google може да работи върху рамка за автоматично превеждане на потребителския интерфейс на приложението на родния език на потребителя.

Разглобяването на APK често може да предвиди функции, които може да се появят в бъдеща актуализация на приложение, но е възможно някоя от функциите, които споменаваме тук, да не се появи в бъдеща версия. Това е така, защото тези функции в момента не са внедрени в живата компилация и могат да бъдат изтеглени по всяко време от разработчиците в бъдеща компилация.

По-рано тази седмица получихме неиздадена версия на Android 12, която съдържа a няколко нови функции и промени в потребителския интерфейс. Докато ровехме из изданието, открихме много нови класове в рамката, свързани с нов "преводачески услуги". Нашето търсене започна, когато открихме две нови разрешения, добавени към тази компилация на Android 12: BIND_TRANSLATION_SERVICE и MANAGE_UI_TRANSLATION. SystemUI на Android притежава първото разрешение за свързване към приложение, което притежава второто разрешение, което по подразбиране се определя от стойността config_defaultTranslationService. Предполага се, че приложение като Google Translate или Device Personalization Services може да бъде настроено като услуга за превод, но Google може да го отвори за приложения на трети страни като MANAGE_UI_TRANSLATION разрешението има "роля", дефинирана като едно от поддържаните нива на защита. Ако си спомняте, Android 10 добави "Роли", които определят приложения, които трябва да имат определени привилегии; възможно е Google да добави „Преводач“ като роля, но не знаем дали тази роля може да бъде предоставена на приложения, инсталирани от потребителя.

Във всеки случай открихме препратки към тези разрешения в кода на рамката, където забелязахме доказателства, че това новият код за превод действа върху изгледи в рамките на дейности, а не върху екранна снимка или скорошни приложения панел. Преводът на текст в рамките на екранни снимки или панела със скорошни приложения вече може да се извършва от Google Lens, а във връзка с услугите за персонализиране на устройства текстът може да бъде преведени направо от панела за скорошни приложения. Междувременно системата за намерения на Android вече позволява основно споделяне на текст за превод. Тази нова рамка обаче изглежда по-сложна и на ниско ниво и ние вярваме, че има за цел директно превеждайте текст в рамките на потребителския интерфейс на приложение, като заменяте текста на линия, за да направите превода да се чувства по-природен.

Проверихме най-новите версии на Google Translate и услугите за персонализиране на устройства, но не открихме никакви доказателства за интегрирането на този нов API. Възможно е този API да не използва директно Google Преводач, а по-скоро различна крайна точка на API. Ако тази функция бъде внедрена в съответствие с нашите спекулации, се съмняваме, че Google ще таксува потребителите за тази функция. Въпреки това е възможно те да активират преводи на UI, задвижвани от Google Translate, като ексклузивна функция за Pixel. Тъй като обаче рамката изглежда идва към AOSP, възможно е OEM производителите да могат да дефинират свои собствени услуги за превод, ако не искат да използват тези на Google.

Приложения на трети страни като AllTrans от години предлагат собствена функция за превод на потребителския интерфейс. Осъществени от Xposed Framework, тези модификации работят подобно на начина, по който смятаме, че ще работи преводът на потребителския интерфейс на Android 12, директно се свързват с изгледите на приложението, за да преведат и заменят текста. Въпреки това, тези модификации изискват потребителите да вземат свой собствен API ключ за услуга за превод, тъй като споделен ключ би надхвърлил безплатния лимит доста бързо. Тъй като Google привидно изгражда рамка за превод на потребителския интерфейс директно в Android 12, потребителите вече няма да имат нужда да руутват устройството си, за да превеждат приложения на родния си език. Надяваме се, че това ще направи хиляди приложения по-достъпни за потребителите по целия свят.

Използвайки Xposed Framework, AllTrans се свързва с текстови изгледи в рамките на приложения, за да преведе текста с помощта на преводача на Microsoft.

Разработчиците също ще се възползват от автоматизираните преводи на потребителския интерфейс. Разработчиците, които нямат ресурсите да преведат приложението си или които не искат да използват машинен превод, могат да оставят операционната система да се справи с нещата. Пускането на машинно преведено приложение може да доведе до отрицателни отзиви от потребители, които обвиняват разработчика за лошия превод, но като потребителя сами насочват операционната система да преведе приложението, което ще доведе до по-малко разочарование, тъй като потребителят разбира по-добре къде да хвърли вината за всяко лошо преведен текст.

Въпреки че сме доста уверени, че тази функция е предназначена да превежда потребителския интерфейс в приложенията, не сме 100% сигурни, че е така, докато не видим функцията в действие. Алтернативно използване на тази функция би било да се преведе потребителският интерфейс в операционната система или само в системните приложения, но смятаме, че това е малко вероятно тъй като операционната система вече е широко локализирана и всяка локализация може да се извърши преди устройството да напусне фабриката или чрез OTA актуализация. От друга страна, Google и OEM производителите не могат да отчитат кои езици поддържа дадено приложение, така че тази функция би помогнала да се запълни празнината. Като се има предвид, че Google разработва тази функция на ниво View, правейки я така, че да може да се използва във всички приложения, също така е по-вероятно да е предназначена за използване в приложения, а не в операционната система. Отново, обаче, няма да знаем със сигурност, докато тази функция не бъде пусната, което може или не може да се случи в стабилната версия на Android 12.

Благодаря на разработчиците Куини899 и kdrag0n за тяхната помощ при анализирането на този код. Също така благодаря на PNF Software, че ни предостави лиценз за използване JEB декомпилатор, професионален инструмент за обратно инженерство за приложения за Android.