web-dev-qa-db-fra.com

Android: Obtenir les traductions manquantes pour les chaînes de caractères

Sous Android, vous pouvez spécifier les textes dans les paramètres régionaux par défaut dans res/values/strings.xml. Des traductions supplémentaires peuvent être ajoutées pour les nouvelles langues dans res/values-it/strings.xml (pour l'italien par exemple). Si une chaîne n'est pas traduite, les paramètres régionaux fallback-default sont utilisés.

Actuellement, je ne peux pas dire quelles chaînes il me reste à traduire (elles sont donc dans values/strings.xml, mais pas dans values-$/strings.xml pour toutes les langues $ ) et qui sont traduites, même si elles sont obsolètes (elles sont donc dans values-$/strings.xml, mais pas dans values ​​/ strings.xml existe $ dans les langues )

Je cherche un outil qui me donne les traductions manquantes et obsolètes. 

Pour être honnête, il n’est pas si difficile d’écrire un tel outil pour la ligne de commande, je ne peux que croire que personne ne l’ait déjà fait.

31
theomega

Question interessante. J'ai écrit un script simple pour rechercher des ressources en double dans un projet Android à l'adresse suivante: https://Gist.github.com/1133059 . C'est moche, je sais, mais je vais le réécrire dans quelques jours et peut-être créer un projet sur github. Pour l'exécuter depuis la console:
$scala DuplicatesFinder.scala /path/to/Android/project

METTRE À JOUR:
J'ai fait un projet sur github https://github.com/4e6/Android-localization-helper , peut-être que quelqu'un le trouvera utile

10
4e6

Ce n'est pas automatisé, mais c'est très rapide. Dans Eclipse, allez dans Fenêtre-> Afficher la vue-> Autre-> Android-> Explorateur de ressources.

Maintenant, sous l'onglet Explorateur de ressources en bas (ou là où vous l'avez déplacé), regardez sous Chaîne. Si vous avez une traduction complète, chaque chaîne doit avoir le même nombre de versions. Vous pouvez ainsi parcourir la liste en quelques secondes seulement.

Faites cela pour chaque projet qui a des chaînes.

Je ne savais rien à ce sujet qu'après la localisation, mais cela reste utile (comme lorsque j'ajoute une nouvelle chaîne).

22
ProjectJourneyman

Si vous utilisez Android Studio, il est facile de trouver la chaîne manquante.

Cliquez avec le bouton droit sur values ​​/ strings.xml Et choisissez Ouvrir l’Éditeur de traductions:  pic 1

Où vous pouvez facilement trouver les chaînes manquantes dans toutes les langues comme ci-dessous:  enter image description here

Je vous remercie...

15
Nikhil

Le nouvel outil Android Lint officiel vous aide à détecter ce problème et bien d’autres: http://tools.Android.com/tips/lint

13
satur9nine

Il existe une version bien améliorée de l'outil de formation de peluches Android Dev Kit dans Eclipse depuis la version 17 du SDK - voir la documentation ici: Nouvelle interface utilisateur Eclipse Lint

Cliquez simplement sur l'élément de la barre d'outils "Lint", exécutez-le sur votre projet, puis ouvrez l'élément "n'est pas traduit" qui apparaît pour vous montrer toutes les balises nécessitant une traduction.

Merci à satur9nine - voici une version mise à jour de leur réponse qui me conduit à celle-ci.

4
Tim T

Vous pouvez également utiliser la fibre Android (accès facile depuis Eclipse). Faites un clic droit sur votre projet -> Outils Android -> Exécuter Lint. Cela vous donnera une liste de toutes les traductions manquantes, ainsi que quelques autres erreurs courantes.

Il vous montrera également les ressources en double et les chaînes non disponibles dans la traduction par défaut.

3
Bert Peters

Sous Android Studio, Analysez> Exécuter l'inspection par nom, entrez le type suivant et exécutez les inspections pour l'étendue personnalisée Project Production Files.

  • Traduction supplémentaire
  • Traduction incomplète
1

Je suis le chef de produit pour MOTODEV Studio. Comme @hjw l'a mentionné, il s'agit d'une fonctionnalité de MOTODEV Studio appelée "Editeur de fichiers de localisation". Cet éditeur est similaire à une feuille de calcul et vous permet de voir toutes vos chaînes dans une seule vue. Vous pouvez éditer sous forme de feuille de calcul ou le XML sous-jacent dans la même vue. 

MOTODEV Studio est une version d'Eclipse personnalisée. Elle doit donc fonctionner avec vos projets existants si vous utilisez Eclipse. Si vous préférez continuer à utiliser votre configuration Eclipse existante, vous pouvez toujours utiliser MOTODEV Studio pour gérer l'édition des fichiers string.xml, à condition qu'une seule version puisse ouvrir l'espace de travail à la fois.

Si vous avez des questions sur son utilisation, n'hésitez pas à m'envoyer un message ou à poster sur nos forums de discussion sur developer.Motorola.com

1
Eric Cloninger

Si vous souhaitez utiliser le site Web getlocalization.com , qui est gratuit si vous souhaitez que vos traducteurs travaillent sur votre localisation en public (sinon, vous devez payer pour rendre votre projet privé) . 

Vous pouvez simplement utiliser leur plug-in Eclipse pour importer automatiquement les chaînes de votre projet Android: http://getlocalization.github.io/Eclipse/

Ensuite, voici l'interface que vos traducteurs verront lorsqu'ils effectueront la traduction proprement dite:

screenshot of web interface given to translators

Je vous recommande de cliquer avec le bouton droit sur la capture d'écran ci-dessus pour l'afficher dans un format plus grand sur un onglet séparé. C'est en fait bien pensé et devrait faciliter le travail du traducteur aussi.  

1
Stephan Branczyk

À ma connaissance, je ne suis pas favorable à la question. :) Cependant, à titre de meilleure pratique, je complète d'abord le fichier par défaut strings.xml et le traduis à la fin. J'ajoute également un petit commentaire de marqueur pour spécifier la fin de la traduction et toutes les nouvelles chaînes sont ajoutées en dessous. Cela m'aide à garder une trace de ceux qui ne sont pas traduits.

-- METTRE À JOUR --

Avec le dernier outil ADT pour Eclipse, vous pouvez installer Lint qui s’occupe de toutes les questions relatives aux doublons et bien plus encore grâce à son ensemble exhaustif d’avertissements.

1
PravinCG

Connaissez-vous MotoDev Studio pour Android? Il comporte un outil de localisation. Dans cet outil, toutes les langues sont des colonnes et tous les textes sont des lignes. Il est très facile de trouver les traductions manquantes dans cette "feuille de calcul". L’autre façon, trouver des traductions obsolètes, n’est pas si facile. 

0
Harald Wilhelm

J'ai construit un outil de ligne de commande appelé ams (pour Android-missing-strings) qui imprime un rapport de chaque entrée manquante ainsi que des entrées restantes qui n'apparaissent plus dans votre fichier de base strings.xml.

Il est disponible ici https://github.com/gubatron/Android-missing-strings

ams - Android Missing Strings reporting tool.

Usage:
ams [-l xx[,yy,zz...]] -o <output_file>

Options:
-h --help            Print this help


-l --lang <xx>       Specify a language or many with comma separated 2-char language codes.

                     e.g:  -l cn         (creates report for Chinese strings.xml)
                           -l cn,it,fr   (creates report for Chinese, Italian and French strings.xml files)

                     If this parameter is ommited, a report with every language file found will be created.


-o --oFile           Specify the output file name for the report

Copyright (c) 2014 - The Mit License (MIT)

Authors:
Angel Leon <[email protected]>
Katay Santos <[email protected]>
0
Gubatron

Je suggère Amanuens qui vous permettent d'identifier facilement les chaînes non traduites et les chaînes qui ne correspondent pas aux fichiers maîtres et traduits. Il peut éventuellement être configuré pour garder automatiquement les fichiers de traduction synchronisés avec le référentiel. Vous pouvez également donner à vos traducteurs accès au service et trouver un éditeur Web facile à utiliser pour traduire votre application.

0
Matteo Tomasini