Template:pi-decl-noun



Purpose edit

This template, which works for all the standard Pali scripts, generates a declension table for a noun. It may also be used for a pronoun or the gender of an adjective. The template itself is a front-end for Module:pi-decl/noun.

The template will also work for 'non-standard' abugidic scripts whose implicit vowel is 'a' if:

  • Module:pi-Latn-translit supports transliteration to that script;
  • The declension data module Module:pi-decl/noun/<script> exists; it need only return an empty table; and
  • There are no idiosyncratic interactions between stem and affix.

In these cases, the parameters |sc= and |ending= are required.

Regular Declensions edit

14 'regular' vocalic* patterns of declension and 9 consonantal patterns of declension are recognised:

Exemplar Gender
Ending Masculine Feminine Neuter
a deva
(devo)
- rūpa
(rūpaṃ)
ā candimā gāthā -
i muni bodhi aṭṭhi
ī antevāsī nadī -
u bandhu jambu cakkhu
ū viññū sassū
in sāmin (sāmī) - balin (bali)
ar satthar
(satthā)
- -
as - - sotas
soto
an attan
(attā)
- -
ant arahant
(arahaṃ)
- arahant
(arahaṃ)
mant/​vant himavant
(himavā)
- himavant
(himavaṃ)

If different from the stem, the commonest nominative singular is given in parentheses after it. The masculine -ī and -in declensions, and as another pair the neuter -i and -in declensions, are indistinguishable. The use of the masculine -ī declension and the neuter -in declension are deprecated; the masculine -in and neuter -i declensions should be used instead.

Special Handling for Sinhala Script edit

Two variants of endings in 'nt' are recognised for the Sinhala script - combinations with touching letters (thematic masculine nominative singular ending න‍්තො), the traditional form, and combinations with a bare al-lakuna (thematic nominative singular ending න්තො) as commonly used in writing the Sinhalese language. The simple codes such as 'ant' are used for bare al-lakuna: special codes with 'T' suffixed, such as 'antT', are used for touching letters.

This feature should be hidden from the user interface - that will be future enhancement. Note that this feature need only be used for present participles whose stem ends in මන‍්ත් or වන‍්ත්; automatic stem recognition handles the other cases.

Irregular Declension edit

Irregular declension is treated as a deviation from regular declension. Parameters are provided to suppress cases and override or supplement case forms.

Usage edit

The simplest, and commonest, invocation is of the form {{pi-decl-noun|g=m}} for the declension of the head word. To display the declension of the feminine of pāpa within that page, one can simply write {{pi-decl-noun|pāpī|g=f}}. To display the masculine of the present participle of kilamati, one writes {{pi-decl-noun|kilamant|ant|g=m}}:

Simply writing {{pi-decl-noun|kilamant|g=m}} would generate an incorrect nominative singular masculine:

Parameters edit

Parameter Description Type Default
stem The stem to which the inflectional endings are added. Note that the stem's ending may be replaced as part of the process. string The name of the page. The first anonymous parameter is used in preference to the named parameter.
ending This is the ending of the stem that, along with the gender, defines the declension. The ending is given in lower case in the Roman script.

The second anonymous parameter is used in preference to the named parameter.

string If the parameter is omitted, the ending is taken from the end of the stem. The parameter is only required in three cases:
  1. to distinguish a participle coincidentally ending in -mant or -vant from an adjective in -mant or -vant. The former may be indicated by specifying this parameter as 'ant'.
  2. to distinguish -in from the coincidental ending in -ina when a script is used as both an abugida and as an alphabet.
  3. For a non-standard script; the script is given by the parameter |sc=.
gender The gender of the noun; more precisely, the gender according to which it is declined. Four values are allowed: m/f/n/no. The special value 'no' suppresses the display of the gender; the endings are selected as though 'm' had been specified. The third anonymous parameter is used in preference to the named parameter. wiki-user-name required
g Alias for parameter 'gender'.
label This is the label to use in the table heading instead of the stem. string If the parameter is omitted, the table heading is based on the stem.
number Which numbers to show the endings for - 's' for singular, 'p' for plural, or 'both' for both. This is intended for use with substantives and numerals that are only used or attested in the singular or in the plural. string both
showtr How to display transliterations to Roman scripts. There are three options - 'none' for no transliterations, 'plain' for transliterations in plain text and 'link' for transliterations as links. The use of 'link' is not recommended for general use, as the transliteration does not always match the Roman script usage, e.g. Tai Tham ᨾᩘᩈ (maṅsa, flesh) compared to Roman script equivalent maṃsa. string plain
subst Substitutions to be applied to handle anomalous or unimplemented transliteration. If specified, should be one or more substitution expressions separated by commas. Each substitution expression is of the form FROM//TO (FROM/TO is also accepted), where FROM is the source text as found in the example, and TO is the corresponding respelling in the word's script (e.g. Burmese or Lao). The substitutions are applied in order and before transliteration. The idea is to respell words with irregular transliteration so that the transliteration comes out correctly; there is no explicit mechanism to transliterate a single item. Note that FROM and TO are actually Lua patterns (see WT:LUA). This means, for example, that a hyphen in the source text needs to be "escaped" by writing it as %-.

One can address a single spelling by the use of beginning and end of string anchors ^ and $.

string
sc If the word to be inflected is not in one of the standard scripts, this is the code of the script it is in. In this case, |ending= is also required. string
impl In the Thai and Lao scripts, there are two main writing systems for Pali. One is an abugida, i.e. has an implicit vowel, and the other always indicates the vowel ('alphabetic'). This parameter, which defaults to 'yes', commands whether implicit vowels are used. The value 'both' indicates that forms for both writing systems should be shown in the declension table. If the lemma ends in the visual representation of the implicit vowel, the declension will only be shown with alphabetic spellings. The response to requesting the declension in a writing system formally inconsistent with the lemma is undefined.

The use of the value 'both' causes incorrect transliteration for most masculine and neuter nouns, and therefore should not be used for them.

This option is only valid for the Thai and Lao scripts.

string yes
aa In the Burmese and Tai Tham scripts, there are two different vowels corresponding to ā. The choice depends on the preceding consonants, but there are different conventions. This parameter selects which value is used in the inflectional ending if the attested conventions may make different choices. The valid values are 'round', 'tall', 'both' and 'default'.

Note that the stem may limit the number of applicable conventions; it is the responsibility of the editor to avoid impossible combinations.

So far, this has only been implemented for the Tai Tham script.

string The value defaults to 'default'
liap This parameter is only meaningful for the Lao script. Because the Lao script has had poor support for Pali, there are three different was of writing the instrumental and ablative plural ending in -bhi. Not all stem forms are compatible with all three endings, and for a given stem form, which endings are compatible with it may also depend on its etymology. This parameter lists the forms to be used using a rough Romanisation, resulting in six supported combinations: 'b' for -ພິ, 'bh' for -ຠິ, 'b.' for -ພ຺ິ, 'bbh' for -ພິ and -ຠິ, 'bb.' for -ພິ and -ພ຺ິ, 'bhb.' for -ຠິ and -ພ຺ິ, and 'all' or 'bbhb.' for all three. The value 'none' is also permitted as a way to specify that none be used. string bh
y This parameter is only meaningful for the Lao script. Some Lao script writing systems use yo yung (ຍ) for Pali <y>, while others use yo ya (ຢ). This option selects which value is used in the case endings. The allowed values are: yung/yaa/ຍ/ຢ/both. string (Accept choice of Lao script declension table or transliteration routine if no table.)
nonom Whether to suppress the nominative case. boolean false
noms_mod Whether the alternative case forms for the nominative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
noms Alternative case form of nominative singular. Additional alternatives may be specified by noms2, noms3,.. string
nomp_mod Whether the alternative case forms for the nominative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
nomp Alternative case form of nominative plural. Additional alternatives may be specified by nomp2, nomp3,.." string
noacc Whether to suppress the accusative case. boolean false
accs_mod Whether the alternative case forms for the accusative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
accs Alternative case form of accusative singular. Additional alternatives may be specified by accs2, accs3,.." string
accp_mod Whether the alternative case forms for the accusative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace" string after
accp Alternative case form of accusative plural. Additional alternatives may be specified by accp2, accp3,.." string
noins Whether to suppress the instrumental case." boolean false
inss_mod Whether the alternative case forms for the instrumental singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace" string after
inss Alternative case form of instrumental singular. Additional alternatives may be specified by inss2, inss3,.. string
insp_mod Whether the alternative case forms for the instrumental plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace" string after
insp Alternative case form of instrumental plural. Additional alternatives may be specified by insp2, insp3,.. string
nodat Whether to suppress the dative case. boolean false
dats_mod Whether the alternative case forms for the dative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
dats Alternative case form of dative singular. Additional alternatives may be specified by dats2, dats3,.. string
datp_mod Whether the alternative case forms for the dative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
datp Alternative case form of dative plural. Additional alternatives may be specified by datp2, datp3,.. string
noabl Whether to suppress the ablative case. boolean false
abls_mod Whether the alternative case forms for the ablative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
abls Alternative case form of ablative singular. Additional alternatives may be specified by abls2, abls3,.. string
ablp_mod Whether the alternative case forms for the ablative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
ablp Alternative case form of nominative plural. Additional alternatives may be specified by ablp2, ablp3,.. string
nogen Whether to suppress the genitive case. boolean false
gens_mod Whether the alternative case forms for the genitive singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
gens Alternative case form of genitive singular. Additional alternatives may be specified by gens2, gens3,.. string
genp_mod Whether the alternative case forms for the genitive plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
genp Alternative case form of genitive plural. Additional alternatives may be specified by genp2, genp3,.. string
noloc Whether to suppress the locative case. boolean false
locs_mod Whether the alternative case forms for the locative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace" string after
locs Alternative case form of locative singular. Additional alternatives may be specified by locs2, locs3,.. string
locp_mod Whether the alternative case forms for the locative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
locp Alternative case form of locative plural. Additional alternatives may be specified by locp2, locp3,.. string
novoc Whether to suppress the vocative case. boolean false
vocs_mod Whether the alternative case forms for the vocative singular are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
vocs Alternative case form of vocative singular. Additional alternatives may be specified by vocs2, vocs3,.. string
vocp_mod Whether the alternative case forms for the nominative plural are listed before, after, or replace, the forms for the regular declension. Three values are allowed: before/after/replace string after
vocp Alternative case form of vocative plural. Additional alternatives may be specified by vocp2, vocp3,.. string description