Guía de OmegaT: Crear un novo filtro de ficheiros

Esta guía explica como crear un novo filtro de ficheiros para usalo no OmegaT. Para tal fin, describimos a creación dun filtro de ficheiros rudimentario para o formato TMX. A pesar de que pode parecer estraño querer traducir ficheiros TMX (o motivo máis común para crear un filtro de ficheiros), o engadido dos ficheiros TMX ten o efecto interesante de que permite empregalos en calquera tradución para buscalos dende o OmegaT usando a función «Buscar ficheiros», algo que non é posible no OmegaT estándar.

Para compilar OmegaT dende o código fonte, vexa a Guía para compilar OmegaT dende o código fonte.

Seleccione un filtro que xa exista para un formato similar a aquel do cal quere crear un filtro. Neste exemplo, escollemos o filtro Axuda e Manual como base.

Localice o cartafol src/org/omegat/filters3/xml e faga unha copia do subcartafol /helpandmanual, nomeándoa /tmx. Neste cartafol, cambie o nome dos ficheiros HelpandManualDialect.java e HelpandManualFilter.java a TmxDialect.java e TmxFilter.java respectivamente.

Abra os ficheiros TMXDialect.java e TMX filter cun editor de texto. En ambos ficheiros, busque os termos seguintes (asegúrese de que coinciden as maiúsculas e as minúsculas), e substitúaos segundo se indica a continuación:

"helpandmanual" por "tmx"
“HelpAndManual” por "TMX"
"HELPANDMANUAL" por "TMX"
"Help & Manual" por "TMX"
"Help&Manual" por "TMX"

Identifique a etiqueta (ou etiquetas) a nivel de parágrafo para o seu formato de ficheiro. Para saber cales deberían ser as etiquetas, examine un ficheiro de mostra no editor de textos. En TMX, a etiqueta a nivel de parágrafo correspondente a un segmento é «tu».

En TMXDialect.java:

Defina as etiquetas de parágrafo, neste caso cambiando a liña:

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

a

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

Pode borrar a liña:

   defineShortcut("link", "li");

xa que non é relevante para TMX, inda que o novo filtro seguirá funcionando se non o fai.

Pode definir etiquetas fóra de quenda. Estas definen subsegmentos que están presentes fora do segmento que os contén (un bo exemplo son os pés de páxina). Para facer isto para o formato TMX, insira a liña

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

debaixo da liña

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

Se non fai isto, o filtro funcionará de todas formas.

Debaixo destas liñas, tamén pode inserir o código:

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

Isto volverá a visualización dos ficheiros TMX máis clara pero, de novo, non é absolutamente necesario.

En TMXFilter.java:

Cambie a extensión do ficheiro, neste caso a .tmx, cambiando a liña:

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

a:

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

Na carpeta /src/org/omegat, abra o ficheiro Bundle.properties nun editor de texto e busque as liñas

   # HelpAndManualFilter.java
   HELPANDMANUAL_FILTER_NAME=Help & Manual Files

Debaixo destas liñas, insira as liñas

   # TMXFilter.java
   TMX_FILTER_NAME=TMX files

(Se quere executar OmegaT cun idioma da interface de usuario distinto ao inglés, faga o mesmo cambio no ficheiro traducido Bundle.properties pertinente.)

Na carpeta principal do código fonte, abra o ficheiro manifest-template.mf nun editor de textos. Busque as liñas:

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

Debaixo delas, insira as liñas:

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

Compile tal e como se explica na Guía para compilar OmegaT dende o código fonte. Execute a nova versión compilada. Comprobe en Opcións > Filtros de ficheiros que o novo ficheiro está presente. Para comprobar se funciona, pode por un ficheiro TMX no cartafol /source dun proxecto, ou (máis útil) pode empregar a opción Busca de texto > Busca de ficheiros para atopar ficheiros TMX.

Copyright Marc Prior 2008-2011