/*
 * Vocabulary Document for KDE Edu KVTML version 2
 * SPDX-FileCopyrightText: 2007 Jeremy Whiting <jpwhiting@kde.org>
 * SPDX-FileCopyrightText: 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
 * SPDX-License-Identifier: GPL-2.0-or-later
 */
#ifndef KVTML2DEFS_H
#define KVTML2DEFS_H

#define KVTML_TAG "kvtml"
#define KVTML_VERSION "version"
#define KVTML_ID "id"

#define KVTML_INFORMATION "information"

#define KVTML_GENERATOR "generator"
#define KVTML_TITLE "title"
#define KVTML_AUTHOR "author"
#define KVTML_AUTHORCONTACT "contact"
#define KVTML_LICENSE "license"
#define KVTML_COMMENT "comment"
#define KVTML_CATEGORY "category"

#define KVTML_IDENTIFIERS "identifiers"
#define KVTML_IDENTIFIER "identifier"
#define KVTML_IDENTIFIERTYPE "identifiertype"
#define KVTML_LOCALE "locale"
#define KVTML_NAME "name"
#define KVTML_SIZEHINT "sizehint"

// articles
#define KVTML_ARTICLE "article"

// conjugation, declension and personal pronouns
#define KVTML_CONJUGATION "conjugation"
#define KVTML_CONJUGATIONTYPE "conjugationtype"
#define KVTML_PERSONALPRONOUNS "personalpronouns"
#define KVTML_DECLENSION "declension"

static const QString KVTML_DECLENSION_CASE[] = {"nominative", "genitive", "dative", "accusative", "ablative", "locative", "vocative"};

static const QString KVTML_GRAMMATICAL_NUMBER[] = {"singular",
                                                   "dual", // dual is the case where there's a special form for exactly two
                                                   "plural"};

static const QString KVTML_GRAMMATICAL_GENDER[] = {"male", "female", "neutral"};

static const QString KVTML_GRAMMATICAL_PERSON[] = {"firstperson", "secondperson", "thirdpersonmale", "thirdpersonfemale", "thirdpersonneutralcommon"};

static const QString KVTML_GRAMMATICAL_DEFINITENESS[] = {"definite", "indefinite"};

// for the personal pronuns:
// if this tag exists, in a conjugation male/female are different
#define KVTML_THIRD_PERSON_MALE_FEMALE_DIFFERENT "malefemaledifferent"
// if this tag exists conjugations even have a neutral form for the third person
#define KVTML_THIRD_PERSON_NEUTRAL_EXISTS "neutralexists"
#define KVTML_DUAL_EXISTS "dualexists"

// word types, lessons and leitner boxes are vocabulary containers.
// each is allowed to have as many child containers as desired.
// for KDE 4.0 Parley will only allow a depth of wordtype children of two,
// leitner is not implemented at all.
// it is assumed that one container only has children of the same type.
// containers may have an image associated to represent them visually.
#define KVTML_WORDTYPES "wordtypes"
#define KVTML_LESSONS "lessons"
#define KVTML_LEITNERBOXES "leitnerboxes"
#define KVTML_CONTAINER "container"
#define KVTML_INPRACTICE "inpractice"

// these are necessary to enable practices based on word types. users can give types arbitrary names, but these few are hardcoded. special container types
#define KVTML_SPECIALWORDTYPE "specialwordtype"
#define KVTML_SPECIALWORDTYPE_NOUN "noun"
#define KVTML_SPECIALWORDTYPE_NOUN_MALE "noun/male"
#define KVTML_SPECIALWORDTYPE_NOUN_FEMALE "noun/female"
#define KVTML_SPECIALWORDTYPE_NOUN_NEUTRAL "noun/neutral"
#define KVTML_SPECIALWORDTYPE_VERB "verb"
#define KVTML_SPECIALWORDTYPE_ADJECTIVE "adjective"
#define KVTML_SPECIALWORDTYPE_ADVERB "adverb"
#define KVTML_SPECIALWORDTYPE_CONJUNCTION "conjunction"

#define KVTML_TENSES "tenses"
#define KVTML_TENSE "tense"

#define KVTML_USAGES "usages"
#define KVTML_USAGE "usage"

#define KVTML_CURRENT "current"

#define KVTML_ENTRIES "entries"
#define KVTML_ENTRY "entry"
#define KVTML_DEACTIVATED "deactivated"

#define KVTML_TRANSLATION "translation"
#define KVTML_TEXT "text"
#define KVTML_PRONUNCIATION "pronunciation"

#define KVTML_PAIR "pair"
#define KVTML_FALSEFRIEND "falsefriend"
#define KVTML_ANTONYM "antonym"
#define KVTML_SYNONYM "synonym"

#define KVTML_EXAMPLE "example"
#define KVTML_PARAPHRASE "paraphrase"

#define KVTML_COMPARISON "comparison"
#define KVTML_ABSOLUTE "absolute"
#define KVTML_COMPARATIVE "comparative"
#define KVTML_SUPERLATIVE "superlative"

#define KVTML_MULTIPLECHOICE "multiplechoice"
#define KVTML_CHOICE "choice"

#define KVTML_IMAGE "image"
#define KVTML_SOUND "sound"

#define KVTML_GRADE "grade"
#define KVTML_FROMID "fromid"
#define KVTML_PREGRADE "pregrade"
#define KVTML_CURRENTGRADE "currentgrade"
#define KVTML_COUNT "count"
#define KVTML_ERRORCOUNT "errorcount"
#define KVTML_DATE "date"
#define KVTML_INTERVAL "interval"

#define KVTML_TRUE "true"
#define KVTML_FALSE "false"

#endif
