# Dateifilter

Eine neue Funktion von OmegaT ab Version 1.4.5 sind vom Benutzer konfigurierbare Dateifilter zur Konvertierung.

## Übersicht

Dateifilter sind verantwortlich für:

- Einlesen eines Ausgangsdokuments in einem bestimmten Dateiformat (z.B. gibt es unterschiedliche Filter für reine Textdateien und OpenDocument-/OpenOffice-Dateien);
- Extrahieren des übersetzbaren Inhalts aus einer Datei;
- Schreiben des Zieldokuments in eine Datei (wobei der übersetzbare Inhalt mit der entsprechenden Übersetzung ersetzt wird).

Da die Filter eine neue Funktion sind, kann es sein, dass es noch nicht bekannte Fehler gibt, Probleme mit der Anzeige und unklare Verfahren. Diese Dokumentation wird hoffentlich dabei helfen zur Klärung beizutragen. Derzeit steht der Text der Benutzerschnittstelle nur in Englisch zur Verfügung. Dies ist eine Einschränkung der aktuellen Version und wird in einer der nächsten Versionen behoben.

Verwenden Sie bitte realistische Einstellungen zur Konfigurierung der Filter, da ansonsten Fehler auftreten können. Lesen Sie die Anweisungen genau durch. Falls Sie die Ergebnisse der Veränderung der Filter nicht verstehen, dann behalten Sie die Voreinstellungen bei oder arbeiten Sie mit einem Testprojekt, bevor Sie sie im "Ernstfall" einsetzen. Weitere Hilfe erhalten Sie über die OmegaT-Benutzergruppe.

Beachten Sie, dass die Dateifilter nur konfiguriert werden können, wenn kein Projekt geöffnet ist. Um die Handhabung der Dateien eines bestimmten Projekts zu ändern, müssen die Filter geändert werden, bevor das Projekt geöffnet wird.

## Filterdialoge

Die Einzelheiten der folgenden Dialoge und der Verwendung der Filter wird beschrieben.

### Dateifilter

Dieser Dialog wird aufgerufen, indem man den Menüpunkt Dateifilter... im Menü Einstellungen wählt.

Im Dialog wird eine Tabelle der verfügbaren Dateiformate angezeigt. In der linken Spalte werden die verfügbaren Dateitypen angezeigt. In der rechten Spalte wird neben jedem Filtertyp ein Kontrollkästchen angezeigt, das angibt, ob der Filter aktiviert ist oder nicht.

Die derzeit verfügbaren Dateitypen sind: Text, XHTML, HTML, OpenDocument/OpenOffice.org und Java Resource Bundles.

Um einen der vorhandenen Dateifilter zu bearbeiten, markieren sie diesen und klicken Sie auf die Schaltfläche Bearbeiten..., um den Konfigurationsdialog Dateifilter bearbeiten zu öffnen.

Um die Dateifilter nach den Änderungen wieder zurückzusetzen, wählen Sie die Schaltfläche Standardeinstellungen. Wählen Sie OK, damit die Standardeinstellungen wieder übernommen werden, oder Abbrechen, um diese Operation abzubrechen. Achten Sie darauf, dass Sie auch wirklich die Einstellungen zurücksetzen wollen, bevor Sie den Vorgang durchführen.

### Dateifilter bearbeiten

Diese Funktion können Sie im Dialog Dateifilter über die Schaltfläche Bearbeiten... aufrufen.

Es wird eine Tabelle mit vier Spalten für den ausgewählten Filtertyp angezeigt. Diese Tabelle enthält die Überschriften Schema für den Ausgangsdateinamen, Kodierung der Ausgangsdatei, Kodierung der Zieldatei und Schema für den Zieldateinamen für die konfigurierten Einstellungen für einen bestimmten Filter. Diese Spalten werden wie folgt verwendet:

- Schema für den Ausgangsdateinamen - gibt an, auf welche Dateien im Verzeichnis /source dieser Filter angewendet wird. Der Benutzer kann die Schemata nach seinen Wünschen gestalten.
- Kodierung der Ausgangsdatei - die zum Einlesen der Ausgangsdateien verwendete Zeichenkodierung. Verfügt über eine Drop-Down-Liste zur Auswahl der Kodierung.
- Kodierung der Zieldatei - die zum Einlesen der Zieldateien verwendete Zeichenkodierung. Verfügt über eine Drop-Down-Liste zur Auswahl der Kodierung.
- Schema für den Zieldateinamen - gibt an, auf welche Dateien im Verzeichnis /target dieser Filter angewendet wird. Der Benutzer kann die Schemata nach seinen Wünschen gestalten.

Auf der rechten Seite des Dialogs befinden Sie die Schaltflächen Hinzufügen..., Bearbeiten... und Entfernen..., mit denen die Dialoge Filter hinzufügen, Filter bearbeiten und Filter entfernen geöffnet werden.

Es gibt in diesem Dialog eine weitere Schaltfläche Standardeinstellungen, mit dem die Filter für den Filtertyp auf die ursprüngliche Anzahl der Filter und die Standardeinstellungen zurückgesetzt werden. Achten Sie darauf, dass Sie diesen Vorgang auch wirklich ausführen wollen.

### Filter hinzufügen und Filter bearbeiten

Diese Funktion können Sie im Dialog Dateifilter über die Schaltfläche Hinzufügen... bzw. Bearbeiten... aufrufen.

Diese Dialoge und die Anweisungen sind die gleichen, die Verwendung ist aber etwas anders. Die benutzerdefinierten Filter werden im Dialog Filter hinzufügen erstellt. Ein neu erstellter Filter wird zur Liste der für den Dateityp verfügbaren Filter hinzugefügt. Die Standard- und Benutzerfilter werden im Dialog Filter bearbeiten bearbeitet. Ein ausgewählter Filter wird aktualisiert, wenn die Änderungen hier angenommen werden.

Jeder Dialog enthält eine Reihe von Einträgen, die ausgefüllt werden müssen, damit die Einstellungen des Filters richtig konfiguriert sind. Diese entsprechen den Einstellungen im Dialog Dateifilter bearbeiten. Wählen Sie OK, um einen neuen Filter hinzuzufügen, oder die Änderungen an einem vorhandenen Filter anzunehmen. Klicken Sie auf Abbrechen, um den Vorgang abzubrechen.

#### Schema für den Namen der Ausgangsdatei

Gibt an, auf welche Dateien im Verzeichnis /source dieser Filter angewendet wird. Der Benutzer kann die Schemata nach seinen Wünschen gestalten, im Rahmen der üblichen Shell-Muster.

Geben Sie das gewünschte Schema für die Zieldatei im Textfeld ein. Hier wird ein Standardschema angezeigt, das vom jeweiligen Filter abhängt. Verwenden Sie diesen Standard oder geben Sie einen eigenen ein, je nachdem, welche Ausgangsdateien mit dem Filter verwendet werden sollen.

#### Kodierung der Ausgangsdatei

Geben Sie die Zeichenkodierung der Ausgangsdatei an. Dies kann extern ermittelt und eingegeben werden (wenn es zuvor bekannt ist, wie z.B. im Falle von OpenOffice.org usw.), über die Dateierweiterung bei manchen Dateiformaten (z.B. verwenden Textdateien für die Kodierung Latein-1 die Erweiterung *.txt1) oder, falls zutreffend, kann die Einstellung <auto> verwendet werden. Bei manchen Formaten wird die Möglichkeit zur Änderung der Kodierung deaktiviert. Einzelheiten zu <auto> und deaktivierten Einstellungen siehe den Abschnitt Kodierungen auf dieser Seite.

Wählen Sie die geeignete Kodierung aus der Drop-Down-Liste aus oder verwenden Sie <auto>, damit automatisch ein Filter ausgewählt wird, mit dem die Ausgangsdateien eingelesen werden.

#### Kodierung der Zieldatei

Geben Sie die Zeichenkodierung der Zieldatei an. Die Zieldokumente werden mit der ausgewählten Kodierung exportiert. Die für die jeweilige Zielsprache benötigte Kodierung sollte zuvor bekannt sein. Falls zutreffend, kann die Einstellung <auto> verwendet werden, um zu versuchen, die Kodierung automatisch einzustellen. Bei manchen Formaten wird auch hier die Möglichkeit zur Änderung der Kodierung deaktiviert. Einzelheiten zu <auto< und deaktivierten Einstellungen siehe den Abschnitt Kodierungen auf dieser Seite.

#### Schema für den Namen der Zieldatei

Gibt das Schema an, das für die Dateinamen der Zieldokumente in /target verwendet wird. Die Schemata können nach Wunsch des Benutzers verändert werden, im Rahmen der üblichen Einschränkungen bei Shell-(glob)-Schemata.

Geben Sie das gewünschte Schema für die Zieldatei im Textfeld ein. Hier wird ein Standardschema angezeigt, das vom jeweiligen Filter abhängt. Verwenden Sie diesen Standard oder geben Sie einen eigenen ein, je nachdem, welche Ausgangsdateien mit dem Filter verwendet werden sollen. Es stehen eine Reihe voreingestellter Dateinamenvariablen zu diesem Zwecke zur Verfügung.

#### Dateinamenvariablen

Für die Schemata für die Zieldateinamen stehen einige voreingestellte Dateinamenvariablen zur Verfügung, die verwendet werden können, um die Dateinamen der Zieldateien zu erstellen. Die Syntax dieser Variablen ist `${VARIABLE}` und folgt der Verwendung der üblichen Glob-Schemata bei der Shell-Verwendung (Eingabeaufforderung). Eine Variable wird in der Zeile Schema des Zieldateinamens verwendet, um die Werte der Dateinamenvariablen einzusetzen, die basierend auf den Dateien und Einstellungen in einem Projekt ermittelt werden.

Wählen Sie eine Dateinamenvariable aus der Drop-Down-Liste aus. Verwenden Sie die Schaltfläche Einfügen, um eine ausgewählte Variable an der Stelle des Cursors im Textbereich Schema des Zieldateinamens einzufügen.

### Dateinamenvariablen

Variable | Beschreibung
--- | ---
`${filename}` | Dateiname einer Ausgangsdatei (Name und Erweiterung)
`${nameOnly}` | Nur der Name der Ausgangsdatei, ohne Erweiterung
`${extension}` | Nur die Erweiterung der Ausgangsdatei
`${sourceLanguage}` | Ausgangssprache des Projekts (Locale) (xx-YY oder xx_YY)
`${targetLocale}` | Ziel-Locale des Projekts (xx_YY)
`${targetLanguage}` | Zielsprache des Projekts (xx-YY)
`${targetLanguageCode}` | Code der Zielsprache des Projekts (xx)
`${targetCountryCode}` | Code des Ziellands des Projekts (YY)

`${filename}` ist in den meisten Fällen die voreingstellte Konfiguration des Schemas für den Zieldateinamen. Das bedeutet, dass der Name der Ausgangsdatei und der der Zieldatei identisch sind.

Informationen zu Sprache (Locale) und Codes siehe Einstieg in das Programm.

### Filter löschen

Dies ist lediglich ein Dialog zur Bestätigung. Wählen Sie OK aus, um einen Filter endgültig zu löschen. Benutzerdefinierte Filter stehen nicht mehr zur Verfügung, nachdem das Löschen bestätigt wurde. Die voreingestellten Filter stehen nach dem Löschen ebenfalls nicht mehr zur Verfügung, können aber über den Dialog Dateifilter bearbeiten wiederhergestellt werden, indem man Voreinstellungen wählt.

### Kodierungen

Die Kodierungen für Ausgang und Ziel können über die Drop-Down-Listen in den Dialogen Dateifilter bearbeiten, Filter hinzufügen und Filter bearbeiten ausgewählt werden. Es stehen nur diejenigen Kodierungen zur Verfügung, die von der Java Runtime Environment verwendet werden. Zusätzlich kann eine <auto>-Variable verwendet werden, um zu versuchen, die Kodierung der Ausgangsdatei automatisch zu erkennen.

#### Einstellung <auto>

Je nach verwendetem Filter, wird eine von drei möglichen Aktionen ausgeführt, wenn die Einstellung <auto> gesetzt ist:

1. OmegaT versucht, die Kodierung automatisch zu erkennen. Dies trifft nur auf die Ausgangsdateien zu.
2. Die voreingestellte Kodierung des Betriebssystems wird verwendet.
3. Keine Aktion wird durchgeführt. Trifft dann zu, wenn der Filter nur eine einzige Kodierung unterstützt.

#### Deaktivierte (graue) Einstellung

Der jeweilige Filter mit der deaktivierten Variable unterstützt nicht mehrere Dateikodierungen bzw. das Dateiformat ist neutral in Bezug auf die Kodierung. In diesem Falle kann keine andere Kodierung angegeben werden.

### Beispiel: Schema für den Namen der Zieldatei

Eventuell wird gewünscht, den Namen der Zieldateien so zu ändern, dass sie die jeweilige Zielsprache oder Locale enthalten. Eine Möglichkeit besteht darin, eine entsprechende Suffix an den Dateinamen zu hängen (vor der Dateierweiturung). Wenn die Zielsprache zum Beispiel Französisch ist, dann könnte der Sprachcode "fr" angehängt werden.

In diesem Falle wäre das Schema Folgendes:

`${nameOnly}-fr.${extension}`,

Allerdings gibt es schon eine Variable für den Sprachcode, die Sie stattdessen verwenden können:

`${nameOnly}-${targetLanguageCode}.${extension}`.

Wenn nun eine Ausgangsdatei den Namen test.txt trägt (z.B. im *.txt Textfilter), dann würde der Zieldateiname test-fr.txt lauten.

Beachten Sie, dass das Trennzeichen im Dateinamen '.' nicht von der Variablen ${extension} eingefügt wird. Es muss manuell in das Schema eingesetzt werden.

Der Code für das Zielland soll evtl. auch in den Dateinamen eingefügt werden. Dies geschieht so:

`${nameOnly}-${targetLanguageCode}-CA.${extension}`

In diesem Falle ist Französisch die Zielsprache und Kanada das Land. Der Dateiname test.txt wird also zu test-fr-CA.txt.

Es gibt auch für diesen Fall bereits eine Variable für das Zielland, die wie folgt eingefügt werden kann:

`${nameOnly}-${targetLanguageCode}-${targetCountryCode}.${extension}`

In diesem Fall wäre es sogar einfacher, die Variable für die Zielsprache anstelle der Variablen für Zielsprachencode und Ziellandcode einzusetzen:

`${nameOnly}-${targetLanguage}.${extension}`

Das Ergebnis des letzten Beispiels ist das gleich wie zuvor. In diesem Fall wird an den Zieldateinamen nun die Sprache (Sprachcode und Ländercode) angehängt, wobei die Dateierweiterung unverändert bleibt.

### Fragen und Antworten

#### Wie wird der Filter ermittelt, der für eine Datei verwendet wird?

Dies wird vom Schema der Datei bestimmt. Jeder Filter listet das Ausgangsdateischema der Dateien auf, die er handhaben kann. Dieses Schema wird eingestellt, indem man einen Dateifilter hinzufügt und bearbeitet. Jedem Filter kann ein bestimmtes Schema zugeordnet werden. Wenn zum Beispiel der Filter für reine Textdateien bei allen Dateien ohne Erweiterung verwendet werden soll, dann fügen Sie einen Filter hinzu, dessen Schema des Ausgangsdateinamens *. lautet. Es sind auch einige voreinstellte Filter vorhanden, die mit bestimmten Dateitypen funktionieren, aber andere Kodierungen verwenden. So kann man etwa eine Textdatei, die die Kodierung Latin-1 (ISO 8859-1) verwendet, an der Erweiterung .txt1 erkennen. Bevor Dateien in einem Projekt verwendet werden, kann ihnen ein bestimmtes Schema zugewiesen werden, sodass sie automatisch erkannt werden. In dem Beispiel war die Erweiterung der ausschlaggebende Faktor, durch den Dateien einem Filter zugeordnet werden.

#### Was ist zu tun, wenn scheinbar die falsche Dateikodierung verwendet wurde?

Richten Sie eine andere Kodierung ein, indem Sie die Ausgangsdateikodierung des entsprechenden Dateifilters einrichten.

#### Was kann man unternehmen, wenn eine einzelne Kodierung nicht für Ausgangs- und Zielsprachen funktioniert?

In den allermeisten Fällen funktionieren die Kodierungen UTF-8, UTF-16 und UTF-32. Eine dieser Kodierungen kann gemeinsam für Ausgangs- und Zielsprache verwendet werden. Um zwei verschiedene Kodierungen für Ausgangs- und Zielsprache zu verwenden, sorgen Sie dafür, dass die richtigen Kodierungen für jeden Zeichensatz verwendet werden und dass die Datei der Ausgangsdokumente vor dem Import in das Projekt mit der richtigen Kodierung gespeichert werden.