Описание различных кодов использования
Несмотря на то, что большинство приведенных ниже кодов – парные (для прямого – From→To – направления словаря и для обратного), их Pair-варианты очень редко используются в существующих базах: “парность” определяется по This-коду && коду языка стиля. Например, в англо-русском словаре скорее всего будет два стиля:
- eStyleUsage_ThisExample с языком “engl” – примеры прямого направления, на английском
- eStyleUsage_ThisExample с языком “russ” – примеры обратного направления, на русском
не только допустимой, но и рекомендуемой при разметке (т.е. существование парных кодов избыточно) по следующим причинам:
- поле в первую очередь предназначено для семантики, назначения блока, а лингвистические понятие “лемма”,”дефиниция”, “пример употребления” не привязаны к конкретной языковой паре словаря. В то же время использование This-кода в сочетании с кодом языка текста покрывают необходимые ситуации
- This/Pair в исходной постановке (прямое/обратное направление) теряют смысл в мультиязычных словарях, где может использоваться более двух языков и все их сочетания
Заголовок (eStyleUsage_ThisHeadword, “ThisHeadword” / eStyleUsage_PairHeadword, “PairHeadword”)
Альтернативный заголовок (eStyleUsage_ThisHeadwordAlternative, “ThisHeadwordAlternative” / eStyleUsage_PairHeadwordAlternative, “PairHeadwordAlternative”)
Перевод (eStyleUsage_ThisTranslation, “ThisTranslation” / eStyleUsage_PairTranslation, “PairTranslation”)
Фонетика (eStyleUsage_ThisPhonetic, “ThisPhonetic” / eStyleUsage_PairPhonetic, “PairPhonetic”)
Грамматическая помета (eStyleUsage_ThisGrammatic, “ThisGrammatic” / eStyleUsage_PairGrammatic, “PairGrammatic”)
Пример (eStyleUsage_ThisExample, “ThisExample” / eStyleUsage_PairExample, “PairExample”)
Дефиниция (eStyleUsage_ThisDefinition, “ThisDefinition” / eStyleUsage_PairDefinition, “PairDefinition”)
Комментарий (eStyleUsage_ThisComment, “ThisComment” / eStyleUsage_PairComment, “PairComment”)
Уточнение (eStyleUsage_ThisClarification, “ThisClarification” / eStyleUsage_PairClarification, “PairClarification”)
Нумерация (eStyleUsage_ThisNumeration, “ThisNumeration” / eStyleUsage_PairNumeration, “PairNumeration”)
Индекс омонима (eStyleUsage_ThisNumerationHeadword, “ThisNumerationHeadword” / eStyleUsage_PairNumerationHeadword, “PairNumerationHeadword”)
Нумерация переводов/значений (eStyleUsage_ThisNumerationMeaning, “ThisNumerationMeaning” / eStyleUsage_PairNumerationMeaning, “PairNumerationMeaning”)
Ударение (eStyleUsage_ThisStress, “ThisStress” / eStyleUsage_PairStress, “PairStress”)
Синоним (eStyleUsage_ThisSynonym, “ThisSynonym” / eStyleUsage_PairSynonym, “PairSynonym”)
Аббревиатура или сокращение (eStyleUsage_ThisAbbreviation, “ThisAbbreviation” / eStyleUsage_PairAbbreviation, “PairAbbreviation”)
Этимология слова (eStyleUsage_ThisEtymology, “ThisEtymology” / eStyleUsage_PairEtymology, “PairEtymology”)
Идиома (eStyleUsage_ThisIdiom, “ThisIdiom” / eStyleUsage_PairIdiom, “PairIdiom”)
Разделитель (eStyleUsage_ThisSeparator, “ThisSeparator” / eStyleUsage_PairSeparator, “PairSeparator”)
Стилистические пометы (eStyleUsage_ThisStylisticLitter, “ThisStylisticLitter” / eStyleUsage_PairStylisticLitter, “PairStylisticLitter”)
Ссылка, референс (eStyleUsage_ThisReference, “ThisReference” / eStyleUsage_PairReference, “PairReference”)
Устойчивое выражение, фразеологизм (eStyleUsage_ThisPhrase, “ThisPhrase” / eStyleUsage_PairPhrase, “PairPhrase”)
Примеры разметки статьи
Все коды использования продублированы для прямого (совпадающего по LanguageFrom с Dictionary LanguageFrom) и обратного направлений – это позволяет максимально точно разметить статью, содержащую разнородную информацию. Например:
<headword>idiom</headword>
<br />
<translation>идиома</translation>
...
<comment>Пример идиомы в английском языке: </comment>
<idiom_en>To kill two birds with one stone</idiom_en>
<br />
<comment>Наиболее близкое по смыслу выражение русского языка: </comment>
<translation_ru>Убить одним выстрелом двух зайцев</translation_ru>
<br />
<comment>При этом некоторые идиомы языка могут не иметь эквивалента. На примере русского это: </comment>
<idiom_ru>Всё хорошо, прекрасная маркиза</idiom_ru>
В данном примере usage-и этих стилей должны быть следующими:
headword = eStyleUsage_ThisHeadword
translation = eStyleUsage_ThisTranslation
comment = eStyleUsage_ThisComment
idiom_en = eStyleUsage_ThisIdiom
translation_ru = eStyleUsage_ThisTranslation
idiom_ru = eStyleUsage_PairIdiom
<div
style="text-indent:0px; display:inline; margin-right:9px;">
<div
style="display:inline-block; vertical-align:middle; margin-right:5px; min-height:25px; margin-left:5px;">
<sound
url="a_pronunciation.spx"
/>
</div>
<pronunciation_comment>strong form</pronunciation_comment>
</div>
<div>
<paragraph_ru>В английском языке (и письменном, и устном) употребляется две формы неопределенного артикля - "a" и "an"</paragraph_ru>
<examples_group>
<example_en>I've lived a life that's full, I traveled each and every highway</example_en>
<example_en>An old fashioned fireplace, give me an old fashioned fireplace</example_en>
</examples_group>
</div>
данном примере:
pronunciation_comment = eStyleUsage_ThisComment
example_en = eStyleUsage_ThisExample
paragraph_ru = eStyleUsage_ThisClarification,
при этом <examples_group> не настраивается, т.к. текста не содержит
/// получение структуры с информацией о стиле
ESldError CSldDictionary::GetStyleInfo(Int32 aIndex, const CSldStyleInfo **aStyleInfo)
/// Возвращает код предназначения стиля (например: для заголовков, для перевода, для примеров)
ESldStyleUsageEnum CSldStyleInfo::GetStyleUsage(Int32 aUsageIndex = 0) const;
enum ESldStyleUsageEnum
{
/// Предназначение не известно
eStyleUsage_Unknown = 0,
/// Заголовок
eStyleUsage_ThisHeadword,
eStyleUsage_PairHeadword,
/// Альтернативный заголовок
eStyleUsage_ThisHeadwordAlternative,
eStyleUsage_PairHeadwordAlternative,
/// Перевод
eStyleUsage_ThisTranslation,
eStyleUsage_PairTranslation,
/// Фонетика
eStyleUsage_ThisPhonetic,
eStyleUsage_PairPhonetic,
/// Грамматическая информация (часть речи, число и т.д.)
eStyleUsage_ThisGrammatic,
eStyleUsage_PairGrammatic,
/// Пример
eStyleUsage_ThisExample,
eStyleUsage_PairExample,
/// Определение
eStyleUsage_ThisDefinition,
eStyleUsage_PairDefinition,
/// Комментарий
eStyleUsage_ThisComment,
eStyleUsage_PairComment,
/// Пояснение к слову/фразе (обычно проясняющее, какое из значений слова/фразы имеется ввиду)
eStyleUsage_ThisClarification,
eStyleUsage_PairClarification,
/// Нумерация
eStyleUsage_ThisNumeration,
eStyleUsage_PairNumeration,
/// Нумерация заголовочных слов (омонимы)
eStyleUsage_ThisNumerationHeadword,
eStyleUsage_PairNumerationHeadword,
/// Нумерация значений
eStyleUsage_ThisNumerationMeaning,
eStyleUsage_PairNumerationMeaning,
/// Ударение
eStyleUsage_ThisStress,
eStyleUsage_PairStress,
/// Синоним
eStyleUsage_ThisSynonym,
eStyleUsage_PairSynonym,
/// Аббревиатура
eStyleUsage_ThisAbbreviation,
eStyleUsage_PairAbbreviation,
/// Этимология
eStyleUsage_ThisEtymology,
eStyleUsage_PairEtymology,
/// Фразеологизм (идиома)
eStyleUsage_ThisIdiom,
eStyleUsage_PairIdiom,
/// Разделитель (пробелы, скобки, пунктуация, переводы строки и т.д.)
eStyleUsage_ThisSeparator,
eStyleUsage_PairSeparator,
/// Стилистическая помета (помета, означающая неправильный глагол, фразеологизм, приближенный перевод и т.д.)
eStyleUsage_ThisStylisticLitter,
eStyleUsage_PairStylisticLitter,
/// Ссылка на слово, статью
eStyleUsage_ThisReference,
eStyleUsage_PairReference,
/// Метаданные
eStyleUsage_BothMetadata,
/// Фразы
eStyleUsage_ThisPhrase,
eStyleUsage_PairPhrase,
};