Я ждал новой версии OmegaT больше двух месяцев. Мне так не терпелось попробовать ее, потому что в начале октября разработчики OmegaT добавили новую отличную функцию в рабочую ветку (trunk) программы, но большей части пользователей пришлось ждать официального релиза. Эта функция — отражение различий между текстом оригинала частичного совпадения и текстом оригинала текущего сегмента. Сегодняшняя запись посвящена этой новой функции, а также еще одной функции, важной для совместных проектов.
Отражение изменений в тексте оригинала
Не могу причислить себя к фанатам Trados, но в Workbench был реализован прекрасный способ отражения изменений, внесенных в текст нового оригинала в сравнении с текстом частичного совпадения. В OmegaT такого не было — до последней версии 2.6.1_2. Работающие над долгосрочными постоянными проектами переводчики не понаслышке знают о пользе такого сравнения. Если автор делает множество мелких изменений в тексте предыдущего оригинала, то переводчику необходимо четко видеть все добавления или удаления. Если программа не предоставляет переводчику такой возможности, то очень просто такие изменения пропустить и подставить частичное совпадение (фактически старый перевод) без изменений. Зачастую это не критично, но может проскочить и серьезная ошибка.
Что же, нам повезло, что все закончилось. В последней версии все удаления выделяются перечеркнутым шрифтом, а все добавления — синим. Похожий принцип используется в Microsoft Word. Перевод частичных совпадений с высокой степенью похожести уже больше не представляет трудностей. На новый оригинал и смотреть-то уже не обязательно. Достаточно понять, какие изменения внесены и соответственно отразить их в старом переводе. Однако если процент совпадения низок, то работа становится сложнее, поскольку большое количество удалений и добавлений существенно затрудняет понимание сравнения.
Чтобы включить эту функцию, нажмите Options => External TMXs. В поле Match display template добавьте переменную ${diff} так, как она должна отображаться. Например, вот так эта функция настроена у меня:
${fuzzyFlag}${diff}
${targetText}
${id}) <${score}/${noStemScore}/${adjustedScore}% | ${creationId} | ${creationDate} | ${fileShortPath}>
А знаете, что самое примечательное в этой функции? Изначально ее разработал простой пользователь OmegaT, Аарон Мэдлон-Кей (Aaron Madlon-Kay), который и поделился готовым кодом с проектом OmegaT.
Синхронизация переводческого словаря в совместных проектах
Еще одно знаковое улучшение позволило синхронизировать глоссарий в проектах, над которыми одновременно работают несколько переводчиков. До этого синхронизировалась только память переводов. Представьте себе, что над проектом работают двое: штатный и внештатный переводчики. Соответственно, у каждого из них локальная копия глоссария. Если кто-нибудь из них вносит изменения в свой локальный глоссарий, другой их не видит, пока они не обновят локальные копии, обменявшись ими, например, по электронной почте. Это не только неэффективно, но и создает серьезные задержки: между внесением изменений и сообщением о них коллеге-переводчику может пройти долгое время.
Спасибо разработчикам OmegaT: теперь и эта проблема стала историей. Все, что теперь требуется, — положить глоссарий в подпапку glossary совместного проекта, и OmegaT будет синхронизировать его, как файл памяти переводов.
Ну а вам разве не хочется попробовать новые функции? Для тех, кто хочет поработать с OmegaT, но не знает, с чего начать, одним из простейших путей приступить к работе является загрузка настроенной сборки OmegaT с последними версиями плагинов и скриптов.
Согласны ли вы, что это немного странно: некоторые переводчики вообще не создают глоссарий по ходу перевода, а другие настолько уверены в его необходимости, что жаждут получить последнюю версию глоссария немедленно, чтобы ничего не упустить?