Русские префлайт-репорты Heidelberg

Технически поддержка русского языка в Prinect присутствует, так как хитрым способом всё-таки можно выбрать соответствующую локаль и Qualify заговорит по-русски. Но полноценным переводом фразы типа “недостаточный обрез” назвать никак нельзя. Поэтому, собственно, официально русского языка в префлайте нет до сих пор, даже в релизе 2017.

Тем не менее, ничего невозможного нет. Заставим Prinect говорить по-русски!

Просто взять и выбрать русский язык в Qualify-секвенсе невозможно:

Что ж, значит, русский язык придётся прописывать вручную. Все секвенсы Qualify, существующие в системе, находятся по пути PTConfig\SysConfig\Resources\Templates\SequenceTemplates\Qualify. Каждый секвенс — это отдельный XML-файл, в котором последовательно описаны все те шаги, которые вы видите в кокпите, и их параметры. Есть там и атрибут, отвечающий за выбор языка репорта:

По умолчанию там стоит значение “job”, то есть язык репорта должен быть таким же, как язык задания. А вот если заменить его на “RU”, как на скриншоте — всё будет на русском.

Теперь нужно перевести с языка надмозга сами сообщения. “Содержание страницы не использует раскаты краски методом запечатывания”: каково, а? Файл с этим безобразием лежит в системе по адресу C:\Program Files\Heidelberg\Prinect Workflow\Preflighter\Locale и называется Report_RUS.properties.

Кодировка файла — UTF-16, и чтобы спокойно заняться переводом на русский, нужно сначала сконвертировать его. В интернете существует масса декодеров, я воспользовался этим: 2cyr.com, в него можно засунуть файл целиком. В принципе, можно поступить и по-другому: взять оригинальный английский Report_ENU.properties и переводить его.

Однако, получившийся файл Prinect не понравится. Unicode! Чтобы сконвертировать кириллицу обратно в UTF-16, я написал небольшой скрипт на Powershell. Всё, что нужно — только поправить в нём названия обрабатываемых файлов.

Чтобы не мучиться, можно просто взять мой готовый перевод.

Если всё сделано правильно, принектовский Qualify репорт уже должен заговорить по-русски. Но есть одна проблема: при каждом изменении секвенса в кокпите значение атрибута HDM:ReportNaturalLang меняется на значение по умолчанию, “job”! Что делать?

Пришлось написать на том же Powershell небольшой скрипт, следящий за XML секвенсов. Как только файл изменяется — скрипт заменяет “job” на “ru”. Опять же, для его работы нужно поправить пару строчек — имя секвенса и его расположение. Ну и, конечно, неплохо поставить скрипт в автозагрузку.

Кстати, русских отчётов о проверке можно добиться и в PDFToolbox: файл с переводом нужно положить в папку C:\Program Files (x86)\Adobe\версия Акробата\Acrobat\plug_ins\Heidelberg\Locale. В принципе, там же лежат и языковые ресурсы для перевода интерфейса — при желании можно и их перевести. Репорты будут на русском в том случае, если сам Акробат запускается на русском языке.

P.S.: можно переименовать Report_RUS.properties на Report_ENU.properties, тогда и английский Акробат будет говорить на русском. Но это уже как-то грубо. 🙂