Estrazione di stringhe per la traduzione extracting-strings-for-translating
Utilizza xgettext-maven-plugin per estrarre stringhe dal codice sorgente che richiedono la traduzione. Il plug-in Maven estrae le stringhe in un file XLIFF che invii per la traduzione. Le stringhe vengono estratte dalle posizioni seguenti:
- File di origine Java
- File di origine JavaScript
- Rappresentazioni XML delle risorse SVN (nodi JCR)
Configurazione dell’estrazione della stringa configuring-string-extraction
Configura come lo strumento xgettext-maven-plugin estrae le stringhe per il progetto.
/filter { }
/parsers {
/vaultxml { }
/javascript { }
/regexp {
/files {
/java { }
/jsp { }
/extjstemplate { }
}
}
}
/potentials { }
Identificazione dei file da analizzare identifying-the-files-to-parse
La sezione /filter del file i18n.any identifica i file analizzati dallo strumento xgettext-maven-plugin. Aggiungi diverse regole di inclusione ed esclusione che identificano i file analizzati e ignorati rispettivamente. È necessario includere tutti i file ed escludere i file che non si desidera analizzare. In genere, si escludono i tipi di file che non contribuiscono all’interfaccia utente o i file che definiscono l’interfaccia utente ma che non vengono tradotti. Le regole di inclusione ed esclusione hanno il formato seguente:
{ /include "pattern" }
{ /exclude "pattern" }
La parte pattern di una regola viene utilizzata per corrispondere ai nomi dei file da includere o escludere. Il prefisso del pattern indica se si sta facendo corrispondenza a un nodo JCR (la relativa rappresentazione in Vault) o al file system.
Se utilizzato all'interno di un pattern, il carattere / indica una sottodirectory e * il carattere corrisponde a tutti. Nella tabella seguente sono elencate diverse regole di esempio.
Estrazione delle stringhe extracting-the-strings
nessun 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: Aggiungi questo a 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>
il comando:
mvn xgettext:extract
File di output output-files
-
raw.xliff
: stringhe estratte -
warn.log
: eventuali avvertenze, seCQ.I18n.getMessage()
L’API viene utilizzata in modo errato. Questi hanno sempre bisogno di una correzione e poi di una riesecuzione. -
parserwarn.log
: avvisi sul parser (se presenti), ad esempio problemi di parser js -
potentials.xliff
: candidati "potenziali" che non sono estratti, ma potrebbero essere stringhe leggibili dall'uomo che necessitano di traduzione (può essere ignorato, produce ancora una grande quantità di falsi positivi) -
strings.xliff
: file xliff appiattito, da importare in ALF -
backrefs.txt
: consente la ricerca rapida delle posizioni del codice sorgente per una stringa specificata