Howto - Creating a new file filter

OmegaT

HOWTO: Создание нового фильтра

В этом документе HOWTO описывается создание нового фильтра для использования в OmegaT.

Для создания фильтра не требуются навыки программирования на Java или любом другом языке, но необходимо разбираться в компьютерах на уровне выше среднего.

В описании ниже подразумевается, что файл, для которого необходимо написать новый фильтр, имеет формат XML. К примеру, нужно создать для OmegaT версии 1.8.0 update 01 Beta новый фильтр для файлов формата Abiword, взяв за основу существующий фильтр XLIFF.
Откройте на веб-сайте OmegaT страницу загрузки , чтобы загрузить исходный код OmegaT. Распакуйте архив в нужный каталог.

1. Загрузить и установить программу Apache Ant.

Программа Apache Ant понадобится для компиляции изменённого исходного кода. Для этой цели можно также воспользоваться пакетом Java Development Kit (JDK), но Ant является, наверное, самый простым в использовании инструментом. Загрузить его можно на веб-сайте ant.apache.org.

2. Сделать копию существующего фильтра.

Выберите существующий фильтр, который послужит основой для нового фильтра. В данном примере выбран фильтр XLIFF. Фильтр находится в каталоге:

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\xliff

Сделайте копию этого каталога с подходящим названием, например как в данном примере:

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters3\xml\abiword

Переименуйте файлы в этом каталоге, например:

XLIFFDialect.java в AbiwordDialect.java
XLIFFFilter.java в AbiwordFilter.java

По очереди откройте в текстовом редакторе файлы AbiwordDialect.java и AbiwordFilter.java и замените все экземпляры «XLIFF», «xliff» и т.д. на «Abiword», «abiword» и т.д.

3. Определить для формата файла теги уровня параграфа.

Чтобы узнать, на что должны быть похожи теги параграфов, посмотрите в текстовом редакторе на пример файла. Например, в файле Abiword (в данном примере) параграф может выглядеть так:

<p style="Normal">Мама мыла раму. Маму рыла рама. Маму рыла рама. Образец <c props="font-weight:bold">полужирного</c> и <c props="font-style:italic">наклонного</c> текста. Рамой маму смыло.</p>

В данном случае видно, что тегом параграфа в Abiword является структура <p>.

4. Объявить теги параграфов

В файле MyFilterDialect.java в списке тегов уровня параграфа замените существующие теги параграфов на те, которые были определены для нового фильтра:

{
public AbiwordDialect()
{
defineParagraphTags(new String[]
{
"p", // NOI18N
});

defineOutOfTurnTags(new String[]

5. Объявить непереводимые теги

Для работы фильтра, возможно, понадобится объявить непереводимые теги. В Abiword, например, нужно объявить как непереводимый тег <data>:

defineIntactTags(new String[]
{
"data", // NOI18N
});
}
}

6. Добавить фильтр в мастер фильтров.

Откройте в текстовом редакторе файл

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\filters2\master\FilterMaster.java

и найдите ссылки на XLIFF-фильтр. Вставьте соответствующие ссылки на новый фильтр, например:

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));

7. Добавить новый фильтр в файл Bundle.properties

Откройте файл

..\OmegaT_1.8.0_01_Beta_Source\src\org\omegat\Bundle.properties

в текстовом редакторе. Найдите запись для XLIFF-фильтра и добавьте соответствующую запись для нового фильтра:

# XLIFFFilter.java

XLIFF_FILTER_NAME=XLIFF files

# AbiwordFilter.java

ABIWORD_FILTER_NAME=Abiword files

(В данном случае подразумевается, что используется английская версия OmegaT. Для другого языка запись нужно добавить в файл Bundle.properties соответствующей версии программы.)

8. Откомпилировать код.

Откройте окно с командной строкой (консоль, окно с DOS'ом). Перейдите в главный каталог с исходным кодом OmegaT (каталог, в котором находится файл build.xml), например

cd C:\Мои документы\MyOmegat\OmegaT_1.8.0_01_Beta_Source

Находясь в этом каталоге запустите программу Apache Ant, указав полный путь в исполняемому файлу Ant, например:

C:\Program Files\apache-ant-1.7.0-bin\apache-ant-1.7.0\bin\ant

В случае успешной компиляции кода появится сообщение «BUILD SUCCESSFUL» (Собрано без ошибок). В противном случае будут показаны отладочные сообщения, с помощью которых (в лучшем случае) можно будет разобраться, в чём заключается проблема.

9. Запустить OmegaT.

В случае успешной компиляции кода собранная программа OmegaT будет помещена в каталог:

OmegaT_1.8.0_01_Beta_Source\dist

Находясь в окне с командной строкой перейдите в этот каталог, например так::

cd C:\Мои документы\MyOmegat\OmegaT_1.8.0_01_Beta_Source\dist

и запустите OmegaT с помощью команды:

java -jar OmegaT.jar

10. Проверить присутствие фильтра в программе OmegaT.

Чтобы вывести список фильтров OmegaT, выбрите меню Настройки > Файловые фильтры > По умолчанию.

11. Проверить работу нового фильтра.

Создайте новый проект с файлом в нужном формате.

Назад к списку документации
© Marc Prior, 2008