I. Introduction▲
droidlinguist est un outil destiné aux développeurs d'applications Android. Il vous permet de facilement traduire vos applications, dans une interface simple et agréable, en utilisant les moteurs de traduction comme Microsoft Translator, Yandex Translator ou bientôt, Google Translate.
L'outil se présente actuellement sous la forme d'une application web, accessible ici : https://droidlinguist.io.
Un plugin Intellij IDEA/Android Studio est déjà en incubation, pour une future intégration directement dans notre IDE préféré !
II. Pourquoi cet outil ?▲
Ceux qui ont déjà publié une application sur Google Play le savent bien, un des principaux conseils d'optimisation de la Developer Console, c'est l'internationalisation (i18n) et la localisation (i10n) de vos applications, c'est-à-dire pour l'i18n, de traduire vos APK dans la langue des terminaux des utilisateurs qui les installent.
Cette tâche, bien que très importante, est assez fastidieuse et sujette à erreurs, surtout quand votre application à un nombre non négligeable de messages affichés à l'écran.
De plus, les moteurs de traduction automatique sont aujourd'hui de plus en plus efficients. Certains sont même gratuits (jusqu'à un certain quota), et mettent à disposition leur API. Alors, pourquoi ne pas les utiliser pour faire ce boulot ?
III. Principales fonctionnalités▲
III-A. Traductions automatiques▲
droidlinguist vous permet de traduire rapidement votre strings.xml en utilisant les moteurs de traduction les plus populaires comme : Microsoft Translator, Yandex Translate, et bientôt, Google Translate (ce dernier est déjà mis en œuvre, mais pas disponible pour le moment, car il nécessite une clé API payante).
III-B. Support multilangue▲
Vous pouvez modifier plusieurs langues simultanément. Pour cela, il suffit d'activer/désactiver les langues cibles que vous voulez voir.
III-C. Validations des traductions▲
droidlinguist fournit les tests de validation suivants pour les traductions :
- validation de la ponctuation : l'outil détecte des différences de ponctuation entre le texte source et les textes traduits lorsque cela peut être significatif. Par exemple, il vous avertit si la phrase source se termine par une ellipse, un point d'exclamation ou d'interrogation, et que ce n'est pas le cas pour la phrase traduite. Et vice versa ;
- validation des marqueurs : l'outil détecte si les mêmes marqueurs (comme %$1d, %$2d) sont utilisés à la fois dans le texte source et dans la traduction.
III-D. Support des pluriels, des tableaux de chaines de caractères▲
droidlinguist prend en charge l'édition des messages qui peuvent avoir différentes traductions, en fonction de la quantité d'articles concernés. Ceux-ci sont appelés pluriels (plurals en anglais)
droidlinguist prend également en charge l'édition de tableaux de chaines (string-array en anglais).
III-E. Suivi des traductions▲
droidlinguist vous donne un feedback instantané sur l'évolution de vos traductions.
À chaque instant, et pour chaque langue cible, vous pouvez savoir :
- combien d'éléments n'ont pas encore été traduits ;
- combien d'éléments ont des erreurs de validation ;
- combien d'éléments ont été traduits, mais pas encore validés ;
- combien d'éléments ont été validés.
IV. Comment ça marche ?▲
En seulement trois étapes simples, vous pouvez commencer à utiliser l'outil.
IV-A. Étape 1 - Sélection des langues▲
Sélectionnez la langue source dans laquelle votre fichier strings.xml est écrit, puis les langues cibles dans lesquelles vous voulez traduire votre application.
IV-B. Étape 2 - Sélection du moteur de traduction▲
Sélectionnez un moteur de traduction pour les prétraductions automatiques.
Vous pouvez choisir entre les moteurs de traduction les plus populaires suivants : Microsoft Translator, Yandex Translate, et bientôt, Google Translate.
Vous avez également la possibilité de ne choisir aucun moteur de traduction du tout, afin de les gérer directement vous-même.
IV-C. Étape 3 - Envoi du fichier strings.xml▲
Envoyez votre fichier strings.xml (qui contient les textes à traduire) sur le serveur, et laissez l'outil faire le reste !
Il va notamment :
- vérifier la validité du fichier XML et vous informer des erreurs trouvées ;
- traduire toutes les chaines de caractères dans les langues cibles que vous avez choisies, en utilisant le moteur de traduction que vous avez sélectionné à l'étape précédente.
IV-D. Étape finale : corrigez et téléchargez▲
Vous pouvez maintenant passer en revue toutes vos traductions, dans une interface agréable et claire, qui vous accompagnera pendant tout le processus.
Une fois terminé, téléchargez le fichier zip (strings.zip) qui contiendra les fichiers strings.xml traduits dans chaque langue, et extrayez-le dans le dossier res/ de votre projet Android. C'est tout !
Au lancement de votre application, la plateforme s'occupera d'automatiquement sélectionner la traduction appropriée, en fonction de la langue du système.
V. Conclusion▲
droidlinguist est encore jeune. Plusieurs axes d'évolutions sont dans le pipe. Notamment :
- implémenter plus de moteurs de traduction (MyMemory API, WorldLingo Translation API, etc.) ;
- sauvegarder/reprendre un projet de traduction inachevé ;
- intégrer l'outil sous forme de plugin dans IntelliJ IDEA/Android Studio ;
- permettre à l'utilisateur de saisir sa propre API Key (utile quand les quotas de traduction gratuits sont atteints).
Il s'agit d'un projet open source destiné à la communauté Android. Le code est accessible à tous sur Github.
VI. Remerciements▲
Cet article a été publié avec l'aimable autorisation de Sfeir.
Nous tenons à remercier Claude Leloup pour la relecture orthographique de cet article et Mickael Baron pour la mise au gabarit.