User:Qorilla/Conjugation templates

=Guide=

This page shows my proposed system for providing tables for the conjugation of Hungarian verbs.

There is already one base template which provides the design and layout. This template will be used by other, specific templates that are directly included in the dictionary entries and provide the conjugated forms to the base template, and in turn the base template provides the actual table. The base template also does some features that are universal among the specific templates (e.g. intransitivity). Each specific template covers a different category among verbs.

Hungarian verbs are conjugated mostly according to phonology (e.g. the ending sound). But having the written form is far from enough to generate the conjugated forms, for two reasons. Mainly because Wiktionary cannot process/inspect the phonology of the verbs in a complex way to decide the conjugation type, as that would need to much processing power. The second and bit smaller reason is that the written form is sometimes too little information to decide for example whether the stem shortens or not. For these reasons, the editor her/himself must give the information into the system, so the forms can be generated.

This happens through two ways: selecting the proper template name, and providing optional flags (and of course the verb itself). Whether a feature (a conjugational category) is handled by a separate line of named templates or just an optional flag is somewhat arbitrary and was decided so as to keep balance between the number and the complexity of the templates. (Adding a feature as a separate line of named templates doubles the number of templates in question, while adding it as an optional flag makes the template somewhat complexer with if-else decisions. Some features are easier to handle one way than the other, and this practical point of view was kept in mind when designing the templates.)

Template name
The name of each template begins with hu-conj-. After that, we have a tree-like organized multitude of templates. Each level in the tree is marked with a short suffix that is characteristic of the conjugation in that given subcategory. For example the main family of tempates has three branches: hu-conj-ek-..., hu-conj-ok-... and hu-conj-ök-... The ek/ok/ök is the suffix used when saying "I do". Specifying it gives indirectly the information of the verbs' vowel backness. Under each of these three branches we branch into two subbranches, for example in case of hu-conj-ek: hu-conj-ek-t and hu-conj-ek-ett-... . t/ett are the suffixes for the form "he did". Then again, hu-conj-ek-ett-... branches to three subbranches according to how the "you do" form is suffixed (el/esz/sz). More details at the part.

There could have been two alternatives to this naming convention. Using sample verbs, or using grammatical categories. In other languages, sample verbs may work well, because there are certain clear categories of conjugation, e.g. in Finnish. In my Hungarian system, however, one template must cover verbs that are not conjugated exactly the same, and are differentiated using optional flags. If we had a separate template for each possible combination of flags to these templates, we would end up with an unmanageably huge number of templates. Using grammatical terms will not work either, as often the distinctive feature is simply not a named grammatical feature, just a type of phonological combination. Therefore, I found the easiest way to name the templates is through the suffixes of specific forms, which can be used as "indicators". This way is also much easier for the editor, because if (s)he speaks Hungarian, it's very quick for them to think of the given form of the verb and write the appropriate suffix. The only thing to be learnt is the aspects according to which the tree formed system is designed.

Besides the main branches, there are some other, rarer but important template categories:
 * the stem shortening verbs where the last vowel falls out
 * the "enni, inni, venni"-type verbs (only about 7 verbs in total)
 * the ones which have "two stems" (vereked - vereksz)
 * the ones ending in a vowel (lő, ró)
 * and then the very special verbs for which it is easier to create unique templates than to hack around with options in normal templates that would be only used by these verbs anyway.

Parameters
There are two kinds of parameters in mediawiki templates. Unnamed and named parameters. Unnamed parameters in this system provide the verb itself, and named parameters are used for optional flags. The first parameter is in the vast majority of the cases the whole verb (in the "he does" form, always without the ending -ik) minus the last letter (letter in the Hungarian sense - e.g. dz is one letter). The second parameter is the remaining part, i.e. the last letter. However this parametrizing can not be applied for the following cases:


 * the ending -szt needs to be separated to the second parameter as it it was one letter, because they are both taken into consideration in the form akaszt -> akassza. Knowing that it ends in -t is simply not enough as other -t ending verbs work otherwise ért - értse. This is the only place in Hungarian conjugation where the last but one letter is also needed for decision.
 * in the stem shortening verbs' templates (képez - képzek) we split the verb into three parts so the vowel which is dropped in some forms can be left out by the template, e.g. kép|e|z. Some verbs only have a short form (e.g. siklik). In this case we simply leave a blank place, like sik||l (as if it were sik|o|l, but the o is left out).
 * in the -szem verbs (igyekszem): we specify the stem ("igyek") then we give the rest (between igyek- and -ni: i.e. ez), so it becomes igyek|ez.

Named parameters are used as optional flags that mark smaller differences which can be easily handled inside the template, such as whether the verb is intransitive, an -ik verb, etc. Setting a flag means specifying the named parameter with any nonempty value (by convention this is often an y character which stands for 'yes').

Normal cases
If the special cases below are not true about the given verb, then it is a more regular one and can be handled by the "main template family". The indicator suffixes to be specified are the following (the dot character (.) will be used as a joker/wildcard character, so it is easier to talk about several suffixes at one time):


 * 1) .k (ek/ok/ök): the suffix of the form (I do). Here we must not care about the special ik-verb conjugation, and write ek/ok/ök even if the em/om/öm is more natural. This is because there is no other suffix that has all the three forms and that is used by all verbs, so only this one can be used as an indicator.
 * 2) t/.tt: (where .tt means ett/ott/ött for the ek/ok/ök branches respectively) Here we must specify the suffix of the form "he did". (e.g. kért)
 * 3) .l/.sz/sz (where according to which branch we are in, .l is el/ol/öl and .sz is esz/asz/esz) The third part is only used with hu-conj-.k-.tt branches, and the branch of hu-conj-.k-t reaches the end. Here we specify the suffix of the form "you (sg.) do"


 * in the branches of hu-conj-.tt, we have an optional flag called .tt. (ette/otta/ötte), which needs to be set if the verb uses this suffix in the "he did it" form. E.g. with the verb bont we must set this flag because the form bontotta is used, but with mond we don't set the flag, as this form is mondta in this case and not mondotta (which is archaic).

Stem shortening with the last vowel falling out
Use the branch hu-conj-.k-vowelout- (where .k is ok/ek/ök).

There are two subbranches. We must provide t.m/.tt.m (tem/ettem; tam/ottam; tem/öttem), which is the form "I did": képeztem, vedlettem.

In the case of hu-conj-.k-vowelout-t.m, we have some optional flags:
 * t: if the past is formed with 't' and not with '.tt' (Yes: szerepelt, No: kép(e)zett)
 * variants: is the unshortened form also used sometimes? (Yes: képezünk - képzünk, No: pergünk - but no peregünk)

Two kinds of stem (-szem)
The branch hu-conj-sz.m. (szem/szom). These are used for verbs which end in -szem in the "I do" form and have another form of stem. verekszik, melegszik, etc. Although ending in -szem (-szik), there are some verbs that do not have an alternate stem form: tetszik, látszik, etc. For such verbs, use the main branches, i.e. for tetszik:

The -szöm template is not needed as it would only contain "esküszik", so it can get its own template.

We have two options according to whether the -vő form is used always, or never (if both are possible, then no option needs to be set).
 * vő-only: only the -vő form is used in the adverbial participle form (Yes: fekvő, but not feküdő)
 * no-vő: -vő form not used at all (Yes: melegedő, but not melegvő)

-gyek/-gyak
eszik, vesz, tesz, visz, lesz use hu-conj-gyek. (hisz and iszik have their own unique template. hisz has special conjugation and iszik is the only back vowel verb in this category so it's pointless to create a general back vowel version of the template)

-vök/-vok
Verbs ending in a vowel (lő, sző, rí) use hu-conj-v.k (vok/vök). As usual, the last letter is split to the second parameter as hu-conj-vök|l|ő


 * shortens: this flag says that the last vowel shortens when -v- gets in. For example, set it for lő, because it becomes lövök, but not for nyű or fő because they remain nyűvök, fővök.

Unique
Some verbs are so specially conjugated that they need an own template, e.g. jön, megy.

Independent flags

 * intrans: intransitive verb, the definite conjugation is not used (Yes, it's not used: igyekszik). In case of intransitive verbs we can provide the flag:
 * future-participle: althoug the verb is intransitive, the future particple (nézendő) is still in use. The future participle normally means "something that needs to be ..-ed" (only meaningful with transitive verbs), but sometimes means "something that needs to/tends to ..." E.g. romlandó is used although it is intransitive. But igyekezendő is not used.


 * ik: ik-verb (yes: csempészik). In case of ik verbs, we can provide the flag:
 * .k-only (ek-only/ok-only/ök-only): if only the -.k (ok/ek/ök) form is used in first person sg (Yes: csempészek valamit, not csempészem valamit)

=Summary= A total of 23 templates, plus the unique ones.


 * hu-conj-ek-t
 * hu-conj-ek-ett-el
 * hu-conj-ek-ett-esz
 * hu-conj-ek-ett-sz


 * hu-conj-ok-t
 * hu-conj-ok-ott-ol
 * hu-conj-ok-ott-asz
 * hu-conj-ok-ott-sz


 * hu-conj-ök-t
 * hu-conj-ök-ött-öl
 * hu-conj-ök-ött-esz
 * hu-conj-ök-ött-sz


 * hu-conj-ek-vowelout-tem
 * hu-conj-ek-vowelout-ettem


 * hu-conj-ok-vowelout-tam
 * hu-conj-ok-vowelout-ottam


 * hu-conj-ök-vowelout-tem
 * hu-conj-ök-vowelout-öttem


 * hu-conj-szem
 * hu-conj-szom


 * hu-conj-gyek


 * hu-conj-vok
 * hu-conj-vök

=Examples=

-esz
the ending -szt must be given as last letter, because that's the only way to know that the subjunctive form is e.g. fejlesszen''.

-asz
the ending -szt must be given as last letter, because that's the only way to know that the subjunctive form is e.g. akasszon''.

-szem (two stem versions)
here the first option is the stem, the second option is what we need for the infinitive minus -ni

-szom (two stem versions)
here the first option is the stem, the second option is what we need for the infinitive minus -ni