Extrahieren von Zeichenfolgen zum Übersetzen extracting-strings-for-translating
Verwenden Sie xgettext-maven-plugin, um Zeichenfolgen, die übersetzt werden müssen, aus Ihrem Quell-Code zu extrahieren. Das Maven-Plug-in extrahiert Zeichenfolgen in eine XLIFF-Datei, die Sie zur Übersetzung senden. Zeichenfolgen werden aus den folgenden Quellen extrahiert:
- Java-Quelldateien
- JavaScript-Quelldateien
- XML-Darstellungen von SVN-Ressourcen (JCR-Knoten)
Konfigurieren der Zeichenfolgenextrahierung configuring-string-extraction
Konfigurieren Sie, wie das xgettext-maven-plugin-Tool Zeichenfolgen für Ihr Projekt extrahiert.
/filter { }
/parsers {
/vaultxml { }
/javascript { }
/regexp {
/files {
/java { }
/jsp { }
/extjstemplate { }
}
}
}
/potentials { }
Bestimmung der zu parsenden Dateien identifying-the-files-to-parse
Der Abschnitt „/filter“ der Datei „i18n.any“ gibt die Dateien an, die das xgettext-maven-plugin-Tool parst. Fügen Sie mehrere ein- und ausschließende Regeln hinzu, um Dateien anzugeben, die geparst bzw. ignoriert werden sollen. Sie sollten alle Dateien einbeziehen und dann die Dateien ausschließen, die Sie nicht parsen möchten. Normalerweise sollten Dateitypen ausgeschlossen werden, die nicht Teil der Benutzeroberfläche sind oder die die Benutzeroberfläche definieren, jedoch nicht übersetzt werden. Die ein- und ausschließenden Regeln haben das folgende Format:
{ /include "pattern" }
{ /exclude "pattern" }
Das Muster einer Regel wird verwendet, um die Namen der Dateien abzugleichen, die ein- bzw. ausgeschlossen werden sollen. Das Musterpräfix gibt an, ob Sie einen JCR-Knoten (seine Darstellung in Vault) oder das Dateisystem abgleichen.
In einem Muster steht das Zeichen / für ein Unterverzeichnis und das Zeichen * ist ein Platzhalter für eine beliebige Zeichenfolge. In der folgenden Tabelle sind einige Beispielregeln aufgeführt.
Extrahieren der Zeichenfolgen extracting-the-strings
Ohne 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=.
Mit POM: Fügen Sie dies zu POM hinzu:
<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>
Der Befehl:
mvn xgettext:extract
Ausgabedateien output-files
-
raw.xliff
: extrahierte Zeichenfolgen -
warn.log
: Warnmeldungen (falls vorhanden), wenn dieCQ.I18n.getMessage()
-API falsch verwendet wird. In diesen Fällen ist immer eine Fehlerbehebung und anschließend eine Wiederholung erforderlich. -
parserwarn.log
: Parser-Warnungen (falls vorhanden), z. B. js-Parser-Probleme -
potentials.xliff
: „potenzielle“ Kandidaten, die nicht extrahiert werden, aber möglicherweise von Menschen lesbare Zeichenfolgen sind, die übersetzt werden müssen (kann ignoriert werden, da es noch eine große Menge an falsch positiven Ergebnissen findet) -
strings.xliff
: Zusammengefasste xliff-Datei für den Import in ALF -
backrefs.txt
: ermöglicht ein schnelles Nachschlagen der Position bestimmter Zeichenfolgen im Quell-Code