web-dev-qa-db-fra.com

Comment importer/exporter une ressource de chaîne Android vers Excel pour la localisation?

J'utilise Android Studio dans le développement d'applications. Je souhaite traduire des chaînes en exportant/important les ressources de la langue Android (strings.xml) vers un fichier Excel (xlsx). Quelle est la meilleure façon de le faire?

24
Empath

Si quelqu'un d'autre avait besoin de la réponse, 

de res -> strings -> clic droit-> Open Translations Editor. Sélectionnez les données/variables dont vous avez besoin, puis copiez et collez les données de Translations Editor à Excel. terminé. 

 image from Android studio v2.2

32
Saad Mahmud

Как и многие другие,Ctrl+Aв редакторе переводов не работает с de Android Studio 3.2

Работаю в компани которая Динственное надежное решение для нас - À propos de Aidez-nous à suivre из cliquez ici pour afficher le code source Android-Lang-tool . Просто построить с Maven и запустить банку.

À propos de nous Он даже экспортирует комментарии.

5
Kozaris Yiannis

Je suggérerais que le meilleur outil pour la localisation de chaînes d'applications Android est l'éditeur de traductions intégré à Android Studio.

Cette approche est excellente parce que vous êtes en mesure de rendre le processus plus facile pour les traducteurs et moins sujet aux erreurs. Les fichiers de chaîne XML dans Android Studio prennent en charge les notations XLIFF, qui sont une méthode standardisée facilitant la localisation des chaînes.

En utilisant la notation XLIFF dans vos fichiers de chaîne XML, vous pouvez procéder comme suit pour aider les traducteurs:

  • Fournir un contexte supplémentaire pour les chaînes déclarées 
  • Marquer les parties du message qui ne doivent pas être traduites

Pour utiliser XLIFF dans les fichiers XML de votre chaîne Android, vous devez inclure l'espace de nom XLIFF 1.2:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

Voici quelques exemples de chaînes de la documentation sur la localisation Android :

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
    <xliff:g id="star">\u2605</xliff:g>
</string>

<!-- Example placeholder for a for a URL -->
<string name="app_homeurl">
    Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>
</string>

<!-- Example placeholder for a name -->
<string name="prod_name">
    Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>

<!-- Example placeholder for a literal -->
<string name="promo_message">
    Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount.
</string>

</resources>

Pour accéder à l'éditeur de traductions dans Android Studio, sélectionnez Ouvrir l'éditeur de traductions dans le menu contextuel de votre fichier de chaîne XML (c'est-à-dire strings.xml) dans votre arborescence de projet (voir ci-dessous).

open translations editor

4
BrentM

Étant donné que CTRL + A ne fonctionne plus dans le studio Android ., Il existe un moyen de convertir le fichier de chaînes Android au format CSV, puis de le traduire à l'aide de Google Translator, puis reconvertir au format XML..

https://skydevelopers.net/blog/2-best-ways-to-translate-the-Android-strings-file/

voici un blog en détail

1
Raj

Comme Saad Mahmud a répondu, vous pouvez copier depuis l'éditeur de traduction (ctrl + a ctrl + c), puis le coller dans un tableur.

Vous pouvez le copier d'une feuille de calcul dans l'éditeur de traduction en ne copiant que les colonnes "valeur par défaut" et d'autres langues, cliquez sur la valeur par défaut la plus élevée et collez (ctrl + v).

Il fonctionne également avec des sous-ensembles (les deux sous-ensembles de lignes et de colonnes), à condition qu'ils soient côte à côte.

Sachez que les cellules vides de la feuille de calcul n'effaceront pas la traduction dans l'éditeur, mais ne modifieront pas la traduction actuelle.

Veillez également à ne pas avoir ajouté ou supprimé de clés de traduction depuis la création de la feuille de calcul ...

Comme beaucoup d'autres l'ont fait remarquer, vous ne pouvez pas simplement copier et coller des traductions depuis et vers l'éditeur de traductions depuis Android Studio 3.2.

La solution la plus simple que j'ai trouvée consistait à enregistrer le fichier Excel avec les traductions en tant que fichier CSV, puis à le convertir en XML avec regex et vice-versa.

Pour "importer" les traductions, procédez comme suit:

  1. Enregistrez le fichier xls/xlsx avec la clé dans la première colonne et la traduction dans la deuxième colonne sous forme de fichier CSV (si vous avez un fichier avec des caractères non ANSI, utilisez les feuilles Google, car Excel ne prend pas en charge l'enregistrement au format CSV avec utf-8)
  2. Ouvrez le fichier csv dans un éditeur de texte qui prend en charge "trouver et remplacer" avec regex (par exemple, Notepad ++)
  3. Ouvrir "trouver et remplacer" et définir la recherche regex
  4. Recherchez ^([^,]*),(.*)$ et remplacez-le par <string name="$1">$2</string>
  5. Copier le fichier dans le fichier de ressources de chaîne entre les balises
  6. Corriger les erreurs possibles

Vous pouvez utiliser une méthode similaire à l’inverse pour "exporter". Utilisez <string.+name="(.*)".*>(.*)</string> pour trouver et $1,$2 pour le remplacer. Mais cela ne fonctionne que si chaque balise de chaîne est sur une seule ligne. 

0
Gregor Ažbe

Exporter ou copier vers Excel uniquement pris en charge par un PC Windows. Pas encore en MAC

0
miho39