OmegaT HowTo: Maken van een a nieuw bestandsfilter

Deze HowTo legt uit hoe een nieuw bestandsfilter kan worden gemaakt om te gebruiken met OmegaT door het beschrijven van het maken van een rudimentair bestandsfilter voor de indeling TMX. Hoewel het misschien vreemd lijkt om TMX-bestanden te willen vertalen (de gebruikelijke reden voor het maken van een bestandsfilter), heeft het toevoegen van een TMX-filter het interessante effect dat het TMX-bestanden op elke locatie inschakelt om te kunnen worden doorzocht vanuit elk project van OmegaT met behulp van de functie "Zoeken in bestanden", iets dat niet mogelijk is in het standaard gebouwde programma OmegaT.

Voor het compileren van de broncode van OmegaT, bekijk Compiling OmegaT from Source HowTo.

Selecteer een bestaand filter in een indeling die soortgelijk is aan dat voor het nieuwe filter. In dit voorbeeld is het filter Help & handleiding geselecteerd als de basis.

Localiseer de map src/org/omegat/filters3/xml en maak een copy van de submap /helpandmanual, en noem die /tmx. In deze laatste folder, hernoem de twee bestanden HelpandManualDialect.java en HelpandManualFilter.java respectievelijk naar TmxDialect.java en TmxFilter.java.

Open de bestanden TMXDialect.java en TMX filter in een tekstbewerker. Zoek, in beide bestanden, naar (overeenkomende Hoofd-/kleine letters) en vervang door:

"helpandmanual" door "tmx"
"HelpAndManual" door "TMX"
"HELPANDMANUAL" door "TMX"
"Help & Manual" door "TMX"
"Help&Manual" door "TMX"

Identificeer de tag(s) voor het alinea-niveau voor uw nieuwe bestandsindeling Kijk naar een voorbeeldbestand in de tekstverwerker om te zien wat de tags voor de alinea's zouden moeten zijn. In TMX is de tag voor het alinea-niveau, die overeenkomt met een segment, "tu".

In TMXDialect.java:

Definieer de tags voor de alinea, in dit gevall door te wijzigen de regel:

   defineParagraphTags(new String[] { "caption", "config-value", "variable", "para", "title", "keyword", "li", });

naar

   defineParagraphTags(new String[] { "tu", });

U kunt deze regel verwijderen:

   defineShortcut("link", "li");

omdat die niet relevant is voor TMX, hoewel het nieuwe filter nog steeds zal werken als u hem niet verwijderd.

U kunt tags voor buiten het gebied definiëren. Deze definiëren subsegmenten die buiten het segment waarin zij zijn opgenomen worden weergegeven (voetnoten zijn een goed voorbeeld). Voeg, om dit te doen voor het filter TMX, de regel

   defineOutOfTurnTags(new String[] { "sub", });

toe onder de regel

   defineParagraphTags(new String[] { "tu", });

Het filter zal echter nog steeds werken als u dit niet doet.

Onder deze regels kunt u ook de volgende code toevoegen:

   defineIntactTags(new String[]
   {
   "header",
   "prop",
   "ph",
   "bpt",
   "ept",
   "it",
   "ut",
   });

Dit zal de weergave van de TMX-bestanden netter maken, maar opnieuw, het is niet absoluut essentieel.

In TMXFilter.java:

Wijzig de bestandsextensie, in dit geval naar .tmx, door de regel:

   public Instance[] getDefaultInstances() {
   return new Instance[] { new Instance("*.xml", null, null), new Instance("*.hmxp", null, null), };

naar:

   public Instance[] getDefaultInstances() {
   return new Instance[] { new Instance("*.tmx", null, null), };

In de map /src/org/omegat, open het bestand Bundle.properties in een tekstbewerker en zoek de regels

   # HelpAndManualFilter.java
   HELPANDMANUAL_FILTER_NAME=Help & Manual Files

Voeg onder deze regels de volgende regels in

   # TMXFilter.java
   TMX_FILTER_NAME=TMX files

(Als u OmegaT wilt starten met een andere taal voor de gebruikersinterface dan Engels, maak dezelfde wijzigingen dan in het relevante vertaalde bestand Bundle.properties.)

In de hoofdmap van de broncode, open het bestand manifest-template.mf in een tekstbewerker. Zoek de regels:

   Name: org.omegat.filters3.xml.helpandmanual.HelpAndManualFilter
   OmegaT-Plugin: filter

Voeg onder deze regels de volgende regels in

   Name: org.omegat.filters3.xml.tmx.TMXFilter
   OmegaT-Plugin: filter

Compileeer zoals beschreven in de Compiling OmegaT from Source HowTo. Start de nieuw gecompileerde versie. Controleer in Opties > Bestandsfilters of het nieuwe filter aanwezig is. U kunt een TMX-bestand in de map /source van een project plaatsen, of (nuttiger) een bewerking Tekst zoeken > Zoeken in bestanden uitvoeren op TMX-bestanden om te controleren of het werkt.

Copyright Marc Prior 2008-2011