# Файловые фильтры

- Диалоговое окно "Файловые фильтры"
  - Настройки фильтров
  - Диалоговое окно редактирования фильтра
    - Тип исходного файла, шаблон имени файла.
    - Кодировка исходного файла и файла перевода
    - Имя файла перевода
      - Диалоговое окно добавления и редактирования шаблонов

OmegaT обладает системой гибких фильтров и позволяет настроить большинство аспектов их работы. Файловые фильтры - это подпрограммы, которые могут:

- Прочитать документ в каком-либо формате. Например, текстовые файлы.
- Выделить из файла содержимое, подлежащее переводу.
- Автоматизировать изменения имён файлов переводимых документов посредством замены содержимого, подлежащего переводу, собственно переводом.

Большинству пользователей должна подойти настройка фильтров по умолчанию. Если вам нужно её изменить, откройте основной диалог, выбрав Опции → Файловые фильтры... из главного меню.

Внимание! Изменение настроек фильтров при открытом проекте может вызвать потерю данных. Если при открытом проекте вы изменяете настройки фильтров, то вам придётся перезагрузить проект, чтобы изменения вступили в силу.

# Диалоговое окно "Файловые фильтры"

Это окно показывает список доступных файловых фильтров. Если вы не хотите, чтобы OmegaT переводила файлы определённого типа, вы можете отключить фильтр, убрав галочку возле его названия. После этого OmegaT будет пропускать соответствующие файлы при загрузке проектов и скопирует их нетронутыми в каталог с файлами перевода. Если позже вы снова захотите использовать этот фильтр, поставьте галочку обратно.

Щёлкните на По умолчанию, чтобы сбросить настройки фильтров к стандартным.

Чтобы настроить, какие файлы и в каких кодировках будет обрабатывать фильтр, выберите фильтр из списка и нажмите на Правка.

## Настройки фильтров

У трёх фильтров есть специфические настройки. Чтобы изменить их, выберите фильтр из списка и щёлкните на Опции. Эти настройки таковы:

- Текстовые файлы
  Сегментирование по абзацам на разрывах строк, пустых строках или никогда
    Если включено сегментирование по словам, то далее текст будет сегментирован по доступным правилам.
- XHTML-файлы
  Перевод атрибутов
    Выбранные атрибуты будут показаны в окне редактирования как сегменты.
  Абзац на <br>
    HTML-тэг <br> будет порождать абзац при сегментировании.
- HTML- и XHTML-файлы
  Объявление кодировки
    OmegaT может добавлять или изменять объявление кодировки файла в зависимости от выбранной кодировки файла перевода.
  Перевод атрибутов
    Выбранные атрибуты будут показаны в окне редактирования как сегменты.
  Абзац на <br>
    HTML-тэг <br> будет порождать абзац при сегментировании.

## Диалоговое окно редактирования фильтра

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

Чтобы модифицировать шаблон файлового фильтра, прямо измените поля или щёлкните на Правка.

Чтобы добавить новый шаблон, щёлкните на Добавить.

Одно и то же диалоговое окно используется для добавления и редактирования шаблона. Оно полезно тем, что включает специальный редактор шаблонов имени переведённых файлов, который позволяет настроить имена выводимых файлов.

### Тип исходного файла, шаблон имени файла

Когда OmegaT обнаруживает файл в каталоге с исходными файлами, то пытается выбрать фильтр исходя из расширения файла. Точнее, OmegaT сопоставляет шаблоны имени файла в фильтре с конкретными файлами.

Например, шаблон `*.xhtml` подходит для любого файла с расширением `.xhtml`. Если подходящий фильтр найден, то файл отдается ему для обработки. Так, по умолчанию для обработки файлов с расширением `.xhtml` будет использован фильтр XHTML.

Вы можете изменять и добавлять шаблоны имён файлов, которые будет обрабатывать тот или иной фильтр.

Шаблоны имён исходных файлов используют те же символы шаблонов, что и окно Поиска.

Символ '*' соответствует любому количеству символов. Символ '?' соответствует одному любому символу. Все остальные символы соответствуют сами себе.

Например, если вы хотите, чтобы текстовый фильтр обрабатывал файлы readme (`readme`, `read.me`, и `readme.txt`), вам нужно использовать шаблон `read*`.

### Кодировка исходного файла и файла перевода

Лишь немногие форматы файлов обязательно указывают кодировку.

Форматы, которые этого не делают, будут использовать кодировку, которую вы установили для расширения, соответствующего имени данного файла. Например, по умолчанию `.txt`-файлы будут загружены, используя стандартную кодировку вашей операционной системы. Вы можете изменить кодировку для любого шаблона имени исходных файлов.

Кроме того, такие файлы могут быть сохранены в любой кодировке. По умолчанию, кодировка переведённого файла остаётся той же, что у исходного.

Поля кодировки оригинала и перевода используют меню выбора со списком всех поддерживаемых кодировок. <auto> оставляет выбор кодировки за OmegaT. Вот как это происходит:

- OmegaT определяет кодировку исходного файла, используя объявление кодировки, если таковое присутствует (HTML-файлы и файлы, основанные на XML).
- OmegaT настроена на использование особых кодировок для некоторых форматов файлов (например, файлов свойств Java и т.д.).
- Для текстовых файлов OmegaT использует кодировку операционной системы по умолчанию.

### Имя файла перевода

Иногда нужно автоматически переименовывать переведённые файлы, например, добавить после имени файла код языка.

Шаблоны имён файлов вывода используют особый синтаксис, поэтому если вам нужно редактировать это поле, лучше нажать на Правка... и попасть в диалог редактирования шаблонов. Если нужно вернуться к изначальной конфигурации фильтра, нажмите на По умолчанию.

Кроме того, вы можете изменять имя напрямую в поле шаблона имени файла перевода в диалоге файловых фильтров.

#### Диалоговое окно добавления и редактирования шаблонов

- По умолчанию это будет `${filename}` - полное имя исходного файла с расширением, то есть имя файла вывода совпадает с именем исходного файла.
- `${nameOnly}` позволяет вставить только имя исходного файла без расширения.
- `${extension}` - расширение исходного файла.
- `${targetLocale}` - код локали перевода (в форме "xx_YY").
- `${targetLanguage}` - коды языка перевода и страны перевода вместе (в форме "XX-YY").
- `${targetLanguageCode}` - только код языка перевода ("XX").
- `${targetCountryCode}` - только код страны перевода ("YY").

Надлежащие уведомления