Howto - Creating a new file filter

Nuávod OmegaT: Vytvořit nový filtr

Tento návod popisuje vytvoření nového filtru pro použití v OmegaT, příklad bude demonstrován na vytvoření základního filtru pro formát TMX. I když to může vypadat zvláštně chtít překládat soubory TMX (běžný důvod pro vytvoření souborového filtru), přidání filtru pro TMX má zajímavý výsledek, který umožní hledat soubory TMX v různých lokacích uvnitř jakéhokoliv projektu OmegaT za použití funkce „hledat soubory“, je to tedy něco, co není možné ve standardní verzi OmegaT.

Pro informace o kompilaci OmegaT ze zdrojového kódu viz Návod: Kompilace OmegaT ze zdrojového kódu.

Vyberte existující filtr s formátem podobným tomu, který bude v novém filtru. V tomto případě byl jako základ vybrán filtr Soubory Nápovědy & Příručky.

Přejděte do adresáře src/org/omegat/filters3/xml a vytvořte kopii podadresáře /helpandmanual a pojmenujte ji /tmx. V tomto adresáři, přejmenujte dva soubory HelpandManualDialect.java a HelpandManualFilter.java na TmxDialect.java a TmxFilter.java.

Otevřete soubory TMXDialect.java a TMX filter v textovém editoru. V obou souborech hledejte (pozor na malá a velká písmena) a nahraďte:

"helpandmanual" tímto "tmx"
"HelpAndManual" tímto "TMX"
"HELPANDMANUAL" tímto "TMX"
"Help & Manual" tímto "TMX"
"Help&Manual" tímto "TMX"

Určete tag(y) na úrovni odstavce pro váš souborový formát Pro určení, co by mělo být jako odstavcový tag, se podívejte na zkušební soubor v textovém editoru. V TMX tag na úrovni odstavce odpovídající segmentu je „tu“.

V TMXDialect.java:

Definujte tagy odstavce, v tomto případě změnou řádku:

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

na

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

Můžete smazat řádek:

   defineShortcut("link", "li");

protože nemá v TMX žádné využití, i když nový filtr bude fungovat, i když jej neodstraníte.

Můžete definovat specifické tagy . Tyto definují subsegmenty které se nacházejí mimo segmentu, ve kterém jsou obsaženy (dobrým příkladem jsou poznámky pod čarou). K vytvoření takového záznamu ve filtru TMX vložte řádek

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

pod řádek

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

Filtr stále bude fungovat stejně, jako kdyby sem nebylo nic vloženo.

Pod tyto řádky můžete také vložit kód:

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

Toto umožní zobrazit soubory TMX ještě úhledněji, ale opět, není to zcela zásadní.

V TMXFilter.java:

Změňte koncovku souboru, v tomto případě .tmx, změnou řádku

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

na:

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

V adresáři /src/org/omegat otevřete v textovém editoru soubor Bundle.properties a hledejte řádky

   # HelpAndManualFilter.java
   HELPANDMANUAL_FILTER_NAME=Help & Manual Files

Pod tyto řádky vložte řádky

   # TMXFilter.java
   TMX_FILTER_NAME=TMX files

(Pokud chcete spouštět OmegaT s jiným jazykem uživatelského prostředí než anglicky, ujistěte se, že stejnou změnu provedete v odpovídajícím souboru Bundle.properties pro váš jazyk.)

V hlavním adresáři zdrojového kódu otevřete v textovém editoru soubor manifest-template.mf. Najděte řádky:

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

Pod ně vložte řádky:

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

Zkompilujte jak je to popsáno v návodu Kompilovat OmegaT ze zdrojového kódu. Spusťte nově zkompilovanou verzi. Zkontrolujte Možnosti > Filtry souborů, zda je nový filtr zobrazen. Pro kontrolu, zda pracuje správně, můžete umístit soubor TMX do /source adresáře projektu, nebo (více užitečné) zkuste hledat v souborech TMX: Hledat > Hledat soubory.

Copyright Marc Prior 2008-2011