HOWTO: Att skapa ett nytt filfilter

Denna HOWTO beskriver hur man skapar ett nytt filter för att använda med OmegaT.

För att skapa ett nytt filter krävs inga programmeringskunskaper, varken Java eller något annat språk, men du borde ha mer än bara grundkunskaper i data i allmänhet.

Beskrivningen nedan antar att du vill skapa ett nytt filter för ett XML format. För att ta ett exempel antas det att OmegaT är i version 1.8.1, uppdatering 1 Beta, och det nya filtret ska skapas för Abiword-filformatet baserat på det existerande XLIFF-filtret.
Följ länken från OmegaT:s nedladdningssida för att skaffa källkoden för OmegaT. Packa upp innehållet i en lämplig mapp.

1. Ladda ner och installera Apache Ant

Apache Ant kommer att behövas för att kompilera källkoden igen efter att du modifierat den. Andra program, som Java Development Kit (JDK) kan också användas, men Ant är antagligen det enklaste att använda. Ladda ner från ant.apache.org.

2. Kopiera ett befintligt filer.

Välj ett befintligt filter som bas för ditt nya filter. I detta exempel väljer vi XLIFF-filtret. Detta filter är i mappen på:

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\xliff

Skapa en mapp med lämpligt namn, i det här fallet:

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\abiword

Byt namn på filerna i mappen, t.ex:

XLIFFDialect.java till AbiwordDialect.java
XLIFFFilter.java till AbiwordFilter.java

Öppna AbiwordDialect.java och AbiwordFilter.java i en textredigerare och byt ut alla XLIFF, xliff, etc. till Abiword, abiword, etc.

3. Identifiera taggarna på paragraf-nivå taggarna för ditt filformat.

För att se hur paragraftaggarna borde vara, titta på en exempelfil i en textredigerare. Exempelvis ser pargraftaggarna i en Abiword-fil (som i det här exemplet) ut så här:

<p style="Normal">Bla bla bla bla bla. Bla bla bla bla bla. Bla bla bla bla bla. Bla bla <c props="font-weight:bold">bold</c> bla <c props="font-style:italic">italics</c>. Bla bla bla.</p>

Detta visar vad paragraftaggarna i Abiword är. <p>.

4. Definiera paragraftaggarna

I MyFilterDialect.java, i listan med paragraftaggarna, byt ut de existerande paragraftaggarna med dem du identifierade för ditt nya filter:

{
public AbiwordDialect()
{
defineParagraphTags(new String[]
{
"p", // NOI18N
});

defineOutOfTurnTags(new String[]

5. Definiera oöversättbara taggar

Du kan behöva att definiera oöäversättbara taggar för att få ditt filter att fungera. I Abiword, t.ex måste <data> taggen difinieras som oöversättbar:

defineIntactTags(new String[]
{
"data", // NOI18N
});
}
}

6. Lägg till ditt filter till filtermastern

Öppna filen

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters2\master\FilterMaster.java

med en textredigerare och hitta referenserna till XLIFF-filtret. Infoga de motsvarande referenserna för ditt filter, t.ex.:

import org.omegat.filters3.xml.xliff.XLIFFFilter;
import org.omegat.filters3.xml.abiword.AbiwordFilter;

res.addFilter(new OneFilter(new XLIFFFilter(), false));
res.addFilter(new OneFilter(new AbiwordFilter(), false));

7. Lägg till ditt filer i Bundle.properties

Öppna filen:

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\Bundle.properties

i en textredigerare Hitta inlägget för XLIFF-filtret och lägg till ett motsvarande tillägg för ditt nya filter:

# XLIFFFilter.java

XLIFF_FILTER_NAME=XLIFF files

# AbiwordFilter.java

ABIWORD_FILTER_NAME=Abiword files

(Detta antar att du använder den engelska versionen av OmegaT; lägg till inlägget i "din" språkversion av Bundle.properties om du använder ett annat språk.)

8. Kompilera koden

Öppna en kommandotolk (console, MS-dos) Ändra mappen till huvudmappen i källkoden för OmegaT (mappen som innehåller filen build.xml) t.ex.

cd C:\My Documents\MyOmegat\OmegaT_1.8.0_01_Beta_Source

Från denna mapp, kör Apache Ant genom att ange Ant-körskriptet med hela sökvägen, t.ex:

C:\Program Files\apache-ant-1.7.0-bin\apache-ant-1.7.0\bin\ant

Om koden kompileras framgångsrikt ser du meddelandet: "BUILD SUCCESSFUL". Om inte, visas avbuggningsmeddelanden, som (förhoppningsvis) antyder om vari problemet ligger.

9. Kör OmegaT

Om din kod har kompilerats rätt, har koden lagts i:

OmegaT_1.8.0_01_Beta_Source\dist

I kommandotolken, ändra den här mappen exempelvis med:

cd C:\My Documents\MyOmegat\OmegaT_1.8.0_01_Beta_Source\dist

ch kör OmegaT med

java -jar OmegaT.jar

10. Kontrollera att filtret finns med i OmegaT

För att se ditt filter i filfilterlistan, välj Alternativ > Filfilter > Standard.

11. Kontrollera att filtret fungerar

Skapa ett nytt projekt med en exempelfil i det önskade formatet.

Tillbaka till Dokumentation
© Marc Prior, 2008