Extraire des chaînes pour la traduction extracting-strings-for-translating
Utilisez xgettext-maven-plugin pour extraire du code source des chaînes qui doivent être traduites. Le plug-in Maven extrait les chaînes dans un fichier XLIFF que vous envoyez pour traduction. Les chaînes sont extraites à partir des emplacements suivants :
- Fichiers sources Java
- Fichiers sources JavaScript
- Représentations XML des ressources SVN (nœuds JCR)
Configurer l’extraction de chaînes configuring-string-extraction
Configurez la manière dont l’outil xgettext-maven-plugin extrait les chaînes pour votre projet.
/filter { }
/parsers {
/vaultxml { }
/javascript { }
/regexp {
/files {
/java { }
/jsp { }
/extjstemplate { }
}
}
}
/potentials { }
Identifier les fichiers à analyser identifying-the-files-to-parse
La section /filter du fichier i18n.any identifie les fichiers analysés par l’outil xgettext-maven-plugin. Ajoutez plusieurs règles d’inclusion et d’exclusion qui identifient les fichiers qui sont analysés et ignorés, respectivement. Vous devez inclure tous les fichiers, puis exclure ceux que vous ne souhaitez pas analyser. En règle générale, vous excluez les types de fichiers qui ne contribuent pas à l’interface utilisateur ou les fichiers qui définissent l’interface utilisateur mais ne sont pas traduits. Les règles d’inclusion et d’exclusion ont le format suivant :
{ /include "pattern" }
{ /exclude "pattern" }
La partie modèle d’une règle est utilisée pour faire correspondre les noms des fichiers à inclure ou à exclure. Le préfixe de modèle indique si vous faites correspondre un nœud JCR (sa représentation dans Vault) ou le système de fichiers.
Lorsqu’il est utilisé dans un motif, le caractère / indique un sous-répertoire et le caractère * correspond à tous les éléments. Le tableau suivant répertorie plusieurs exemples de règles.
Extraire les chaînes extracting-the-strings
Aucun POM :
mvn -N com.adobe.granite.maven:xgettext-maven-plugin:1.2.2:extract -Dxgettext.verbose=true -Dxgettext.target=out -Dxgettext.rules=i18n.any -Dxgettext.root=.
Avec POM : ajoutez ceci au POM :
<build>
<plugins>
<plugin>
<groupId>com.adobe.granite.maven</groupId>
<artifactId>xgettext-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<rules>i18n.any</rules>
<root>jcr_root</root>
<xliff>cq.xliff</xliff>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
La commande :
mvn xgettext:extract
Fichiers de sortie output-files
-
raw.xliff
: chaînes extraites -
warn.log
: avertissements (le cas échéant), si l’APICQ.I18n.getMessage()
est utilisée de manière incorrecte. Une correction est toujours nécessaire, suivie d’une nouvelle exécution. -
parserwarn.log
: avertissements de l’analyseur (le cas échéant) ; problèmes de l’analyseur js, par exemple. -
potentials.xliff
: candidats « potentiels » qui ne sont pas extraits, mais il peut s’agir de chaînes lisibles qui doivent être traduites (peuvent être ignorées ; produisent toujours un grand nombre de faux positifs). -
strings.xliff
: fichier xliff aplati, à importer dans ALF -
backrefs.txt
: permet de rechercher rapidement une chaîne donnée dans des emplacements de code source.