HowTo - einen neuen Dateifilter erstellen

In diesem HowTo wird erläutert, wie man einen neuen Dateifilter für OmegaT erstellt, indem die Erstellung eines rudimentären Dateifilters für das TMX-Format beschrieben wird. Obwohl es seltsam erscheinen mag, TMX-Dateien zu übersetzen (der übliche Grund für das Erstellen eines Dateifilters), hat das Hinzufügen eines TMX-Filters den interessanten Effekt, dass TMX-Dateien an jedem Ort in einem beliebigen OmegaT-Projekt mit der Funktion "Datei suchen" gesucht werden können, was im Standard OmegaT Build nicht möglich ist.

Um OmegaT aus dem Quelltext zu erstellen, schauen Sie sich das HowTo OmegaT aus den Quellen kompilieren an.

Wählen Sie einen Filter für ein Format, dass dem für den neuen Filter ähnlich ist. In diesem Beispiel wurde als Basis der Filter Hilfe & Handbuch ausgewählt.

Finden Sie den Ordner src/org/omegat/filters3/xml und machen Sie eine Kopie des Unterordners /helpandmanual, nennen Sie ihn /tmx. Bennen Sie in diesem Ordner die zwei Dateien HelpandManualDialect.java und HelpandManualFilter.java in TmxDialect.java und TmxFilter.java um.

Öffnen Sie die Dateien TMXDialect.java und TMXFilter.java in einem Texteditor. Suchen und ersetzen Sie (Groß- und Kleinschreibung beachten) in beiden Dateien

"helpandmanual" mit "tmx"
"HelpAndManual" mit "TMX"
"HELPANDMANUAL" mit "TMX"
"Help & Manual" mit "TMX"
"Help&Manual" mit "TMX"

Identifizieren Sie die Absatzebenen-Tags für Ihr neues Dateiformat. Um herauszufinden, was die Absatztags sein sollten, untersuchen Sie eine Beispieldatei in einem Texteditor. In TMX ist der einem Segment entsprechende Absatzebenen-Tag "tu".

In TMXDialect.java:

Definieren Sie die Absatztags in diesem Fall durch Ändern der Zeile:

   defineParagraphTags(new String[] { "caption", "config-value", "variable", "para", "title", "keyword", "li", });

zu

   defineParagraphTags(new String[] { "tu", });

Sie können die Zeile löschen:

   defineShortcut("link", "li");

da sie für TMX nicht wichtig ist, obwohl der Filter noch funktionieren wird, wenn Sie es nicht tun.

Sie können Tags "außer der Reihe" definieren. Diese definieren Subsegmente, die außerhalb des Segments dargestellt werden, in dem sie enthalten sind (Fußnoten sind ein gutes Beispiel). Fügen Sie für den TMX-Filter die Zeile ein

   defineOutOfTurnTags(new String[] { "sub", });

unterhalb der Zeile

   defineParagraphTags(new String[] { "tu", });

Der Filter funktioniert jedoch weiterhin, wenn Sie dies nicht tun.

Unterhalb dieser Zeilen können Sie auch den Code einfügen:

   defineIntactTags(new String[]
   {
   "header",
   "prop",
   "ph",
   "bpt",
   "ept",
   "it",
   "ut",
   });

Dadurch wird die Darstellung der TMX-Dateien besser, aber auch hier ist es nicht unbedingt notwendig.

In TMXFilter.java:

Ändern Sie die Dateiendung, in diesem Fall zu .tmx, indem Sie die Zeilen ändern:

   public Instance[] getDefaultInstances() {
   return new Instance[] { new Instance("*.xml", null, null), new Instance("*.hmxp", null, null), };

zu:

   public Instance[] getDefaultInstances() {
   return new Instance[] { new Instance("*.tmx", null, null), };

Öffnen Sie im Ordner /src/org/omegat mit einem Texteditor die Datei Bundle.properties und suchen Sie diese Zeilen

   # HelpAndManualFilter.java
   HELPANDMANUAL_FILTER_NAME=Help & Manual Files

Fügen Sie unter den Zeilen diese Zeilen ein:

   # TMXFilter.java
   TMX_FILTER_NAME=TMX files

Machen Sie die selben Änderungen in einer übersetzten Bundle.properties-Datei, wenn Sie OmegaT mit einer anderen Benutzeroberflächensprache als Englisch starten möchten.

Öffnen Sie im selben Quelltextordner mit einem Texteditor die Datei file manifest-template.mf. Suchen Sie die Zeilen:

   Name: org.omegat.filters3.xml.helpandmanual.HelpAndManualFilter
   OmegaT-Plugin: filter

Fügen Sie darunter diese Zeilen ein:

   Name: org.omegat.filters3.xml.tmx.TMXFilter
   OmegaT-Plugin: filter

Kompilieren Sie, wie im HowTo OmegaT aus den Quellen kompilieren beschrieben. Starten Sie die neu kompilierte Version. Überprüfen Sie unter Optionen > Dateifilter, dass der neue Filter vorhanden ist. Um zu überprüfen, ob es funktioniert, können Sie eine TMX-Datei im Ordner /source eines Projekts ablegen oder (sinnvoller) mit Bearbeiten > Projekt durchsuchen > Textsuche > Dateien nach TMX-Dateien suchen lassen.

Copyright Marc Prior 2008-2011