- PVSM.RU - https://www.pvsm.ru -

Как переводить документ в Word и не париться с форматированием? Как не переводить одно и то же? Как сохранять единообразие? Как не покупать дорогие программы? Как работать эффективно и быстро?
Если вы знакомы с Trados, MemoQ или CrowdIn, переходите сразу к инструкции по установке. Если же это новые для вас слова — добро пожаловать в прекрасный мир Computer Aided Translation.
Google Translate — машинный перевод, компьютер переводит за вас. CAT — принцип работы, когда компьютер только помогает в работе, автоматизируя рутинные процессы.
CAT-программы разделяют исходный текст на сегменты — строки, предложения, параграфы или абзацы. Человек переводит сегмент один за другим, а перевод сохраняется в специальную базу данных — память перевода (translation memory, TM). Если переводчику встретится похожий сегмент, программа покажет подсказку или возможный перевод. А одинаковые сегменты программа может переводить сама.
Особенно хорошо CAT помогает в переводе инструкций, юридических документов, интерфейсов программ — там, где похожие формулировки встречаются очень часто. В художественном переводе помощь будет не так очевидна, но об этом позже.
Чем больше текстов по схожей тематике вы переводите, тем больше накапливается переводов в базе данных, чаще появляются подсказки. За годы может накопиться такая база, что в новом документе половина перевода будет готова «сама по себе».
Когда перевод закончен, программа создаёт документ, идентичный оригиналу — сохраняя структуру и форматирование, но заменяя исходный текст на ваш перевод.
CAT-программы не изменяют исходный документ, поэтому необратимо испортить документ невозможно. На выходе будет полностью переведённый файл.
Разные. Trados [19], MemoQ [20] — дорогие корпоративные комплексы, устанавливаются на компьютер. CrowdIn [21], Tolmach [22] и другие — работают прямо в браузере. Как правило, всё стоит денег, либо есть ограничения по объёму проектов.
Но не всё так плохо: я уже лет восемь [23] пользуюсь OmegaT [24], бесплатной программой с открытым исходным кодом, которая работает на Windows, Mac и Linux-системах и постоянно совершенствуется сообществом. Работаю в ней с китайским, английским и русским языками.
OmegaT
www.omegat.org [24]
Freeware (GPLv3), open source
Windows, macOS, Linux
Умеет всё, что описано в первой главе — помогать переводчику в работе, и разные другие мелочи.
Форматы файлов
Языки
Любые. Практически всё, что есть в Unicode.
Для редких языков может понадобиться корректировка правил сегментирования, но всё решается.
Я не буду пересказывать инструкцию [25]. Она полная и содержательная, и ознакомиться с ней очень важно. Дальше будут лишь основные операции с программой, которые помогут начать работу.
Скачайте дистрибутив с сайта omegat.org [26]. Я буду использовать англоязычную версию 4.1.1 ветки Latest для Windows. Для запуска требуется Java. Если не уверены, есть ли она у вас, качайте версию с пометкой JRE. Не пугайтесь надписи Beta, программа работает более чем стабильно.
После установки программа готова к работе, но по-умолчанию не хватает проверки орфографии.

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


Внутри папки проекта есть несколько под-директорий:
а так же файл omegat.project с конфигурацией текущего проекта.
Создав проект, вы увидите такое окно:

Нажмите Copy Files to Source Folder и выберите файлы, которые вы хотите перевести.
Файлы будут скопированы в папку source только что созданного проекта. Вы можете добавить туда файлы вручную. Просто скопируйте файлы в source через проводник.
Для примера я создал два файла — Excel и Word, на которых я буду показывать работу OmegaT.
OmegaT запущена, файлы добавлены. Давайте посмотрим, как они выглядят в программе.
Вот исходный документ в Word. Здесь видны заголовок, абзацы, форматирование (жирный шрифт, ссылки, подчёркивания).

А вот как он выглядит в OmegaT:

Обратите внимание: весь текст разделён на предложения, форматирования не видно, появились какие-то теги серого цвета, а заголовок заголовок дублируется. В чём дело?
Кроме того, в правой части программы есть ещё два сектора: Fuzzy Matches и Glossary (словарь проекта).
Fuzzy Matches (нечёткие совпадения) — результаты поиска по базе данных проекта. Там будут отображаться подсказки по переводу, основанные на ваших предыдущих переводах.
Glossary (словарь проекта) — результат поиска по глоссарию, который вы составляете самостоятельно. В отличие от памяти перевода, это не готовый текст, а лишь подсказки по определённым терминам. Это мощный инструмент, который помогает сохранять единообразие в терминологии.

Повторяйте, пока не закончите документ. В любой момент можно вернуться к предыдущему сегменту, просто дважды щёлкнув на него.
В правом нижнем углу есть удобный индикатор прогресса. Кликните на него, чтобы переключить режим просмотра.
Текущий файл: % сегментов переведено (сегментов осталось) / Проект: % сегментов переведено (сегментов осталось), общее число сегментов.[/caption]
В этой строке указано, что в текущем файле переведено 5,8% уникальных сегментов, осталось перевести ещё 1382. А суммарно в проекте переведено 63% сегментов, осталось 1756, а их общее число в проекте — 5979.
Файл: переведено уникальных сегментов / общее число уникальных сегментов (проект: переведено уникальных сегментов / всего уникальных сегментов, всего сегментов в проекте)[/caption]
Во втором режиме на иллюстрации сказано, что в файле из 1592 уникальных сегментов переведено 146, а в проекте из 4748 уникальных сегментов переведено 2992. Всего сегментов (включая повторы) — 5979.
Цифры 14/14 в конце не относятся к счётчику проекта. Это — индикатор длины сегмента с которым вы работаете. Он говорит, что в оригинале было 14 символов, и в переводе их тоже 14. Эта функция полезна в тех случаях, когда нужно строго соблюдать длину строки, например при переводе интерфейса программ.
Самый главный инструмент любого CAT-приложения, ради этого они и существуют.
Объясню на примере:

В документе-образце первое предложение очень похоже на четвёртое. Я шёл по порядку и перевёл первое предложение. Когда же я дошёл до четвёртого, программа сразу же показала нечёткое совпадение:
Посмотрите внимательно на панель совпадений:

В верхней части отображается текст на исходном языке, который был сохранён в памяти перевода. Синим цветом выделны слова, которые присутствуют в памяти перевода, но отсутствуют в текущем предложении (с которым сравнивается совпадение), зелёным — слова, расположенные рядом с недостающими частями.
Ниже будет перевод, сохранённый в памяти. Если нажать Ctrl+R, то он скопируется в поле для перевода.
Ещё ниже указаны три числа в процентах. Они означают степень совпадения между предложением и памятью перевода. Подробнее о механизме вычислений можно прочитать в справке к OmegaT [27].
Конечно, если механизм Fuzzy Match найдёт 100% совпадение, он может вставить его самостоятельно. Для примера возьмём ещё один файл, на этот раз в Excel. Примерно в таком виде нередко приходит заказ на перевод интерфейса какого-нибудь сайта или программы.

А вот как файл выглядит в OmegaT:

Обратите внимание, что в оригинале было шесть строчек See All. Программа убрала все дубликаты, оставив лишь одну строчку. Достаточно перевести её одну, и остальные сегменты тоже переведутся.
Глоссарий работает очень просто. Сначала вы добавляете в него слова (оригинал и перевод). Теперь, когда слово встретится в тексте, в окошке Glossary сразу же отобразится подсказка.
Таким образом, когда в новом предложении появился какой-то термин, вы сразу будете знать, как именно следует его переводить. Например, если при переводе интерфейса программы всегда нужно писать «Хорошо» вместо «ОК», достаточно добавить в словарь слово «ОК» с переводом «Хорошо». Добавив несколько сотен слов в проект, вы значительно облегчите себе жизнь.
Чтобы добавить слово в глоссарий, выделите его, щёлкните правой кнопкой и выберите Add Glossary Entry.

Кроме того, слова можно добавить массово в файл glossaryglossary.txt в формате «оригинал табуляция перевод» (подойдёт таблица в Excel, сохранённая в формате tab-delimited *.csv)
Пункт Project -> Save означает «сохранение проекта», т.е. запись всех переводов в файл базы данных. А чтобы получить готовый файл, нужно выбрать Project -> Create translated documents.

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

В некоторых ситуациях машинный перевод (такой, как Google Translate) может помочь переводить быстрее. OmegaT можно настроить таким образом, чтобы прямо в её интерфейсе отображался машинный перевод сегмента, который вы можете использовать напрямую или очень быстро редактировать.
В OmegaT можно подключить такие системы, как Google Translate, Microsoft Translator и Яндекс.Переводчик. За первые два придётся платить, а Яндекс.Переводчик предоставляет свои услуги бесплатно (в разумных пределах использования). Сейчас я расскажу, как это сделать.

Добавим ключ в OmegaT:

Закройте настройки. Теперь в основном окне программы можно нажать на вкладку Machine Translations в нижней части окна. Чтобы окошко с машинным переводом всегда оставалось на виду, нажмите на небольшой значок с двумя окошками.

Теперь при переходе к новому сегменту программа сделает запрос к Яндекс.Переводчику, получит ответ и покажет его в окне. Горячей клавишей Ctrl+M можно вставить результат в поле перевода.
Кроме простой проверки орфографии, которую мы настроили ранее, можно проверить более сложные ошибки, от стилистики до пропущенных тегов. Для этого OmegaT использует открытый инструмент Language Tool [29]. Он поставляется в комплекте с OmegaT, то можно установить отдельно, или подключиться к удалённому серверу.
По правому клику можно добавить слово в словарь, либо отключить проверку этого типа ошибок.
Слева в окне Check issues можно выбрать фильтр Tags. Он полезен в переводе документов с большим количеством тегов, сохранить которые очень важно — например, при локализации софта.
Совет: Если нужно сохранить теги любой ценой, OmegaT можно запретить создавать финальные документы при наличии ошибок в тегах. Делается это в Tools -> Preferences -> Tag Processing -> Do not allow creating translated documents with tag issues.
Тонкая настройка Language Tool доступна через Tools -> Preferences -> LanguageTool. Здесь можно выбрать, использовать ли встроенный Language Tool, или подключиться к локальному/удалённому серверу. Ниже можно выбрать тип ошибок, на которые программа будет реагировать, например "Пунктуация" -> "Пропущена запятая перед предлогом «И» в сложном предложении", или "Стиль" -> "Разговорные слова".
Бывает, что нужно посмотреть, что в файле *.tmx, или даже отредактировать его. Структура у файла довольно простая, и в крайнем случае можно обойтись блокнотом, но это не слишком удобно. OmegaT не может сама открыть TMX для редактирования: память перевода можно только добавить в проект, но не открыть её саму по себе.
Для Windows-пользователей подойдёт бесплатная утилита Olifant [30] из пакета Okapi [31], скачать можно здесь [32].

Не вижу смысла писать пошаговую инструкцию к этой программе, всё интуитивно понятно: File -> Open, выбираем память перевода. В верхней части программы оригинал и перевод, в нижней — список всех сегментов.
Через File -> TM Properties можно изменить свойства памяти перевода, такие как языковые пары, кодировку, и прочее.
Допустим, у вас уже есть качественный двуязычный файл, и вы хотите использовать его в проекте как справочный материал. Если файл в формате Excel, где в одном столбце оригинальный текст, а в ячейках напротив — соответствующий перевод, сделать ТМ очень просто.
Существует три способа, которыми я пользуюсь:
Программа, о которой мы говорили в предыдущей главе, может не только открывать готовые TMX, но и создавать новые, а так же объединять несколько *.tmx в одну память.
Установите и запустите Olifant, нажмите File -> New и выберите язык исходника и язык перевода. Теперь добавим в новую память двуязычные сегменты: File -> Import. Можно добавить файлы Wordfast, другие *.tmx или Tab-delimited files — другими словами, текстовый файл, где исходный фрагмент и его перевод разделены табуляцией.
Tab-delimited файл можно создать в MS Excel или Libre Office Calc [37]. Для этого создайте таблицу с двумя столбцами. В первом вставьте исходный текст, в ячейках напротив во втором столбце — перевод.
Сохраните файл в формате Tab-delimited text (в Microsoft Office), либо в Text CSV с параметрами Field delimiter = Tab, Character set = UTF-8 и Text delimiter = *пустой*, если вы используете Libre Office.

Когда импортируете все нужные фрагменты, просто сохраните через File -> Save As в формате TMX.
В отличие от Olifant, источником служит не таблица с двумя столбцами, а два независимых файла с идентичной структурой, но на разных языках. Чем сложнее форматирование и чем больше отличий, тем хуже будет результат автоматического сопоставления, но его можно подправить вручную внутри Aligner.
Запустите OmegaT, откройте Tools -> Align Files. Укажите языки оригинала и перевода, прикрепите файлы.

При необходимости можно убрать теги и изменить параметры сегментации. Нажмите Continue, и вы перейдёте к окну с ручной корректировкой сегментов: можно разбить, объединить или переместить сегменты вверх или вниз.

Когда всё выглядит хорошо, сохраните результат кнопкой Save TMX.
Работает аналогично Olifant, на входе нужно подать Excel-файл с двумя столбцами текста.

Чтобы использовать память перевода в проекте, распакуйте архив и поместите файл в папку проекта, поддиректория tm (для отображения fuzzy matches) либо tmauto (для принудительного использования 100% совпадений).
Внимание!
Существует довольно неприятный баг при создании памяти перевода, где используются особые символы вроде ">", "<" и даже апострофов. TMX представляет из себя структуру XML [38], поэтому спец-символы, используемые в структуре документа, конвертируются в «безопасные» куски текста. Например, апостроф ' превратится в &pos; (амперсанд, pos и точка с запятой).
В некоторых ситуациях это может сильно замусорить память перевода. По правде говоря, решения этой проблемы я пока не нашёл.
Надо же сказать заказчикам, сколько вы возьмёте за перевод!
На самом деле, нет ничего проще. Откройте проект в OmegaT, перейдите в Tools -> Statistics.

Здесь вы найдёте исчерпывающую информацию о том, сколько слов и символов в файлах, как много здесь повторов, сколько уже переведено и сколько осталось перевести, и так далее.
К сожалению, калькулятора стоимости перевода в OmegaT нет, вам придётся посчитать всё самостоятельно.
Бывает, что вы хотите объединить два сегмента в один, или наоборот, заставить конкретный сегмент разделиться на две части. Если проблема встречается с большим количеством сегментов в проекте, то стоит перенастроить правила сегментации. Если же нужно точечно объединить или разделить сегменты, воспользуйтесь специальным скриптом Merge or split segments:

Теперь вы можете объединять или разделять сегменты.
Программа покажет предупреждение с результатом объединения. Можете нажать ОК для объединения, или отменить действие.

Программа покажет предупреждение с результатом разделения. Можете нажать ОК для разделения, или отменить действие.
Скрипт создаёт новое правило сегментации и применяет его к проекту. Скрипт очень далёк от идеала, и работает не всегда, но пока в OmegaT это единственный способ для точечного разделения/объединения сегментов.
Я объединил две заметки из своего уютного бложика в одну огромную простыню про OmegaT. Постарался раскрыть все её основные возможности, которыми сам пользуюсь регулярно. В комментариях обязательно напишите, почему статья стрёмная и в каком хабе ей на самом деле место.
Профессиональные переводчики должны покритиковать мой англо-русский перевод и поучаствовать в опросе по нормальным CAT-программам.
P.S.: кто-нибудь знает, почему движок GT не понимает html-ссылки внутри страницы?
Автор: wtigga
Источник [40]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/255971
Ссылки в тексте:
[1] О переводе с помощью компьютера: #about_cat
[2] Какие бывают CAT-программы?: #dif_cats
[3] Что умеет OmegaT?: #omegat
[4] Установка: #install
[5] Проверка правописания: #spell
[6] Как создать проект: #new_project
[7] Что это за папки?: #folders
[8] Интерфейс: #interface
[9] Как переводить: #translate
[10] Нечёткие совпадения Fuzzy Matches: #fuzzy
[11] Глоссарий: #auto
[12] Как сохранить файлы: #save
[13] Подключаем машинный перевод: #machine
[14] Проверяем на ошибки: #languagetools
[15] Открываем и редактируем TMX: #olifant
[16] Создаём ТМX: #tmx-create
[17] Считаем объём проекта: #statistics
[18] Объединяем и разделяем сегменты: #merge
[19] Trados: https://ru.wikipedia.org/wiki/Trados
[20] MemoQ: https://www.memoq.com/en/
[21] CrowdIn: https://crowdin.com/
[22] Tolmach: https://tolma.ch/
[23] лет восемь: https://blog.wtigga.com/ubuntu-chinese-translator/
[24] OmegaT: http://www.omegat.org
[25] инструкцию: http://omegat.sourceforge.net/manual-standard/
[26] omegat.org: http://www.omegat.org/en/dl_overview.php
[27] в справке к OmegaT: http://omegat.sourceforge.net/manual-standard/en/chapter.user.interface.html#matches.pane
[28] по этой ссылке: https://developer.tech.yandex.ru
[29] Language Tool: https://www.languagetool.org/
[30] Olifant: http://okapi.sourceforge.net/Release/Olifant/Help/tmx.htm
[31] Okapi: http://okapi.sourceforge.net
[32] скачать можно здесь: http://okapi.sourceforge.net/downloads.html
[33] Бесплатная утилита Okapi Olifant: #okapiolifant
[34] Встроенный OmegaT Aligner: #omegataligner
[35] Онлайн-сервис : #translatum
[36] Translatum.gr: http://www.translatum.gr/cgi-bin/excel-to-tmx.pl
[37] Libre Office Calc: http://libreoffice.org
[38] XML: https://www.w3.org/XML/
[39] здесь: https://sourceforge.net/projects/omegat-merge-segments/
[40] Источник: https://geektimes.ru/post/289395/
Нажмите здесь для печати.