Один файл XML импортируется как структурированный текст, а другой превращается в набор сегментов, который неудобно переводить и проверять. Разница часто не в самом memoQ, а в том, какие преобразования и настройки импорта проект применил до начала работы.
Шаблоны проектов memoQ помогают заранее описать повторяющийся процесс: какой фильтр выбрать для файла, какой сценарий запустить до импорта и какие автоматические действия выполнить после него. Но шаблон не исправит любой источник сам по себе. Для пользовательского преобразования нужна отдельная программа, а неверная настройка фильтра может одинаково испортить импорт во всех новых проектах, созданных из шаблона.
В этой статье разберём, как связаны предварительная обработка, фильтры и автоматические действия, где проходит граница между возможностями memoQ и пользовательским скриптом и как проверять настройки до запуска проекта.
Что шаблон проекта memoQ задаёт до импорта¶
Шаблон проекта memoQ - это набор настроек, команд и сценариев для повторяемого создания проектов. Шаблоны можно использовать для локальных и онлайн-проектов, а для онлайн-проектов шаблон создают и редактируют на сервере; для его использования на memoQ TMS нужны соответствующие права. Документация memoQ о шаблонах проектов описывает шаблон как конфигурацию, из которой создаются проекты.
Это отличие важно: шаблон не является отдельным фильтром, который автоматически меняет каждый файл на компьютере. Он задаёт правила, которыми воспользуются проекты, созданные на его основе. Изменение шаблона влияет на новые проекты, а не на уже существующие. Поэтому поправка в шаблоне не обновит настройки импорта старого проекта задним числом.
В настройках шаблона могут находиться, например:
- конфигурации фильтров для разных расширений и масок файлов;
- правила выбора конфигурации импорта XML;
- параметры обработки встроенных изображений и объектов;
- сценарии предварительной обработки перед импортом и постобработки после экспорта;
- автоматические действия, запускаемые после импорта документов или на других этапах проекта.
Импорт в memoQ начинается не с перевода, а с чтения исходного файла через конфигурацию фильтра. Фильтр извлекает переводимый текст и сохраняет форматирование и прочее непереводимое содержимое в каркасе документа. Поэтому неподходящий фильтр может повлиять не только на то, какие слова попадут в сегменты, но и на то, как memoQ восстановит документ при экспорте. Описание настроек импорта документов подчёркивает, что параметры зависят от типа документа.
Как пишет memoQ в документации о сценариях преобразования: “Some documents must be transformed before you can import them into memoQ. This is done in project templates, through scripting.” Перевод: «Некоторые документы нужно преобразовать, прежде чем импортировать в memoQ. Для этого в шаблонах проектов используются сценарии».
Практический смысл этой формулировки простой: сначала определите, что именно мешает корректно прочитать исходник, и только потом выбирайте инструмент. Если проблема в выборе конфигурации XML, обычно нужно настроить фильтр. Если файл нужно преобразовать по особым правилам, может понадобиться внешний сценарий. Если memoQ уже правильно извлекает текст, а рутинное действие требуется после импорта, подойдёт автоматическое действие шаблона.
Форматы, которые memoQ умеет импортировать, обрабатываются через фильтры. В актуальной документации перечислены, среди прочего, DOCX, XLSX, PPTX, PDF, IDML, HTML, JSON, Markdown, XML, YAML, XLIFF и PO; перечень может меняться с выпусками программы, поэтому сверяйте его с текущей документацией по поддерживаемым форматам.
Подводный камень здесь - считать, что поддержка расширения гарантирует правильный результат для любого файла с таким расширением. Документ может содержать нестандартную структуру, разметку или встроенные объекты. Фильтр определяет способ чтения, а не качество исходных данных; шаблон помогает повторить выбранные настройки, но не заменяет проверку импорта.
Как проходит предварительная обработка перед импортом¶
Предварительная обработка - это запуск программы, которая меняет исходный документ до того, как memoQ импортирует его для перевода. В документации memoQ описан такой поток: программа получает исходный файл, создаёт преобразованную версию, memoQ импортирует её, переводчик работает с преобразованным содержимым, а после экспорта другая программа может восстановить исходный формат. Схема сценариев импорта и экспорта memoQ показывает этот цикл.
В виде последовательности процесс выглядит так:
- В проект добавляют исходный документ.
- Настроенная в шаблоне программа предварительной обработки создаёт преобразованную копию.
- memoQ импортирует преобразованную копию с подходящей конфигурацией фильтра.
- Переводчик работает с извлечённым текстом и сохранённой структурой.
- memoQ экспортирует переведённый преобразованный файл.
- Если процесс требует восстановления исходного вида, программа постобработки создаёт итоговый файл в нужном формате.
Ключевой момент - memoQ отвечает за запуск программы в заданном потоке, но не создаёт за пользователя код нужного преобразования. В документации сказано: “You need to write or acquire the program: memoQ doesn’t come with programs that make the necessary changes to documents or to the project.” Перевод: «Программу нужно написать или получить отдельно: memoQ не поставляется с программами, которые вносят необходимые изменения в документы или проект». Источник цитаты - справка memoQ.
Из этого следует важное разделение ответственности. Шаблон определяет, когда запускать программу и как встроить её в проектный поток. Пользовательская программа определяет, какие именно правки внести в документ. Фильтр определяет, как memoQ прочитает результат. Если эти три части не согласованы, автоматизация может запускаться без ошибки, но переводчик получит неподходящее содержимое.
Например, преобразование может быть нужно, чтобы подготовить текст к обработке или поменять структуру файла на ту, которую корректно понимает выбранный фильтр. Но не следует начинать с написания кода «на всякий случай». Сначала сравните импорт исходника с ожидаемым результатом и выясните, какое именно правило нарушается: не извлекается нужный текст, в сегменты попадает служебная разметка, теряются элементы структуры или экспорт не сохраняет требуемый формат.
Для простых изменений текстовых документов документация указывает на встроенный инструмент Find and Replace как на один из вариантов подготовки или финальной правки. Встроенная функция может закрыть задачу, если нужна предсказуемая замена текста. Если же требуется преобразование структуры документа, особая логика для нескольких типов файлов или восстановление формата после экспорта, понадобится другой механизм. Описание сценариев и Find and Replace не обещает, что встроенный инструмент заменит произвольную программу.
Подводный камень - путать предварительную обработку с самим импортом. Скрипт может подготовить файл, но фильтр всё равно должен корректно прочитать полученный результат. Если программа преобразовала исходник в новый формат или изменила структуру, проверьте, какое правило фильтра выберет memoQ именно для выходного файла, а не для первоначального.
Как фильтры шаблона выбирают настройки импорта¶
Конфигурации фильтров в шаблоне связывают расширения файлов или маски имён с конкретными настройками импорта. В документации memoQ приведены шаблоны вроде *.json и варианты масок с указанием папки. Порядок правил имеет значение: memoQ останавливается на первом подходящем фильтре. Справка по фильтрам шаблона описывает это сопоставление.
Механизм можно представить как список условий сверху вниз. Для каждого файла memoQ проверяет правила и применяет конфигурацию первого совпадения. Если широкая маска стоит выше более точной, широкое правило может перехватить файл раньше, чем memoQ дойдёт до нужной специальной настройки.
При проектировании списка фильтров сначала перечислите типы файлов, которые встречаются в процессе, затем определите для каждого подходящую конфигурацию импорта. После этого проверьте маски и их порядок. Имена и папки в этих правилах должны соответствовать реальному расположению файлов, поступающих в проект. Не рассчитывайте, что название расширения само по себе сообщает memoQ, какие элементы документа переводить.
Если в шаблоне не указаны конфигурации фильтров, проекты, созданные из него, используют настройки фильтров по умолчанию. Отсутствие правила, следовательно, не означает, что импорт остановится. Оно означает, что решение будет принято на основе настроек по умолчанию, которые могут не подходить для конкретного типа документа. Документация о настройках шаблона описывает это поведение.
Для XML шаблон может использовать конфигурацию Auto-picked XML. Эта настройка позволяет memoQ выбрать подходящую конфигурацию импорта XML с учётом сведений о типе документа. Такой выбор полезен, когда обработка XML зависит от его типа, но автоматический подбор не отменяет проверки результата: после импорта убедитесь, что в сегменты попали нужные текстовые узлы, а служебные элементы не стали переводимым текстом.
Настройки шаблона могут также определять, нужно ли импортировать встроенные изображения и встроенные объекты для конкретной конфигурации фильтра. Если такие элементы участвуют в локализации или проверке контекста, включение или исключение может изменить то, что команда видит в проекте. Проверяйте этот параметр на реальном файле: название настройки само по себе не показывает, насколько важны встроенные объекты именно в вашем документе.
В проектах, связанных с контент-коннекторами, конфигурации фильтров из шаблона имеют приоритет над конфигурациями, пришедшими от контент-коннектора. Это значит, что шаблон способен изменить способ импорта связанного содержимого. Перед распространением обновлённого шаблона проверьте, не перекрывает ли его правило ожидаемые настройки коннектора. Справка memoQ о приоритетах настроек шаблона.
Чтобы увидеть, что именно получит переводчик, не ограничивайтесь проверкой имени фильтра. Откройте импортированный документ и сопоставьте его с оригиналом: проверьте заголовки, таблицы, повторяющиеся поля, текст в структуре XML и элементы, которые не должны переводиться. Для структурированных форматов полезно заранее определить ожидаемый набор переводимого содержимого и проверить его после импорта.
Как автоматические действия дополняют сценарий¶
Сценарий предварительной обработки меняет файл перед импортом. Автоматическое действие запускает задачу memoQ на заданном событии проекта. Это разные механизмы: внешний сценарий отвечает за преобразование документа, а автоматические действия связывают этапы проектного процесса в нужной последовательности.


Автоматические действия доступны для локальных и онлайн-проектов, но их нужно настроить в шаблоне, а затем создать проект из него. В примере документации memoQ к событию After document import привязаны предварительный перевод, а затем анализ проекта; пример также описывает блокировку совпадений exact (100%) и context (101%). Справка memoQ об автоматических действиях.
Когда к одному событию привязано несколько задач, memoQ выполняет их в указанном списке порядке. Порядок можно изменить в редакторе шаблона. Из-за этого список задач - часть логики процесса, а не просто набор отметок. Если анализ должен учитывать результат предварительного перевода, порядок должен отражать именно такую зависимость.
Документация приводит и другие схемы: X-Translate после повторного импорта документа, затем предварительный перевод и анализ после обновления, а также автоматический экспорт при завершении проекта или рабочего процесса - в зависимости от типа проекта. Описание примеров автоматизации.
При настройке разделяйте три вопроса:
- Что меняет внешний файл? Ответ относится к предварительной обработке или постобработке.
- Как memoQ читает файл? Ответ относится к конфигурации фильтра.
- Какое действие memoQ выполняет после события? Ответ относится к автоматизированным действиям.
Смешение этих вопросов затрудняет диагностику. Если программа не создала ожидаемый преобразованный файл, проверяйте сценарий. Если файл создан, но текст извлечён неверно, проверяйте фильтр. Если импорт прошёл корректно, но следующий этап не запустился в нужном порядке, проверяйте автоматические действия и порядок задач.
Одна возможность решает задачу перевода самого документа, а не настройки memoQ: когда исходник нужно перевести с сохранением таблиц, заголовков и расположения элементов, ChatsControl принимает DOCX или PDF и возвращает перевод в Word с сохранённым форматированием. Такой подход не заменяет CAT-систему, память переводов или автоматизацию шаблона; он может быть уместен, если для конкретной задачи нужен форматированный перевод документа, а не проектный поток memoQ.
Подводный камень автоматизации - ожидать, что запуск задачи подтверждает правильность результата. Сам факт успешного выполнения действия не доказывает, что фильтр извлёк нужный текст или что экспорт восстановил структуру исходника. Проверяйте итоговый файл, а не только состояние автоматического действия.
Когда сценарий нужен, а когда достаточно настроек¶
Не всякая подготовка файла требует пользовательского кода. Перед разработкой сценария определите, где именно возникает проблема, и выберите минимальный механизм, который её устраняет.
| Задача | Что проверить или использовать | Что важно помнить |
|---|---|---|
| Для типа файла выбрана не та конфигурация | Правила фильтров в шаблоне | Порядок правил важен: срабатывает первое совпадение |
| XML читается не подходящим способом | Конфигурацию XML, включая Auto-picked XML | После импорта нужно проверить извлечённые узлы |
| Нужно выполнить простую замену текста | Встроенный Find and Replace | Инструмент подходит для подготовки или доводки текста, а не произвольного преобразования структуры |
| Исходник требует индивидуального изменения до импорта | Сценарий предварительной обработки и отдельную программу | memoQ не поставляет программу для пользовательского преобразования |
| После перевода нужно вернуть исходный формат | Сценарий постобработки после экспорта | Предварительная обработка сама по себе не означает, что постобработка обязательна |
| После импорта нужно запустить задачи memoQ | Автоматические действия шаблона | Несколько задач выполняются в заданном порядке |
Предварительная обработка уместна, если документ нужно систематически преобразовывать до чтения фильтром: например, изменение требуется каждый раз при поступлении файлов этого типа. Перед настройкой убедитесь, что проблема не решается конфигурацией импорта. Сценарий, который обходится без необходимости, добавляет отдельную программу и ещё одну точку, где может нарушиться поток.
Постобработка нужна не по умолчанию, а когда результат экспорта нужно преобразовать обратно или восстановить исходную структуру. Если memoQ может экспортировать переведённый файл в требуемом виде без дополнительного шага, постобработка может быть не нужна. Если же предварительная программа создала промежуточный формат, заранее продумайте обратный путь и проверьте, что данные, которые должны пережить перевод, сохраняются в нём.
Для решения используйте проверку на копии реального исходника:
- Зафиксируйте, что именно ожидается на выходе: переводимый текст, структура и формат.
- Импортируйте исходник без дополнительных изменений и найдите расхождение.
- Проверьте, можно ли устранить его конфигурацией фильтра.
- Если нужно изменить сам файл, уточните, подходит ли встроенная текстовая замена или нужна отдельная программа.
- Проверьте экспорт и решите, требуется ли восстановление исходного вида.
- Проверьте последовательность автоматических действий на проекте, созданном из шаблона.
Экспертная статья о создании пользовательского инструмента предварительной обработки для memoQ описывает, что интерфейс передаёт сценариям полные пути входного и выходного файлов через {InputFilePath} и {OutputFilePath}. Автор также пишет: “The files are always processed one at a time in the automation, even if you are importing many files together.” Перевод: «При автоматизации файлы всегда обрабатываются по одному, даже если вы импортируете несколько файлов вместе». Это описание практикующего автора, а не универсальная гарантия для всех версий, поэтому детали нужно проверять в используемой версии memoQ.
Такой нюанс влияет на проектирование программы. Если вы рассчитываете на совместную обработку группы документов, не предполагайте, что сценарий увидит их все за один запуск. Проверьте, какие пути получает программа и как она обрабатывает отдельный файл. Тестируйте сценарий именно на том способе импорта, которым пользуется команда.
Ошибки настройки и безопасность¶
Ошибки подготовки обычно проявляются не как явное сообщение «шаблон настроен неверно», а как неожиданный результат импорта или экспорта. Поэтому проверяйте цепочку целиком: выбор правила, создание преобразованного файла, чтение фильтром, перевод и экспорт.
Чаще всего стоит проверить следующие места:
- Слишком широкое правило фильтра стоит выше точного. MemoQ остановится на первом совпадении, поэтому более узкая конфигурация может не примениться.
- В шаблоне нет нужной конфигурации. При отсутствии заданных фильтров memoQ использует конфигурации по умолчанию, которые могут не подходить для отдельных текстовых или XML-документов.
- Тестировали только оригинал, а не результат сценария. После предварительной обработки измениться могут формат, имя или структура файла; правило должно подходить фактическому выходу программы.
- Ожидали изменить уже созданный проект обновлением шаблона. Изменения шаблона распространяются на новые проекты, а существующий проект требует отдельной проверки и исправления.
- Не проверили встроенные объекты. Настройка фильтра определяет, импортируются ли встроенные изображения и объекты; нужные элементы могут оказаться за пределами рабочего представления.
- Считали запуск программы доказательством корректного импорта. Успешный запуск сценария не подтверждает, что переводчик получил правильный текст или что итоговый файл восстановил нужную структуру.
При работе с онлайн-проектами добавляется вопрос безопасности. В memoQ TMS выполнение пользовательского кода по умолчанию выключено и должно быть включено администратором. Документация прямо предупреждает, что разрешение сценариев создаёт риск, и рекомендует не разрешать запуск программ, если они не нужны. Настройка выполнения пользовательского кода в memoQ TMS.
“Custom code execution is disabled by default, for a good reason: you must not allow a service to run scripts when you do not need those scripts.” Перевод: «Выполнение пользовательского кода по умолчанию отключено не просто так: не следует разрешать службе запускать сценарии, если они вам не нужны». Источник - документация memoQ TMS.
Для запуска пользовательских программ документация описывает виртуальную сервисную учётную запись и отдельно предостерегает от использования встроенной учётной записи. Настройка может ограничивать типы запускаемых файлов пакетными файлами, CMD и PowerShell вместо EXE; в документации такое ограничение описано как способ снизить уязвимость. Администратору также доступна настройка времени выполнения: значение по умолчанию в документации составляет 300 секунд (пять минут), и его можно изменить в Deployment tool. Эти параметры относятся к текущей документации memoQ TMS и могут измениться; проверяйте актуальные инструкции перед настройкой сервера. Документация по настройке пользовательского кода.
На практике это означает, что нельзя копировать сценарий из рабочей станции в серверную среду без проверки прав и последствий. Программа должна иметь только те возможности, которые нужны процессу, а её запуск должен быть разрешён только там, где он действительно необходим. Если сценарий не нужен для онлайн-проектов, не включайте пользовательский код на TMS только ради удобства.
Перед сохранением шаблона проверьте его настройки целиком. Документация memoQ рекомендует просмотреть полный обзор параметров шаблона перед сохранением. Затем создайте новый проект именно из обновлённого шаблона и пройдите тестовый импорт до экспорта: старые проекты не подхватят новую конфигурацию автоматически.
FAQ¶
Как автоматизировать подготовку файла перед импортом в memoQ?¶
Настройте предварительную обработку в шаблоне проекта и укажите программу, которая создаёт преобразованную версию документа. Затем назначьте конфигурацию фильтра, подходящую для полученного файла, и проверьте полный цикл на новом проекте. Справка memoQ по сценариям преобразования.
Может ли memoQ запустить скрипт до импорта документа?¶
Да, шаблон проекта может запускать программу предварительной обработки до импорта преобразованного файла. MemoQ не поставляет программу для произвольного преобразования документов, поэтому её нужно написать или получить отдельно. Документация memoQ о сценариях.
Как фильтры шаблона управляют импортом документов?¶
Фильтры связывают расширения файлов или маски с конфигурациями импорта. MemoQ проверяет правила по порядку и использует первое совпадение, поэтому точные правила не следует ставить после подходящей широкой маски. Справка memoQ по настройкам шаблона.
Нужно ли выполнять постобработку после предварительной обработки?¶
Нет, постобработка нужна не во всех случаях. Она требуется, когда переведённый экспорт нужно преобразовать обратно или восстановить исходный формат; сначала проверьте, способен ли обычный экспорт memoQ выдать нужный результат. Документация memoQ о сценариях импорта и экспорта.
Можно ли изменить настройки импорта при создании проекта из шаблона?¶
Мастер создания проекта импортирует документы с настройками, уже заданными в шаблоне, и не предлагает изменить параметры импорта на этом этапе. Если документ импортирован неверно, его можно импортировать повторно после создания проекта, выбрав другие настройки. Справка memoQ о создании проекта из шаблона.