HOWTO: maken van een nieuw bestandsfilterDeze HOWTO beschrijft het maken van een nieuw filter om te gebruiken met OmegaT.
Het maken van een nieuw filter vereist geen programmeer kennis, in Java noch enige andere taal, maar u zou wel een meer dan basale kennis van het werken met computers in het algemeen moeten hebben.
De beschrijving hieronder gaat er van uit dat de bestandsindeling waarvoor u een nieuw filter wilt maken een XML-indeling is. Voor dit voorbeeld gaan we er van uit dat de OmegaT-versie wordt verondersteld 1.8.0 update 01 Beta te zijn, en een nieuw filter moet worden gemaakt voor de Abiword bestandsindeling, gebaseerd op het bestaande XLIFF-filter.
Volg de koppeling vanaf de downloadpagina van de OmegaT website om de OmegaT-broncode te krijgen. Pak het archief uit in een toepasselijke map.
Apache Ant is nodig om de broncode opnieuw te compileren nadat die door u is aangepast. Andere programma's, zoals de Java Development Kit (JDK) kunnen ook voor dit doel worden gebruikt, maar Ant is waarschijnlijk de eenvoudigste om te gebruiken. Download het vanaf ant.apache.org.
Selecteer een bestaand filter dat als basis zal dienen voor uw nieuwe filter. In dit voorbeeld is het XLIFF-filter geselecteerd. Dit filter staat in de map op:
..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\xliff
Maak een kopie van deze map met een teoepasselijke naam, bijv. in dit geval:
..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\abiword
In die map, hernoem de bestanden, d.i.:
XLIFFDialect.java naar AbiwordDialect.java
XLIFFFilter.java naar AbiwordFilter.java
Open AbiwordDialect.java en AbiwordFilter.java na elkaar in een tekstverwerker, en vervang alle items van XLIFF, xliff, etc. door Abiword, abiword etc.
Kijk naar een voorbeeld in de tekstverwerker om te zien wat de tags voor de alinea's zouden moeten zijn. Bijvoorbeeld: in een Abiword-bestand (zoals in dit voorbeeld), zou een alinea er als volgt uit kunnen zien:
<p style="Normaal">Blah blah blah blah blah. Blah blah blah blah blah. Blah blah blah blah blah. Blah blah <c props="font-weight:bold">bold</c> blah <c props="font-style:italic">italics</c>. Blah blah blah.</p>
Dit zegt u dat de tag voor een alinea in Abiword <p> is.
Vervang in MyFilterDialect.java, in de lijst met tags voor alinea-niveaus, de bestaande tag(s) voor alinea's door die welke u hebt geídentificeerd voor uw filter:
{
public AbiwordDialect()
{
defineParagraphTags(new String[]
{
"p", // NOI18N
});
defineOutOfTurnTags(new String[]
U moet misschien niet-te-vertalen tag(s) definiëren om uw filter te kunnen laten werken. In Abiword moet, bijvoorbeeld, de tag <data> worden gedefiniëerd als niet-te-vertalen:
defineIntactTags(new String[]
{
"data", // NOI18N
});
}
}
Open het bestand
..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters2\master\FilterMaster.java
met een tekstverwerker en zoek naar de verwijzingen voor het XLIFF-filter. Voeg overeenkomende verwijzingen voor uw filter in, bijv.:
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));
Open het bestand
..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\Bundle.properties
in een tekstverwerker. Zoek naar het item van het XLIFF-filter, en voeg een overeenkomende verwijzing voor uw nieuwe filter in:
# XLIFFFilter.java
XLIFF_FILTER_NAME=XLIFF files
# AbiwordFilter.java
ABIWORD_FILTER_NAME=Abiword files
(We gaan er hier van uit dat u de Engelse versie van OmegaT gebruikt; vermeld het item in "uw" taalversie van het bestand Bundle.properties als dit niet het geval is.)
cd C:\Mijn Documenten\MijnOmegat\OmegaT_1.8.0_01_Beta_Source
Voer, vanuit deze map, Apache Ant uit door de Ant executable in te voeren met het volleeidge pad, bijv.:
C:\Program Files\apache-ant-1.7.0-bin\apache-ant-1.7.0\bin\ant
Als de code succesvol compileert,zult u het bericht "BUILD SUCCESSFUL" zien. Indien niet zullen foutberichten worden weergegeven die (hopelijk) een idee geven over waar het probleem zich bevindt.
OmegaT_1.8.0_01_Beta_Source\dist
Wijzig, nog steeds in uw venster van de opdrachtergel, naar die map, bijv. met:
cd C:\Mijn Documenten\MijnOmegat\OmegaT_1.8.0_01_Beta_Source\dist
en start OmegaT met:
java -jar OmegaT.jar
Terug naar documentatie
D] © Marc Prior, 2009