Чем редактировать файл справки

Как отредактировать CHM-файл

Пользовательская документация для приложений, работающих в ОС Windows, чаще всего поставляется в формате CHM как встроенная в программу справка. Технические писатели, технические переводчики, а также другие специалисты, занимающиеся разработкой и локализацией программного обеспечения, нередко сталкиваются с необходимостью внести изменения в CHM-файл. Если есть исходник, это не представляет особых проблем. Если исходника нет, внесение изменений в CHM — непростая, но решаемая задача. Продолжая тему работы с форматом HTML Help (CHM), я расскажу о том, как отредактировать CHM-файл, если нет исходника.

Кому и когда это может понадобиться

Представьте себе такую ситуацию: выходя на новое место работы, вы получаете задачу обновить пользовательскую документацию. На первый взгляд, все просто и понятно. Но, как известно, дьявол кроется в деталях. На входе есть CHM-файл, рабочие сборки программы, список закрытых программистами задач в Jira или Redmine и дата, например, дата очередного релиза. Исходника (проект, из которого справка была собрана) нет. Связи с автором нет. Времени на создание проекта справки с нуля тоже нет. Как технический писатель я оказывался в подобном положении, и не один раз.

У технических переводчиков также порой возникает необходимость отредактировать CHM-файл. Иногда в переведенном на русский язык файле справки остается несколько абзацев или несколько рисунков с текстом на английском языке. Иногда на языке оригинала выводится текст всплывающих подсказок или название раздела в содержании. И вроде бы перевести пару строк текста – минутное дело. А вот как вставить текст и рисунки в CHM-файл, если все нужно сдать сегодня к концу дня?

Похоже, что тема редактирования CHM стала тем «хорошо забытым старым», что сегодня, зимой 2019 года, является тем «новым». Действительно, обзоры инструментов для работы с форматом CHM, датированные 1990ми-2000ми годами, частично утратили свою актуальность. Часть программ, о которых в них идет речь, уже не существует. Поэтому давайте рассмотрим два основных способа редактирования справки в формате HTML Help (CHM). Первый способ предполагает использование бесплатного программного обеспечения, второй — профессионального платного.

Пример

Разберем оба способа на конкретном примере: возьмем файл api.chm. Это часть справки, встроенной в HTML Help Workshop. После установки данной программы этот файл вы найдете в папке: C:\Windows\Help. Дополним текст в разделе About pop-up WindowsOverview / Window Types) текстом на английском языке. Заменим в разделе About the HTML Help ViewerOverview / Window Types) рисунок на рисунок с переводом, вставим текст на русском языке и переведем название раздела в содержании.

Таким образом, на входе есть:

  • Файл справки в формате chm на английском языке.
  • Функционал справки: содержание, указатель, расширенный поиск, избранное.
  • В разделах, которые необходимо отредактировать: текст, 2 ссылки и рисунок с текстовыми выносками и тремя активными областями (по щелчку на экран выводятся всплывающие подсказки с текстом).
Читайте также:  За сколько дней пишется заявление на отпуск очередной оплачиваемый отпуск

Задачи:

  • Вставить в раздел текст на языке оригинала.
  • Заменить рисунок.
  • Заменить текст всплывающих подсказок на русский.
  • Заменить английский текст русским.
  • Перевести заголовок раздела в содержании.

На выходе необходимо получить полнофункциональный файл api.chm с описанными выше изменениями.

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

Источник

Внесение изменений и сборка нового CHM-файла

Перед тем, как приступить непосредственно к редактированию содержимого CHM-файла, подытожим выполненные заранее подготовительные работы. Определившись с бесплатными программами, которые будут использоваться для редактирования CHM, мы декомпилировали оригинальный CHM-файл. Далее мы создали новый исходник (полученные файлы + файл проекта HTML Help Workshop) и научились собирать обновленный CHM-файл с аналогичным функционалом. Во время редактирования мы будем регулярно выполнять сборку обновленного CHM, чтобы оперативно находить и исправлять ошибки.

Приступим непосредственно к редактированию CHM-справки. Начнем с самого простого: добавим текст на английском языке и заменим рисунок.

Замена рисунков в CHM

Чтобы поставить новый рисунок в справку, достаточно просто заменить файл рисунка в папке decompiled на одноименный файл с тем же расширением. В данном случае это файл viewer.gif. Чтобы поставить рисунок с другим именем в другом формате, потребуется отредактировать код .htm-файла. Действуем по принципу: внесли изменения, собрали справку, проверили. Должен получиться следующий результат.

Добавление в CHM текста на английском языке

Чтобы добавить текст на английском языке в раздел About pop-up Windows, сначала необходимо найти файл .htm, соответствующий данному разделу. Для этого:

  1. В окне HTML Help Workshop перейдите на вкладку Contents.
  2. Выделите раздел About pop-up Windows и выберите команду Edit selection слева на панели инструментов. Будет открыто окно Table of Contents Entry. Имя файла будет указано в поле Files/URLs and their information types. В данном случае это файл wintypes_popup.htm.

  1. Найдите файл wintypes_popup.htm в Проводнике и откройте его в Notepad++.

Данный файл можно также открыть в редакторе, встроенном в HTML Help Workshop, воспользовавшись командой View HTML source. Работать с текстом здесь будет менее удобно (как в Блокноте).

  1. В окне Notepad++ отредактируйте существующий текст или добавьте новый. На данном этапе потребуются базовые знания HTML. В Notepad++ весь код (теги, атрибуты и их значения) выделен цветом, что значительно упрощает работу. Вот несколько примеров вставки текста:

  1. Сохраните внесенные изменения.
  2. Пересоберите справку и проверьте результат.

Добавление в CHM текста на русском языке

Перед вставкой в справку текста на русском языке необходимо проверить кодировку страниц. Если вы работаете с переведенным CHM-файлом, в разделах которого уже есть корректно отображающийся русский текст, кодировка страниц должна быть правильной — Windows-1251. В этом случае английский текст можно просто поменять на русский, либо добавить русский текст, как было описано выше.

В примере с файлом api.chm перед вставкой текста на русском языке потребуется выполнить несколько дополнительных действий. Если вы обратили внимание, на приведенных выше скриншотах в правом нижнем углу окна Notepad++ указана кодировка Windows-1252. Она предназначена для большинства западноевропейских языков. Если вы вставите русский текст на страницу с такой кодировкой, то получится следующий результат.

Чтобы русский текст корректно отображался, необходимо подправить кодировку в мета-теге блока , а затем выбрать кодировку Windows-1251 для ввода кириллических символов. Если все сделать правильно, русский текст будет корректно отображаться как в английских, так и в русифицированных версиях ОС Windows, от Windows XP до Windows 10. Латиница будет корректно отображаться в любом случае.

Читайте также:  Где можно написать доверенность на автомобиль

Чтобы поменять кодировку:

  1. Откройте файл, в который необходимо вставить текст на русском языке, в Notepad++.
  2. Подправьте кодировку в разделе head (в данном случае в строке 4).
  3. В строке меню выберите Кодировки / Кодировки / Кириллица / Windows-1251. После этого в правом нижнем углу окна будет отображаться кодировка Windows-1251.

  1. Сохраните внесенные изменения.

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

Редактирование раздела в CHM справке

Теперь несколько слов о редактировании раздела About the HTML Help ViewerOverview / Window Types). Весь текст, который выводится на экран, есть в коде .htm-страницы, файл wintypes_viewer.htm. Текст всплывающих подсказок задан в атрибуте alt тега img, в атрибутах title тегов area, а также в JavaScript в нижней части страницы. Другие .htm-страницы организованы аналогичным образом. Открывающие и закрывающие теги абзаца иногда опущены.

Редактируя тексты в html-коде, важно соблюдать принятые синтаксические правила. Если вы не сильны в HTML и JavaScript, просто не трогайте символы слева и справа от текстов. В данном примере — это двойные кавычки и теги. На рисунках ниже текст, который нужно заменить при переводе на русский, выделен цветом.

Порядок работы аналогичен описанному выше:

  • с латиницей работаем в текущей кодировке;
  • перед вставкой кириллицы проверяем кодировку, при необходимости меняем ее на Windows-1251, подправляем кодировку в head и вставляем кириллицу.
  • Сохраняем изменения, собираем справку и проверяем полученный результат.

На данном этапе работы должно получиться примерно следующее.

Редактирование содержания CHM-справки

Из задач, обозначенных в первом материале Как отредактировать CHM-файл, осталось перевести название раздела About the HTML Help Viewer в содержании справки. Содержание CHM-документа находится в файле с расширением HHC, в данном случае, api.hhc. Это обычный текстовый файл, размеченный тегами HTML. В нем в иерархическом порядке приведены названия разделов в содержании и имена соответствующих им HTM-файлов. Если данный файл открыть в Notepad++, он будет выглядеть следующим образом.

В нашем случае кодировка файла распознается как ANSI. Строго говоря, это набор кодовых страниц, в который среди прочих входят Windows-1252 и Windows-1251. Если бы мы открыли содержание русифицированного, либо созданного на русском языке CHM-файла, кодировка бы распозналась как Windows-1251.

Если следовать логике редактирования раздела, описанной выше, для перевода названия раздела в содержании следовало бы сначала изменить кодировку файла HHC на Windows-1251, затем заменить название раздела на «О средстве просмотра HTML Help», сохранить изменения и собрать CHM для проверки. Если данная операция выполняется один раз, все будет работать.

Но до первого сохранения файла HHC программой HTML Help Workshop. Даже если вы редактировали название другого раздела в содержании, после сохранения файла все кириллические символы будут перекодированы в специальные символы HTML (мнемоники). Преобразовать их обратно в кириллицу без старого доброго Штирлица сможет только HTML Help Workshop. После такого преобразования работать с содержанием в Notepad++ будет, мягко говоря, сложно.

Читайте также:  Хочу уволиться каким числом писать заявление на увольнение

Поэтому я расскажу, как отредактировать содержание CHM-справки в HTML Help Workshop.

Редактирование содержания CHM в HTML Help Workshop

  1. Запустите HTML Help Workshop.
  2. Откройте файл проекта new_prj.hhp.
  3. Проверьте, чтобы в свойствах проекта был выбран русский язык.

  1. Перейдите на вкладку Contents.
  2. В структуре выделите название раздела, которое необходимо отредактировать.
  3. Слева на панели инструментов выберите команду Edit Selection.
  4. В поле Entry Title введите новое название раздела на английском или русском языке.

  1. Нажмите на кнопку ОК. Название в структуре содержания изменится на новое.

  1. Сохраните внесенные изменения.
  2. Соберите справку и проверьте ее. Должны получиться следующие результаты.

На этом все задачи, поставленные в материале Как отредактировать CHM-файл, можно считать выполненными. Проверьте получившийся CHM-файл: все ли разделы открываются, все ли ссылки работают, все ли рисунки соответствуют оригиналу.

Выводы

Ознакомившись на практике с бесплатными программами, которые были использованы для редактирования CHM-файла, каждый сделает выводы. И у каждого они будут индивидуальными. Поделюсь своими. Из достоинств представленного метода (редактирование CHM при помощи бесплатного ПО) неоспоримо только одно: бесплатность. Основные недостатки, на мой взгляд, следующие:

  • Не дружественный интерфейс пользователя. Во время работы с HTML Help Workshop приходится продираться сквозь дебри пользовательского интерфейса, созданного за 20 лет до того, как UI и UX дизайну стало уделяться больше внимания. С другой стороны, со временем к интерфейсу можно привыкнуть.
  • Высокая трудоемкость разработки справки. Все работы по разработке справки выполнить только в HTML Help Workshop невозможно (например, проработать исключительно структуру). Отсюда необходимость использования дополнительных программ. Следовательно, одну и ту же работу приходится делать по 2-3 раза (например: создать структуру в FreeMind, создать вручную HTM-файлы разделов, создать вручную содержание в HTML Help Workshop, привязать вручную HTM-файлы к названиям разделов и т.д.).
  • Очень высокая трудоемкость редактирования справки. Обновить серьезный проект (от 1000 разделов, от 700 рисунков) в HTML Help Workshop просто не реально. Трудоемкость редактирования будет превышать трудоемкость разработки первой версии.
  • Большое количество тонкостей. Нюансы работы, о которых я рассказал в данной серии статей, это только вершина айсберга. Например: в созданных из HTML Help Workshop HTM-файлах не прописывается кодировка, что важно при работе с русским языком. Значит нужно либо каждый раз прописывать кодировку руками, либо использовать еще одну программу или шаблон. Продолжать можно до бесконечности… С другой стороны, нюансов много в любой сфере.
  • Неэффективная разработка контента. Писать текст с иллюстрациями, ключевыми словами и перекрестными ссылками в HTML-разметке не только неудобно, но и нерационально. Для этого эффективнее использовать визуальный редактор с системой проверки правописания. Это подтверждается рядом научных работ. Так, по результатам исследования, проведенного под эгидой Университета Гиссена (Германия), опубликованного в 2014 году, эксперты по использованию LaTeX показали меньшую производительность, чем неопытные пользователи MS Word. Пользователи LaTeX набирали текст медленнее, делали больше опечаток, орфографических и грамматических ошибок, а также ошибок форматирования. Данный пункт неплохо бы взять на заметку менеджерам, принимающим решение в пользу выбора того или иного платного или бесплатного инструмента для технического писателя.

Источник

Поделиться с друзьями
МальтаВиста