Типы словарных баз. ESlovoEdContainerDatabaseTypeEnum
Тип контейнера – наиболее общая характеристика словарной базы: определяет то, какой контент внутри содержится и как приложение в целом должно работать с целой базой (при этом адаптируется ui, выбираются методы поиск данных в базе и т.д.)
Список типов
Разговорник (eDatabaseType_Phrasebook, “Phrasebook”)
Тип базы, предназначенный для хранения сгруппированной по темам информации – это может быть как разговорник с переводами фраз, так и грамматический справочник, статьи и правила которого рассортированы по папкам
Пример использования
- Insight Guides Russian Phrasebook (54EE.sdc)
- Langenscheidt Russian – English Phrasebook (5374.sdc)
- Также в силу того, что это значение по умолчанию, оно ошибочно может быть указано в ряде баз, где явно не было специфицировано
Словарь (eDatabaseType_Dictionary, “Dictionary”)
Основной тип контейнера, используемый для словарей разной структуры, т.е. набора списков и статей, ориентированных на перевод и толкование слов
Пример использования
подавляющее большинство выпускаемых баз, например:
- Slovoed Deluxe English-Russian (5170.sdc) – как пример простого словаря с переводами
- Oxford Advanced Learner’s Dictionary 10 ed. (5607.sdc) – толковый словарь с большим набором фич
- Oxford Collocations (545D.sdc) – база словосочетаний с иерархическим построением основного списка
Как видно из примеров, они не обязательно содержат линейные списки (в Collocations есть иерархия), а также не обязательно являются простыми переводными словарями: этим типом размечаются и тематические словари (например, Medical), и специализированные (тезаурусы). Также важно отметить, что этот тип не накладывает ограничений на состав списков слов – словарь может быть толковым (только язык From), двунаправленным (From ↔ To) и однонаправленным (From → To)
База озвучки (eDatabaseType_Sound, “Sound”)
База предназначена для поиска записей по ключу (известному запрашивающей стороне) и получению привязанной к найденному слову озвучки
Пример использования
- Slovoed Deluxe English sound (530E.sdc)
- PONS English sound (54AF.sdc)
Техническая морфология prc (eDatabaseType_Morphology, “Morphology”)
База содержит техническую морфологию: взаимное соответствие базовых форм (лемм) и всех их производных с указанием грамматических характеристик каждой формы. На базе этих данных обычно выполняются три основные операции:
- поиск всех базовых форм (их может быть несколько) по заданной производной форме
- поиск всех производных форм для заданной базовой
- построение морфологической таблицы, содержащей все формы слова с их описаниями
Данный тип предполагает хранение данных в формате prc, доступ к которым происходит через отдельный морфологический движок (prc2sdc конвертация морфологий не меняет структуру данных, а лишь упаковывает ресурсы в формате другого типа контейнера ради единообразия)
Если рассматривать области применения морфологии более детально, то это:
- индексация контента и генерация списков полнотекстового поиска с помощью FTSGenerator
- подключение морфологии при полнотекстовом поиске и сортировке его результатов в приложении
- построение морфотаблиц для отображения в приложении
- поиск базовой формы для фич морфоподсказки и кроссрефов в приложении
Пример использования
Все случаи prc2sdc cконвертированной морфологии, например:
- Slovoed Russian morphology (4000.sdc)
- Duden German Morphology (400A.sdc)
Бандл (eDatabaseType_Bundle)
Deprecated, Использовалось для бандлов (наборов словарей)
Пример использования
Изначально не использовалось в sdc базах (legacy, пришедшее из prc формата)
База лингвистических игр и тестов (eDatabaseType_Games, “Games”)
База, содержащая контент для лингвистических игр (угадывания слов, “виселицы” и т.п.)
Пример использования
- Van Dale Dikke 15 Games (54A7.sdc)
Также все лингвистические игры Slovoed Spelling games (всего 6 баз), например:
- Slovoed English Spelling game (5080.sdc)
- Slovoed Spanish Spelling game (5084.sdc)
Демо-база (eDatabaseType_InApp)
Deprecated. Использовалось для маркировки демо-баз; актуальная реализация предполагает простановку флага демо-базы, который используется в паре со значениями данного перечисления
Пример использования
Устаревшее значение, не должно встречаться в базах с версией ядра 116+. Более старые должны обновляться пересборкой с использованием InAppCreator
Учебник (eDatabaseType_TextBook, “TextBook”)
База, содержащая систематизированную информацию определенного учебного курса или вспомогательные учебные пособия
Пример использования
Учебники, которые разрабатывались в рамках проекта ЛЭУ, например:
- Физика для 8 класса (Пёрышкин) (000001F5.datf)
- Oxford Bookworms Teacher’s materials. New Yorkers (activity answers) (000002E7.datf)
- Oxford Bookworms Teacher’s materials. New Yorkers (tests) (000002E8.datf)
В рамках словарных проектов встречаться не должны (unless you know what you’re doing)
База изображений (eDatabaseType_Images, “Images”)
База предназначена для поиска записей по ключу (известному запрашивающей стороне) и получению привязанного к найденному слову изображения
Пример использования
Oxford ALD 9 ed. (images) (5498.sdc)
Книга (eDatabaseType_Book, “Book”)
Содержит книгу или ее отрывок (например, художественную литературу) и обычно является вспомогательным источником данных для базы другого типа (например, учебника)
Пример использования
Разрабатывались в рамках проекта ЛЭУ; примеров в инфраструктуре парагона нет (тем не менее, является допустимым значением)
Визуальный словарь (eDatabaseType_PictureDictionary, “PictureDictionary”)
Тип, объединяющий направления словаря и разговорника, но с фокусом на толкование понятия с помощью изображений: переводимые слова разделены по тематическим категориям, статьи содержат иллюстрирующие термин изображения и текстовый перевод (обычно краткий)
Пример использования
Используется только в двух словарях: PONS Picture Dictionary и Van Dale Picture Dictionary:
- PONS Picture dictionary (multilingual base) (54FA.sdc)
- PONS Picture dictionary (dummy Russian-Spanish base) (5512.sdc)
- Van Dale Picture dictionary (multilingual base) (55AF.sdc)
Подобными по смыслу (но не по структуре и не по фактически указанному типы базы – сейчас это Phrasebook) являются:
- Langenscheidt Picture Talk (527C.sdc)
- набор баз Vox Picture Dictionary (в частности, 508A.sdc)
Потенциально они (особенно VOX) требуют переработки на близкую к существующим PictureDictionary структуру и указания этого типа базы
Морфологические таблицы (eDatabaseType_DisplayMorphology, “DisplayMorphology”)
База морфологических таблиц. В отличие от технических морфологий обоих форматов (prc/sdc), таблицы свёрстаны заранее и хранятся в переводах слов. Сами записи списка слов на практике обычно не отображаются (хотя это не является запрещенным поведением), а статьи для отображения осуществляется поиском (выбор типа поиска остается за приложением)
Пример использования
По факту не используется нигде, что ошибочно. Должно применяться в базах:
- Duden morphomagics (5449.sdc)
- PONS Display morphology English (54C0.sdc)
- PONS Display morphology French (54C2.sdc)
- PONS Display morphology Spanish (54C1.sdc)
Техническая морфология sdc (eDatabaseType_InflectionMorphology, “InflectionMorphology”)
По аналогии с технической морфологией prc-формата (eDatabaseType_Morphology), предназначена для поиска морфологических форм слова. При этом структура хранения данных – стандартная для sdc формата, в виде набора списков (eWordListType_MorphologyBaseForm, eWordListType_MorphologyInflectionForm). В отличие от вшитых в конкретную базу списков, позволяет в рамках продукта с несколькими словарями пользоваться единой морфобазой, не дублируя её контент
Пример использования
Используется в двух базах:
- Oxford Morphology (5595.sdc)
- Van Dale Groot Dutch (55AC.sdc)
Информация для разработчиков приложений
/// Разновидность типа содержимого контейнера
enum ESlovoEdContainerDatabaseTypeEnum
{
/// Разговорник
eDatabaseType_Phrasebook = 0,
/// Словарная база
eDatabaseType_Dictionary,
/// Звуковая база
eDatabaseType_Sound,
/// Морфологическая база
eDatabaseType_Morphology,
/// Бандл
eDatabaseType_Bundle,
/// База лингвистических игр
eDatabaseType_Games,
/// База, загружаемая через механизм встроенных покупок
eDatabaseType_InApp,
/// База, содержащая контент учебника
eDatabaseType_TextBook,
/// База с изображениями
eDatabaseType_Images,
/// Книга
eDatabaseType_Book,
/// Визуальный словарь
eDatabaseType_PictureDictionary,
/// Отображаемые морфо таблицы
eDatabaseType_DisplayMorphology,
/// Морфология, содержащая только базовые и производные формы
eDatabaseType_InflectionMorphology,
/// Неизвестный тип - ошибка
eDatabaseType_Unknown = 0xFFFF
};
Фичи словаря. ESldFeatures
Набор фич словаря, которые требуют отдельной подготовки – ui, логики работы – при их наличии в словаре:
- наличие скрываемых блоков (eFeature_SkeletalMode, “SkeletalMode”) – указывает на наличие в базе hide/switch блоков (обычно готовится ui для их настройки в рантайме)
- наличие мата и обсценной лексики (eFeature_Taboo, “Taboo”) – требует подготовки определенного safe search/parent mode
- наличие настраиваемых ударений (eFeature_Stress, “Stress”) – требует отдельного экрана настройки внешнего вида ударений в рантайме
Пример использования
- eFeature_SkeletalMode – Oxford Advanced Learner’s Dictionary 10 ed. (5607.sdc)
- eFeature_Taboo – на практике не используется. Изначально планировался к использованию в Oxford Advanced Learner’s Dictionary 8 ed. (53CC.sdc, на тот момент еще 524С.sdc) и реализовывался бы через тип hide-блоков “taboo”, который настраивался бы отдельно от остальных hide-ов. Далее была попытка реализовать проект OALD HP Safe search на основе той же базы: с удалением обсценной лексики из списка слов полностью и предупреждением при открытии переводов статей, лишь часть переводов которых маркирована как taboo words. Также не было реализовано в приложениях
- eFeature_Stress:
- Slovoed Deluxe English-Russian (5170.sdc)
Словенско-русский словарь Кузнецова (54AC.sdc)
Информация для разработчиков приложений
/// Битовый набор свойств словаря
enum ESldFeatures
{
eFeature_SkeletalMode = 0,
eFeature_Taboo,
eFeature_Stress,
};