Howto - Creating a new file filter

OmegaT

HOWTO: Stvaranje filtra za novu vrstu datoteke

U ovome HOWTO, opisuje se sačinjavanje novog filtra za OmegaT.

Za pravljenje novog filtra nije potrebno znanje jednog programera u jeziku Java ili nekom drugom. Dovoljno je da posjedujete nešto malo više od osnovnog poznavanja načina rada računara.

U opisu koji slijedi, polazi se od pretpostavke da je format za koji imate namjeru napisati novi filtar, jedan od od XML formata. Za potrebe samog primjera, polazi se i od pretpostavke da se koristi verzija OmegaT 1.8.0 update 01 Beta, a da će se novi filtar praviti za format datoteke Abiword, na bazi postojećeg XLIFF filtra.
Da biste preuzeli OmegaT source code, slijedite poveznicu sa vebsajta OmegaT. Raspakujte arhivnu datoteku u neki pogodan direktorijum.

1. Preuzmite i instalirajte Apache Ant

Apache Ant je neophodan radi kompiliranja source koda pošto ga budete modificirali. Neke druge aplikacije, kao što je na pr. Java Development Kit (JDK), takođe se mogu koristiti za ove svrhe, dok je Ant vjerovatno najjednostavniji za upotrebu. Preuzmite ga sa ant.apache.org.

2. Ukopirajte neki postojeći filtar

Selektujte neki postojeći filtar koji će poslužiti kao osnova za filtar koji imate namjeru načiniti. U ovom se primjeru, selektuje XLIFF filtar. Ovaj filtar nalazi se direktorijumu:

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

Napravite kopiju ovog direktorijuma, dajući mu pritom neko pogodno ime, na pr., u ovom slučaju:

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

Preimenujte datoteke u tom direktorijumu, tj.:

XLIFFDialect.java u AbiwordDialect.java
XLIFFFilter.java u AbiwordFilter.java

Otvorite u nekom tekst editoru AbiwordDialect.java, te poslije AbiwordFilter.java i zamijenite sve riječi XLIFF, xliff, itd. sa riječima Abiword, abiword itd.

3. Za vaš format locirajte tag-ove koji određuju kraj pasusa

Kroz tekst editor, bacite pogled na primjer, kako biste vidjeli kako bi trebalo da izgledaju tag-ovi za kraj pasusa. Na primjer, u nekoj od datoteka Aboword (kao u ovome primjeru), pasus bi mogao imati ovaj izgled:

<p style="Normal">razni tekst... . Razni tekst. Razni tekst. Razni tekst <c props="font-weight:bold">bold</c> blah <c props="font-style:italic">italics</c>. Razni tekst.</p>

Iz ovoga se vidi da tag za pasus u Abiword-u, predstavlja znak <p>.

4. Definišite tag-ove za pasus

U MyFilterDialect.java, u popisu tag-ova za kraj pasusa, zamijenite postojeće tag-ove za kraj pasusa, onim koji(e) ste identificirali za vaš filtar:

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

defineOutOfTurnTags(new String[]

5. Definišite tag-ove koji se ne prevode (non translatable tags)

Da bi filtar koji pravite, funkcionirao, možda ćete morati odrediti i tag-ove koji se ne prevode. Na primjer, u Abiword-u, <data> tag se mora definisati kao neprevodiv:

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

6. Dodajte vaš novi filtar u "filter master"

Otvorite datoteku

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

pomoću nekog tekst editora i pronađite referentno mjesto XLIFF filtra. Umetnite odgovarajuće reference za vaš filtar, na pr.:

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. Dodajte novi filtar u Bundle.properties

Otvorite datoteku:

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

u nekom tekst editoru. Pronađite stavku za XLIFF filtar i dodajte odgovarajuću stavku za vaš novi filtar:

# XLIFFFilter.java

XLIFF_FILTER_NAME=XLIFF files

# AbiwordFilter.java

ABIWORD_FILTER_NAME=Abiword files

(Ovdje se pretpostavljalo da korisnik drži verziju OmegaT na engleskom jeziku; Ukoliko nije takav slučaj, u Bundle.properties dodajte i red u verziju za "vaš" jezik.)

8. Kompilirajte kod

Otvorite okno s komandnom linijom (konzolu, DOS okno). Promijenite direktorijum na glavni od OmegaT source koda (dir koji sadrži file build.xml), tj.

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

Iz ovog direktorijuma, aktivirajte Apache Ant, tako što ćete unijeti izvršnu Ant datoteku s punom putanjom, tj.:

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

Ako se kod uspješno kompilirao, ugledaćete poruku "BUILD SUCCESSFUL". Ako to nije bio slučaj, prikazaće se poruke o debugging, koje će vam eventualno opisati gdje je bio problem.

9. Startujte OmegaT

Ako se kod uspješno kompilirao, the kompilirana OmegaT biće smještena u:

OmegaT_1.8.0_01_Beta_Source\dist

Uvijek kroz okno komandne linije, pređite na taj direktorijum, tj. pomoću:

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

i startujte OmegaT pomoću:

java -jar OmegaT.jar

10. Provjerite da li novi filtar stoji u OmegaT

Da biste vidjeli vaš novi filtar u popisu filtara u OmegaT, selektujte Opcije > Filtri datoteka > Podrazumijevane vrijednosti.

11. Provjerite da li filtar funkcioniše

Napravite novi projekt sa uzorkom datoteke u dotičnom formatu.

Nazad na Dokumentaciju
© Marc Prior, 2008