Ajouter la traduction in-app dans Android M

Ajouter la traduction in-app dans Android M

Android M permet davantage de connectiviter entre les applications et celle-ci est illustré avec la possibilité de traduire un texte sélectionné dans son application à l'aide de l'application Traduction. Présentation de son intégration dans cet article.

Traduction In-App

La traduction est basée sur Google Traduction et ses 90 langues. Pour que l'utilisateur est accès à la traduction in-app, il est nécessaire que l'application de traduction soit installé : https://play.google.com/store/apps/details?id=com.google.android.apps.translate.

Il est aussi nécessaire que l'appareil de l'utilisateur soit sous Android M.

traduction in apptraduction in app text edit

Google présente deux exemples d'intégrations dans l'application TripAdvisor :

  1. La traduction d'une review portugaise vers l'anglais
  2. La traduction en russe d'un texte en train d'être tapé

Les applications Android utilisant le comportement text selection ont déjà ce comportement d'activer.

 

Pour les développeurs qui ont créé un custom text selection pour leur application peuvent facilement implémenter cette fonctionnalité : scanner via le PacketManager tous les packages aillant l'intent filter PROCESS_TEXT (par exemple com.google.android.apps.translate s'il est installé) et les ajoutés comme des MenuItems dans la TextView selection de son application.

Pour intérroger le package Manager, commencer par construire une intent avec l'action :

Puis récupérer les activity :

Ajouter un item pour chaque activity retourner et lui attacher un intent pour lancer l'action :

Le label de chaque item peut être récupéré avec :

L'intent de chaque item peut être créé en réutilisant l'intent filter qui a été défini précédemment et ajout des données manquantes :