Extracción de cadenas para traducir extracting-strings-for-translating
Utilice xgettext-maven-plugin para extraer cadenas del código fuente que necesiten traducir. El complemento Maven extrae cadenas en un archivo XLIFF que envía para su traducción. Las cadenas se extraen de las siguientes ubicaciones:
- Archivos de origen Java
- Archivos de origen JavaScript
- Representaciones XML de recursos SVN (nodos JCR)
Configuración de la extracción de cadenas configuring-string-extraction
Configure cómo la herramienta xgettext-maven-plugin extrae cadenas para su proyecto.
/filter { }
/parsers {
/vaultxml { }
/javascript { }
/regexp {
/files {
/java { }
/jsp { }
/extjstemplate { }
}
}
}
/potentials { }
Identificación de los archivos que se van a analizar identifying-the-files-to-parse
La sección /filter del archivo i18n.any identifica los archivos que analiza la herramienta xgettext-maven-plugin. Añada varias reglas de inclusión y exclusión que identifiquen archivos analizados e ignorados, respectivamente. Debe incluir todos los archivos y luego excluir los archivos que no desea analizar. Normalmente, excluye los tipos de archivo que no contribuyen a la interfaz de usuario o los archivos que definen la interfaz de usuario pero que no se están traduciendo. Las reglas de inclusión y exclusión tienen el siguiente formato:
{ /include "pattern" }
{ /exclude "pattern" }
La parte de patrón de una regla se utiliza para hacer coincidir los nombres de los archivos que se van a incluir o excluir. El prefijo de patrón indica si está haciendo coincidir un nodo JCR (su representación en Vault) o el sistema de archivos.
Cuando se utiliza en un patrón, el carácter / indica un subdirectorio y * el carácter coincide con todos. En la tabla siguiente se enumeran varias reglas de ejemplo.
Extracción de cadenas extracting-the-strings
sin 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=.
Con POM: Agregue esto al 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>
el comando :
mvn xgettext:extract
Archivos de salida output-files
-
raw.xliff
: cadenas extraídas -
warn.log
: advertencias (si las hay), siCQ.I18n.getMessage()
La API se utiliza incorrectamente. Estos siempre necesitan una corrección y luego una nueva ejecución. -
parserwarn.log
: advertencias del analizador (si las hay), por ejemplo problemas con el analizador de js -
potentials.xliff
: Los candidatos "potenciales" que no se extraen, pero que pueden ser cadenas legibles por humanos que necesitan traducción (se puede ignorar, aun así produce una gran cantidad de falsos positivos) -
strings.xliff
: archivo xliff acoplado, que se importará en ALF -
backrefs.txt
: permite una búsqueda rápida de las ubicaciones del código fuente para una cadena determinada