Сборка файла словарной базы настраивается через sproj файл, в общем случае содержащий:

<SlovoEd_Project>
    <DictID>5555</DictID>
    <HASH>DEAD</HASH>
    <EngineVersion>116</EngineVersion>
    <DatabaseType>Dictionary</DatabaseType>
    <IsInApp>YES</IsInApp>
    <SortFile Language="russ">Russian.ucmp</SortFile>
    <SortFile Language="germ">German.ucmp</SortFile>
    <SortFile Language="arab">Arabic.ucmp</SortFile>
    <SortFile Language="engl">English.ucmp</SortFile>
    <SortFile Language="span">Spanish.ucmp</SortFile>
    <SortFile Language="fren">French.ucmp</SortFile>
    <SortFile Language="ital">Italian.ucmp</SortFile>
    <SortFile Language="japa">Japanese.ucmp</SortFile>
    <SecondarySortFile Language="japa">Japanese_corrections.ucmp</SecondarySortFile>
    <LanguageCodeFrom>engl</LanguageCodeFrom>
    <LanguageCodeTo>germ</LanguageCodeTo>
    <DictionaryFeatures>
        <SkeletalMode>1</SkeletalMode>
        <Taboo>0</Taboo>
        <Stress>0</Stress>
    </DictionaryFeatures>
    <MarketingTotalWordsCount>100000</MarketingTotalWordsCount>
    <MorphoBase Language="germ">400A.sdc</MorphoBase>
    <ImageSourceType>Database</ImageSourceType>
    <SoundSourceType>InternetServer</SoundSourceType>
    <Strings Language="0000">
        <ProductName>New Unabridged English-Russian Dictionary by A.U. Thor</ProductName>
        <DictionaryName>New Unabridged English-Russian Dictionary</DictionaryName>
        <DictionaryNameShort>New En-Ru Dictionary</DictionaryNameShort>
        <DictionaryClass>Dictionary</DictionaryClass>
        <DictionaryLanguagePair>English-Russian</DictionaryLanguagePair>
        <DictionaryLanguagePairShort>En-Ru</DictionaryLanguagePairShort>
        <DictionaryLanguagePairReverse>Russian-English</DictionaryLanguagePairReverse>
        <DictionaryLanguagePairShortReverse>Ru-En</DictionaryLanguagePairShortReverse>
        <LanguageNameFrom>English</LanguageNameFrom>
        <LanguageNameTo>Russian</LanguageNameTo>
        <AuthorName>A.U.Thor</AuthorName>
        <AuthorWeb>https://someAuthorWeb.com</AuthorWeb>
    </Strings>
    <Strings Language="russ">
        <ProductName>Новый полный англо-русский словарь</ProductName>
        <DictionaryName>Полный англо-русский словарь</DictionaryName>
        <DictionaryNameShort>Англо-русский словарь</DictionaryNameShort>
        <DictionaryClass>Словарь</DictionaryClass>
        <DictionaryLanguagePair>Англо-русское</DictionaryLanguagePair>
        <DictionaryLanguagePairShort></DictionaryLanguagePairShort>
        <DictionaryLanguagePairReverse>Русско-английское</DictionaryLanguagePairReverse>
        <DictionaryLanguagePairShortReverse></DictionaryLanguagePairShortReverse>
        <LanguageNameFrom>Английский</LanguageNameFrom>
        <LanguageNameTo>Русский</LanguageNameTo>
        <AuthorName>А.В. Тор</AuthorName>
        <AuthorWeb>https://someAuthorWeb.com</AuthorWeb>
    </Strings>
    <Articles>
        <!-- ... -->
    </Articles>
    <List id="dictionary">
        <!-- ... -->
    </List>
    <Style>
        <!-- ... -->
    </Style>
    <IsMultiLanguageBase>YES</IsMultiLanguageBase>
    <LanguageSymbols />
    <SymbolsDelimiters />
</SlovoEd_Project>
  • DictID – уникальный идентификатор sdc-контейнера, представляющий собой 4-символьный hex-код. Начинается с цифры “5”, выдается централизовано при начале разработки sdc-базы. При этом разные редакции одного и того же словаря могут иметь как одинаковый DictID (если новая версия должна стать обновлением существующего продукта), так и разные (если новая версия должна продаваться самостоятельно)
  • HASH – уникальный hash, используемый при сжатии данных словаря
  • EngineVersion – deprecated. Может встречаться в старых базах – отвечает на минимальную версию словарного ядра, которая требуется для работы с данным словарем
  • DatabaseType – тематика словарной базы (словарь, разговорник и т.д.). Полный список типов словарных баз есть в этой статье. Важно учесть, что значение поля по умолчанию – “Phrasebook” и для словарей его нужно прописывать явно
  • IsInApp – флаг того, является ли база демо-версией
  • SortFile – набор тегов, содержащих имя таблицы сортировки, которая должна использоваться для конкретного языка. Обязательно указывается для каждого кода языка, используемого в словаре, кроме кодов языков локализаций. То есть таблиц может быть как одна или две (в случае стандартных толковых и двуязычных баз), так и большее количество (если база мультиязычная и содержит перевод заголовков на несколько языков) – привязка файла таблицы к коду языка осуществляется через атрибут “Language”
  • SecondarySortFile – вспомогательная таблица сортировки, содержащая уточнения по использованию символов. В первую очередь используются в китайском и языках с заимствованиями из него (японском, корейском, вьетнамском), также могут применяться для корректирования поведения отдельных символов для конкретного продукта. По аналогии с основными таблицами, связь “код языка – таблица сортировки” задается атрибутом “Language”
  • LanguageCodeFrom – код языка, с которого осуществляется перевод. В двунаправленных базах выбирается на усмотрение автора словаря (обычно по более полно представленному языку); в мультиязычных базах выбирается один из языков также на усмотрение автора
  • LanguageCodeTo – код языка, на который осуществляется перевод. В двунаправленных базах выбирается на усмотрение автора словаря (обычно по менее представленному языку); в мультиязычных базах выбирается один из языков также на усмотрение автора
  • DictionaryFeatures – набор флагов, указывающих на наличие определенных фич словаря (обычно это фичи, требующие от приложения дополнительной UI проработки, экрана настроек и т.п.). Подробное описание – в разделе ESldFeatures статьи о настройках словаря
  • MarketingTotalWordsCount – числовое значение, указывающее количество слов в собираемой базе (при его отсутствии количество слов будет автоматически посчитано на основе отображаемых списков слов), используется в приложении при отображении информации о продукте. Указывается в случаях, когда нужно прописать определенное количество слов (т.к. способ подсчета на стороне издательства отличается от автоподсчета по заголовкам в списке)
  • MorphoBase – позволяет добавить в контейнер с основной базой морфологическую, id которой указан в данном теге. При этом допускается подключение морфологий для разных языков. За привязку указанной базы к конкретному языку словаря отвечает атрибут “Language” – он хранит код языка, для которого предназначается морфология
  • ImageSourceType – описывает тип источника изображений базы, обычно это либо сама база, либо внешний web-сервис. Детали можно посмотреть в описании EMediaSourceTypeEnum здесь.
  • SoundSourceType – описывает тип источника звука базы, обычно это либо сама база, либо внешний web-сервис. Детали можно посмотреть в описании EMediaSourceTypeEnum здесь.
  • Strings – назначение и способ использования строк аналогичен строкам списка: отображение в разных местах UI с адаптацией под текущую локаль устройства. Например, при формировании страницы с информацией о приложенииProductName – самая полная версия названия словаря, например “New Unabridged English-Russian Dictionary by A.U. Thor”
  • DictionaryName – стандартная версия названия, “Unabridged English-Russian Dictionary”
  • DictionaryNameShort – сокращенная версия названия, “New En-Ru Dictionary”
  • DictionaryClass – описание тематики словаря. Например, это может быть “Grammar” или “Thesaurus”
  • DictionaryLanguagePair – локализованная языковая пара, например “Anglais/Français” во французской локализации французско-английского словаря
  • DictionaryLanguagePairShort – сокращенная языковая пара, “An/Fr”
  • DictionaryLanguagePairReverse – локализованная обратная языковая пара, “Français/Anglais”
  • DictionaryLanguagePairShortReverse – сокращенная обратная языковая пара, “Fr/An”
  • LanguageNameFrom – название языка From словаря (например, “Русский” для русской локали и “Russian” – для английской)
  • LanguageNameTo – название языка To словаря
  • AuthorName – название издательства
  • AuthorWeb – адрес сайт издательства
  • Articles – подробно разбирается в разделе “Словарные статьи
  • List – подробно разбираются в разделе “Списки слов в словарных базах
  • Style – подробно разбираются в разделе “Стили текста в словарных базах
  • IsMultiLanguageBase – флаг, указывающий, является ли база мультиязычной (содержит списки слов и переводы более, чем для двух языков)
  • LanguageSymbols – deprecated. Может встречаться в старых базах – использовался для модификации списка символов алфавита используемой таблицы сортировки. Сейчас за набор символов отвечают только SortFile/SecondarySortFile
  • SymbolsDelimiters – deprecated. Может встречаться в старых базах – использовался для модификации списка символов-разделителей используемой таблицы сортировки. Сейчас за набор символов отвечают только SortFile/SecondarySortFile

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.