HOWTO: Stvaranje filtra za novu vrstu datotekeU 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.
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.
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.
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>.
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[]
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
});
}
}
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));
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.)
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.
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
Nazad na Dokumentaciju
©
Marc Prior, 2008