Google está trabajando en una nueva función de traducción de la interfaz de usuario en Android 12 que podría traducir aplicaciones automáticamente a su idioma nativo.
Con más de 2.500 millones de usuarios activos, Android es el sistema operativo más utilizado en todo el mundo. Si bien el sistema operativo en sí se ha traducido a docenas de idiomas diferentes, ese no es el caso de muchas aplicaciones de terceros. Las empresas más grandes pueden localizar sus aplicaciones internamente o contratar servicios de traducción profesionales, pero estas opciones no son económicamente viables para equipos más pequeños o desarrolladores de aplicaciones independientes. En el mejor de los casos, un equipo más pequeño o un desarrollador de aplicaciones independiente puede obtener traducciones de hablantes nativos y, en el peor de los casos, pueden utilizar servicios de traducción automática para hacer el trabajo. Sin embargo, esto podría cambiar en androide 12, ya que hemos visto evidencia que sugiere que Google puede estar trabajando en un marco para traducir automáticamente la interfaz de usuario de una aplicación al idioma nativo del usuario.
Un desmontaje de APK a menudo puede predecir funciones que pueden llegar en una futura actualización de una aplicación, pero es posible que cualquiera de las funciones que mencionamos aquí no aparezca en una versión futura. Esto se debe a que estas características no están implementadas actualmente en la versión en vivo y los desarrolladores pueden eliminarlas en cualquier momento en una versión futura.
A principios de esta semana, obtuvimos una versión inédita de Android 12 que contiene una un par de características nuevas y cambios en la interfaz de usuario. Mientras investigaba la versión, descubrimos un montón de clases nuevas en el marco relacionadas con un nuevo "servicio de traduccion." Nuestra búsqueda comenzó cuando descubrimos dos nuevos permisos agregados a esta versión de Android. 12: BIND_TRANSLATION_SERVICE
y MANAGE_UI_TRANSLATION
. SystemUI de Android tiene el permiso anterior para vincularse a una aplicación que tiene el último permiso, que de forma predeterminada está definido por el valor config_defaultTranslationService
. Presumiblemente, una aplicación como Google Translate o los Servicios de personalización del dispositivo se pueden configurar como servicio de traducción, pero Google puede abrirlo a aplicaciones de terceros como servicio de traducción. MANAGE_UI_TRANSLATION
El permiso tiene un "rol" definido como uno de los niveles de protección admitidos. Si recuerdas, Android 10 agregó "Roles" que definen aplicaciones que deberían tener ciertos privilegios; Es posible que Google agregue "Traductor" como función, pero no sabemos si esta función se puede otorgar a las aplicaciones instaladas por el usuario.
En cualquier caso, encontramos referencias a estos permisos en el código del marco, donde detectamos evidencia de que esto El nuevo código de traducción actúa en las vistas dentro de las actividades en lugar de en una captura de pantalla o en las aplicaciones recientes. panel. Google Lens ya puede traducir texto en capturas de pantalla o en el panel de aplicaciones recientes y, junto con los servicios de personalización del dispositivo, se puede traducir texto. traducido directamente desde el panel de aplicaciones recientes. Mientras tanto, el sistema de intención de Android ya permite compartir de forma básica el texto para traducir. Este nuevo marco, sin embargo, parece ser más complejo y de bajo nivel, y creemos que apunta directamente a traducir texto dentro de la interfaz de usuario de una aplicación, reemplazando el texto en línea para que la traducción parezca más nativa.
Examinamos las últimas versiones de Google Translate y los servicios de personalización de dispositivos, pero no encontramos ninguna evidencia de que ninguno de los dos integre esta nueva API. Es posible que esta API no utilice Google Translate directamente sino un punto final de API diferente. Si esta función se implementa de acuerdo con nuestras especulaciones, dudamos que Google cobre a los usuarios por esta función. Sin embargo, es posible que habiliten las traducciones de la interfaz de usuario con tecnología de Google Translate como una función exclusiva de Pixel. Sin embargo, dado que el marco parece llegar a AOSP, es posible que los OEM puedan definir su propio servicio de traducción si no quieren utilizar el de Google.
Aplicaciones de terceros como TodoTrans Durante años han ofrecido una función propia de traducción de la interfaz de usuario. Impulsadas por Xposed Framework, estas modificaciones funcionan de manera similar a cómo creemos que funcionará la traducción de la interfaz de usuario de Android 12, conectándose directamente a las vistas de una aplicación para traducir y reemplazar el texto. Sin embargo, estas modificaciones requieren que los usuarios obtengan su propia clave API para un servicio de traducción, ya que una clave compartida superaría el límite gratuito con bastante rapidez. Sin embargo, dado que Google aparentemente está construyendo un marco de traducción de interfaz de usuario directamente en Android 12, los usuarios ya no necesitarían rootear su dispositivo para traducir aplicaciones a su idioma nativo. Se espera que esto haga que miles de aplicaciones sean más accesibles para los usuarios de todo el mundo.
Usando Xposed Framework, AllTrans se conecta a vistas de texto dentro de aplicaciones para traducir el texto usando el Traductor de Microsoft.
Los desarrolladores también se beneficiarán de las traducciones automatizadas de la interfaz de usuario. Los desarrolladores que no tienen los recursos para traducir su aplicación o que no quieren utilizar la traducción automática pueden dejar que el sistema operativo se encargue de todo. Lanzar una aplicación traducida automáticamente puede generar críticas negativas de los usuarios que culpan al desarrollador por la mala traducción, pero tener al usuario ordenar al sistema operativo que traduzca la aplicación resultará en menos frustración ya que el usuario comprende mejor dónde echar la culpa por cualquier mal funcionamiento. texto traducido.
Si bien estamos bastante seguros de que esta función está destinada a traducir la interfaz de usuario dentro de las aplicaciones, no estamos 100% seguros de que así sea hasta que veamos la función en acción. Un uso alternativo de esta función sería traducir la interfaz de usuario dentro del sistema operativo o solo en las aplicaciones del sistema, pero creemos que es poco probable. porque el sistema operativo ya está ampliamente localizado y cualquier localización se puede realizar antes de que el dispositivo salga de fábrica o mediante una OTA actualizar. Por otro lado, Google y los OEM no pueden tener en cuenta qué idiomas admite una aplicación, por lo que esta característica ayudaría a llenar el vacío. Teniendo en cuenta que Google está desarrollando esta función en el nivel de Vista, para que pueda usarse en todas las aplicaciones, también hace que sea más probable que esté destinada a aplicaciones en lugar de al sistema operativo. Sin embargo, una vez más, no lo sabremos con seguridad hasta que se lance esta función, lo que puede suceder o no en la versión estable de Android 12.
Gracias a los desarrolladores quinny899 y kdrag0n por su ayuda en el análisis de este código. También gracias a PNF Software por proporcionarnos una licencia de uso. Descompilador JEB, una herramienta de ingeniería inversa de nivel profesional para aplicaciones de Android.