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.
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
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).
Le nouvel outil Android Lint officiel vous aide à détecter ce problème et bien d’autres: http://tools.Android.com/tips/lint
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.
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.
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
.
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
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:
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.
À 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.
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.
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]>
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.