Show Menu
THEMEN×

Extrahieren von Zeichenfolgen zur Übersetzung

Verwenden Sie xgettext-maven-plugin, um Zeichenfolgen, die übersetzt werden müssen, aus Ihrem Quellcode 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)

Konfiguration der Zeichenfolgen-Extraktion

Konfigurieren Sie, wie xgettext-maven-plugin Zeichenfolgen für Ihr Projekt extrahiert.
/filter { }
/parsers {
   /vaultxml { }
   /javascript { }
   /regexp {
      /files {
         /java { } 
         /jsp { }
         /extjstemplate { }
      }
   }
}
/potentials { }

Abschnitt
Beschreibung
/filter
Identifiziert die analysierten Dateien.
/parsers/vaultxml
Konfiguriert die Analyse von Vault-Dateien. Gibt die JCR-Knoten an, die externalisierte Zeichenfolgen und Lokalisierungshinweise enthalten. Gibt außerdem JCR-Knoten an, die ignoriert werden sollen.
/parsers/javascript
Identifiziert die JavaScript-Funktionen, die Zeichenfolgen extern verarbeiten. Sie müssen diesen Abschnitt nicht ändern.
/parsers/regexp
Konfiguriert die Analyse von Java-, JSP- und ExtJS-Vorlagendateien. Sie müssen diesen Abschnitt nicht ändern.
/Potenziale
Die Formel zum Erkennen von zu internationalisierenden Zeichenfolgen.

Bestimmung der zu parsenden Dateien

Der /filter-Abschnitt der Datei i18n.any gibt die Datei an, die xgettext-maven-plugin 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.
Präfix
Ergebnis
/
Gibt einen JCR-Pfad an. Daher gleicht dieses Präfix Dateien unter dem Verzeichnis jcr_root ab.
*
Gibt eine normale Datei im Dateisystem an.
none
Kein Präfix oder ein Muster, das mit einem Ordner- oder Dateinamen beginnt, zeigt eine normale Datei im Dateisystem an.
Bei Verwendung innerhalb eines Musters gibt das /-Zeichen einen Unterordner und den &ast an. entspricht allen Zeichen. In der folgenden Tabelle sind einige Beispielregeln aufgeführt.
Beispielregel Ergebnis
{ /include "*" } Schließen Sie alle Dateien ein.
{ /exclude "*.pdf" } Schließen Sie alle PDF-Dateien aus.
{ /exclude "*/pom.xml" } Schließen Sie POM-Dateien aus.
{ /exclude "/content/*" } { /include "/content/catalogs/geometrixx/templatepages" } { /include "/content/catalogs/geometrixx/templatepages/*" }
Schließen Sie alle Dateien unterhalb des Knotens "/content"aus.
Schließen Sie den Knoten /content/catalogs/geometrixx/templatesPages ein.
Schließen Sie alle untergeordneten Knoten von /content/catalogs/geometrixx/templatesPages ein.

Extrahieren der Zeichenfolgen

Kein 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

  • raw.xliff : extrahierte Zeichenfolgen
  • warn.log : (sofern vorhanden), wenn die CQ.I18n.getMessage() API nicht korrekt 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-Parserprobleme
  • 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 Quellcode