Android 12可能会自动将应用翻译成您的母语

Android拥有超过25亿活跃用户,是全球使用最广泛的操作系统。尽管操作系统本身已本地化为数十种不同的语言,但对于许多第三方应用程序却并非如此。较大的公司可以将其应用本地化,也可以聘请专业的翻译服务,但是对于较小的团队或独立的应用开发者来说,这些选择在经济上并不可行。充其量,一个较小的团队或一个独立的应用程序开发人员可以从母语人士那里获得翻译的众包资源,而最糟糕的是,他们可以使用机器翻译服务来完成这项工作。但是,这可能会在Android 12中发生变化,因为我们已经看到有证据表明Google可能正在研究一种框架,该框架可将应用程序的UI自动转换为用户的母语。

APK拆解通常可以预测应用程序将来更新中可能会出现的功能,但是我们在此提到的任何功能有可能在将来的版本中无法实现。这是因为这些功能当前尚未在实时构建中实现,并且开发人员可能会在将来的构建中随时将其撤消。

本周早些时候,我们获得了一个未发布的Android 12版本,其中包含一些新功能和UI更改。在浏览发行版的过程中,我们发现了框架中与新的“翻译服务”相关的新类的负载。我们的搜索开始了,当我们发现添加到这个构建Android 12的两个新的权限:BIND_TRANSLATION_SERVICE和MANAGE_UI_TRANSLATION。Android的SystemUI拥有前者权限以绑定到具有后者权限的应用,该应用默认情况下由value定义config_defaultTranslationService。大概可以将诸如Google Translate或Device Personalization Services之类的应用程序设置为翻译服务,但是Google可以向第三方应用程序开放该应用程序,因为该MANAGE_UI_TRANSLATION权限具有“角色”定义为受支持的保护级别之一。如果您还记得的话,Android 10添加了“角色”,用于定义应具有某些特权的应用;Google可能会添加“翻译器”作为角色,但是我们不知道该角色是否可以授予用户安装的应用程序。

无论如何,我们都在框架代码中找到了对这些权限的引用,在那里我们发现了这种新的翻译代码正在作用于活动中的视图,而不是屏幕截图或最近的应用程序面板。Google Lens已经可以完成屏幕截图或“最近使用的应用”面板中的文本翻译,并且可以与“设备个性化服务”结合使用,直接从“最近使用的应用”面板中翻译文本。同时,Android的意图系统已经允许基本的文本共享翻译。但是,这个新框架似乎更加复杂且底层,我们相信它旨在直接在应用程序的用户界面内翻译文本,以内嵌文本替换以使翻译更自然。

我们检查了最新版本的Google翻译和设备个性化服务,但未发现任何证据表明可以集成此新API。该API可能不会直接使用Google Translate,而可能会使用其他API端点。如果按照我们的推测实施了此功能,我们怀疑Google会向用户收取此功能的费用。但是,它们有可能启用由Google Translate提供支持的UI转换作为Pixel专有功能。但是,由于该框架似乎即将用于AOSP,因此OEM可以在不想使用Google的情况下定义自己的翻译服务。

像AllTrans这样的第三方应用程序多年来已经提供了自己的UI翻译功能。在Xposed Framework的支持下,这些mod的工作方式与我们认为Android 12的UI转换将起作用的方式类似,可直接挂接到应用程序的视图中以翻译和替换文本。但是,这些mod要求用户抓住自己的API密钥来提供翻译服务,因为共享密钥会很快超过免费限制。不过,由于Google似乎直接在Android 12中构建了UI转换框架,因此用户不再需要植根设备来将应用程序翻译为母语。希望这将使全球范围内的用户可以更轻松地访问数千个应用程序。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。