Как сделать такую книгу?

Наверняка найдутся разные пути, но у меня путь только один.

Помните, кто-то сказал "я чужие книги не читаю, я пишу свои".

Идея созрела около пол года назад, и первое что я сделал - это программку делающую из текстов на двух языках - HTML файл с соответствующими ссылками.

Задача оказалась не такой уж примитивной. Работа производилась с английскими и русскими текстами (имеется в виду, что метод не заточен только на эту комбинацию, пожалуйста, делайте книгу с финским и казахским :-).

Переводчики не ставят перед собой цель сделать параллельные тексты. Т.е. для обработки текста, надо проделать вычитку (хотя бы по диагонали).

Моя программа может только немного помочь с рутиной.

Сейчас, при работе с этим текстом, пришлось, вернулся к старой работе, немного подправил, но уверен, что в коде осталось масса неувязок... не судите строго, никогда не претендовал на звание "гуру".

В данный файл fb2 внедрен архив с исходником программы (на Delhpi). Речь идет именно о fb2, т.к. при автоматической конвертации в epub архив пропадет. Как извлечь архив из файла, описано в работе "Извлекаем архив из fb2" (http://lib.rus.ec/b/206283).

Для основной массы читателей, создано затруднение, но мне кажется небольшое, наверняка у вас найдется знакомый программист, который поможет вам скомпилировать из исходника программу.

Почему именно исходник? Я совсем не против, если из этого сырого материала, кто-то сделает что-то путное. Самому заниматься просто некогда.



В дальнейшем, там, где говорится "английский" - подразумевается изучаемый язык, и "русский" - язык родной для учащегося, как я уже сказал, это могут быть самые разные комбинации.

И еще, в тесте после: // или в {} - заметки для программиста.


Начнем с создания нового проекта.

В меню File выбираем первый пункт New Project.

Откроется окно выбора английского fb2 файла.

{

в данном исходнике сделано маленькое “обрезание”, удалил обработку архивов.

я пользуюсь компонентом VCLUnZip хотя у меня есть его исходники, но они довольно объемны… Найдите в Нете этот компонент или воспользуйтесь другим…

Пока, в данной версии, в случае архивного файла, последует предложение извлечь файл сторонней программой.

}

После успешного открытия английского, появится запрос на открытие русского файла.

{

в качестве входного и выходного файлов выбираю – fb2 т.к. формат имеет XML структуру, что облегчает дальнейшую работу. Да и формат fb2 заслуженно популярен.

}

На закладках Eng Book, Rus Book и Content появится содержимое книг.

На под-закладке Captions содержимое книги (части, главы и т.п.).



На рисунке уже обработанные данные.

Каждая строчка, это абзац из источника. В начале строки служебная информация – тип строки (заголовок, обычная строка, стихи и т.п.) нужная для последующего формирования файла fb2.


// оформление прилетело из другой моей программы, в принципе можно и переделать…

// да, еще… рисунки из книги удаляются, т.к. она и так будет “тяжелая”.


Удалены несколько строк в английском варианте (контекстным меню – правой кнопкой) эти строки не имели аналога в русском варианте и не имели особого значения.

Ах, не верите, ну вот эти строки:

The first book in the Jack Reacher series.

My agent is Darley Anderson in London; my editor is David Highfill in New York.

An ocean apart, they worked hard side by side to get this writer his break. This book is dedicated to the two of them, in appreciation of their efforts, which went far beyond the call of duty.

Т.е. описание, и посвящение агенту и редактору. Можно было эти строки оставить, но тогда, снабдить их галочками.

Галочками помечаются абзацы, которые не имеют аналога в параллельном тексте.

На рисунке галочкой помечена строка

H1 | 1

и в русском аналоге

H1 | Глава 1

Ну, что тут переводить! Не стоит мараться.

Следующую галочку я поставил в английском тексте в строке

N | “Out here on the floor!” he yelled.

Дело в том, что такого абзаца в русском варианте нет, а соответствующий текст есть в предыдущем абзаце.

Такую же операцию сделал со строкой:

N | Полицейский с ружьем подошел ближе.

Теперь параллельные тесты спараллелились. Вы спросите, как я это узнал, а-а-а тут есть инструмент Show, который показывает текущий фрагмент в таком виде:



Отличная книга, и какой “вкусный” язык, надо будет и ее сделать…

Кто-то может сказать, выдай нам книгу в таком паралльно-табличном виде. Ну, что вам сказать, перед вами исходник, не составит труда как итог выдать HTML или fb2 или doc с такой таблицей, но я вас уверяю, очень скоро вы будете читать только правую колонку, т.е. пользы для обучения 0.

Продолжим обзор программы.

Для продвижения по тексту есть пункты меню Next и Prev (подразумевается previous).

Есть еще сервис Step by step – пошаговый просмотр текста.

// реликт первого варианта программы

Этот инструмент позволяет изменить содержимое абзацев, в том числе и разбить абзац на несколько частей. Подведите курсор в нужное место, нажмите Enter и дело сделано.


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


Ещё раз повторю порядок действий:

Открываю или создаю проект.

Перехожу на закладку "Content"

Открываю окно "Show"

Просматриваю текст "по диагонали".

В нужных местах ставлю галочки (попробуете - пару раз ошибетесь, а потом сообразите - абзац с галочкой присоединяется к предыдущему абзацу).

И только успевай нажимать "Next".

Все легко и просто.


При выходе из программы последует запрос на сохранение результата.

Если вы просто нажмете на Yes в данной ситуации появится окошечко Fill the form с предложением заполнить необходимые данные для сохранения книги.

В закладке Book наиболее важными являются данные: Project, book-title и Genre.

Имя проекта надо ввести ручками, а остальное проще перейдите на закладку Eng Book – двойной щелчок по строке book-title и двойной щелчок по строке в Genre – все эти строки заполнены (хотя можно было это сделать и вручную).

Перечисленные операции можно было проделать и раньше, тогда при сохранении вопросов не возникнет.


Хорошо, проект сохранился.

При следующем включении программы, можно открыть последний проект.

Меню File – Open last project

Если файл существует, он откроется и курсор встанет на последнюю текущую строку, если файла на прежнем месте нет, программа предложит поискать его (откроется окно загрузки файла).

В меню File есть еще пункт Open FB2 project – он позволяет открыть для работы ранее записанный файл проекта.

{

Для отличия файла проекта, от обычного fb2, в заголовке вводится строка:

It's project w_cat

}


Ну что еще сказать?

Контекстное меню (правая кнопка).

Первая строчка самая важная: установить текущую строку.

Если по каким то причинам, параллельность строк сбилась (у меня это случилось, когда я обрабатываемый файл изменил сторонней программой) выберите нужную строку в английском и соответствующую ей в русском тексте и в обоих случаях щелкните на этом пункте.


После немного нудной, но сравнительно быстрой работы, на небольшую книгу у меня уходит часов 5-6 ( чаще в разбивку на несколько дней ) у вас будет готова книга в формате fb2. Вы можете употреблять ее в таком виде или конвертировать в любой удобный вид (сторонней программой). Напомню, формат книги и устройство, читающее книгу должны поддерживать переходы по гиперссылкам – иначе в трудах не будет смысла.


Успехов!


W_cat.


Загрузка...