Romul81
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Abs62 Погуглил чуть на эту тему. Ситуация следующая. Начну с предыстории. Не секрет, что пионером в словарной отрасли (из получивших широкое распространение) был Babylon со своим BGL. Это и понятно - разработчику удалось заручиться поддержкой именитых издательств/брендов и выпустить линейку достойных словарей, охватывающую большое кол-во языков, причём большАя часть этих словарей распространялась официально совершенно бесплатно. Поспособствовал этому и агрессивный маркетинг, вплоть до malware (все помнят, наверное, пресловутый бабилон-тулбар, который разработчик пихал куда только можно). В то же время недостатки формата никуда не делись - основной из них - это закрытость формата в сочетании с фокусированностью разработчика на рублении бабла. Как известно, природа не любит дисбаланса и вскорости появилось несколько альтернатив. Очевидно, что многие идеи были почерпнуты именно у Babylon-а. Одними из первых подсуетились, как всегда, китайцы, со своим Stardic, позже плавно перетекшим в Stardict (формат + одноимённая оболочка). В целом, у Stardict-а было больше возможностей, чем у его коммерческого прообраза - поддержка большого кол-ва маркапов (даже нашим соотечественникам с их XDXF удалось затесаться), внешние ресурсы, позже добавилась возможность сжатия dictzip-ом. И самое главное - свободный формат, хотя и бедно документированный. Народ кинулся разбирать BGL-словари (формат к тому времени более или менее раскурочили) и конвертировать их в Stardict, благо этот функционал был и в самом Stardict Editor-е. Но счастье, как всегда, длилось не долго. Неполживая прогрессивная общественность такой фортель не оценила и подумав "нет ли тут антисемитизъму?" обвинила Stardict в пиратстве, казнокрадстве и чёрных замыслах против свободного мира. Оболочка тоже подкачала, начав хиреть и чахнуть, пока окончательно не загнулась. Но упавшее знамя ридеров формата подхватили молодые и амбициозные, во главе которых стал ...наш сабж. Но это всё лирика. На практике формат GLS - это текстовый исходник для компиляции в формат BGL. Был задуман сумрачным семитским гением в тени смоковницы на берегу Иордана. Таковым и останется. Правда, в разных версиях. Потому как сам компилятор Babylon Glossary Builder существует в нескольких версиях (теоретически). Нынешняя (последняя) версия компилятора работает с таким типом файла: Код: ### Glossary section: заголовок|синоним перевод другой заголовок перевод | Онлайн пример. Все директивы и служебная инфа хранятся в файле проекта *.grp. Файл имеет XML-структуру. Но, видимо, так было не всегда. В эпоху MS DOS win 98 и существования полу-мифической версии Babylon Builder 1.0.63 эта инфа, видимо, хранилась в самом GLS. Удалось отыскать к примеру такой исходник (осторожно, прямая ссылка), явно созданный билдером. Все директивы прописаны через ###, включая уникальный ID, который генерирует билдер. Разработчики Stardict-а решили далеко не ходить и использовали ту же самую структуру (помимо других) для компиляции в свой формат. Изменили только блок директив и расширение на простодушное "*.babylon". При декомпиляции BGL именно такой файл и создаётся. Заголовок примерно следующий: Код: #stripmethod=keep #sametypesequence=h #bookname=Test #author=Admin aerie|aery|eyry aerie aery eyry | Директив может быть больше - они соответствуют спецификации Stardict. Заметьте, флаг #sametypesequence=h проставляется по умолчанию для декомпилированного BGL, т.е. подразумевается, что именно этот маркап может присутствовать в формате-источнике. Оно и понятно, ведь перевод строки в GLS возможен только в виде <BR>, хотя сам Stardict, вроде как поддерживает \n. Резюмируя. В качестве сырца для HTML-контента формат, действительно, удобен. Косвенным подтверждением этому служит тот факт, что практически в неизменном виде он используется для компиляции в другие форматы, напр. Lingoes. Source File Format of Lingoes Dictionary Структура заголовков тоже ясная и прозрачная - с индексацией сложности не должно быть (DSL в этом плане сложнее со своими прибамбасами). В общем, по нынешним временам, когда существует спрос на возможность работы с сырым HTML, реализация поддержки GLS в GD могла бы быть хорошим решением. З.Ы. Единственным отличием по синтаксису между "родным" GLS и стардиктовским является формат ссылок. В "родном" по бабилоновскому <a href="bword://next">next</a> а в стардикт просто <a href="next">next</a>. З.З.Ы Поправил ссылку на онлайн-пример. | Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 01:15 28-12-2016 | Исправлено: Romul81, 01:56 28-12-2016 |
|