Modul:uz-inflection/data/uz-noun-test
Tampaian
Dokumentasi untuk modul ini dapat dibuat di Modul:uz-inflection/data/uz-noun-test/doc
-- Imported from enwiktionary
-- Source: https://en.wiktionary.org/wiki/Module:uz-inflection/data/uz-noun-test
-- License: CC BY-SA
return {
template = 'User:Vitalik/uz-decl-noun-table',
affixes = {
genitive = 'ning',
accusative = 'ni',
locative = 'da',
ablative = 'dan',
dative = 'ga',
dative_k = 'ka',
dative_q = 'qa',
pl = 'lar',
possessive_first_sg = 'm',
possessive_second_sg = 'ng',
possessive_first_pl = 'miz',
possessive_second_pl = 'ngiz',
possessive_third = 'i',
interfix = 'i',
},
conditions = {
{
actions = {{'add_class', 'common'}},
},
{
last = 'k', -- if last letter is 'k'
actions = {{'add_class', 'dative_k'}}
},
{
last = 'q', -- if last letter is 'q'
actions = {{'add_class', 'dative_q'}}
},
{
comment = 'If two last letters are identical to first letter of declension ending — then we need to leave only two letters from three.<br/> For example, metall + lar = metallar',
last = 'll', -- if last letters are 'll'
actions = {{'set', 'pl', 'ar'}}
},
{
section = 'Possessive forms'
},
{
actions = {
{'set', 'base_possessive', '<base>'},
{'add_class', 'possessive_nominative'},
{'add_class', 'possessive_other'},
}
},
{
subsection = 'When last letter is vowel',
},
{
last = 'a',
actions = {
{'set', 'interfix', ''},
{'set', 'possessive_third', 'si'},
}
},
{
last = {'e', 'i', 'u', 'o', 'oʻ', 'o`', "o'"},
sub_conditions = {
{
arg_type = 'std',
actions = {
{'set', 'interfix', ''},
{'set', 'possessive_third', 'si'},
}
},
{
arg_type = 'yisi',
actions = {
{'set', 'interfix', 'yi'},
{'set', 'possessive_third', 'si'},
}
},
{
arg_type = 'yiyi',
actions = {
{'set', 'interfix', 'yi'},
{'set', 'possessive_third', 'yi'},
}
},
{
arg_type_NOT = {'std', 'yisi', 'yiyi'},
actions = {{'set', 'type_expected', '1'}}
},
},
},
{
subsection = 'When last letters are "iy"',
last = 'iy',
actions = {{'set', 'possessive_third', 'si'}}
},
{
subsection = 'When last letter is "k" or "q"',
},
{
last = 'k',
arg_type = 'std',
actions = {{'set', 'base_possessive', {'replace', 'base', 'k$', 'g'}}}
},
{
last = 'q',
arg_type = 'std',
actions = {{'set', 'base_possessive', {'replace', 'base', 'q$', 'gʻ'}}}
},
{
last = {'k', 'q'},
sub_conditions = {
{
arg_type = 'kq',
actions = {{'set', 'base_possessive', '<base>'}}
},
{
arg_type_NOT = {'std', 'kq'},
actions = {{'set', 'type_expected', '1'}}
},
},
},
{
subsection = 'When penultimate letter is vowel and last letter is consonant (except "y")',
pre_last = {'a', 'e', 'i', 'u', 'o', 'oʻ', 'o`', "o'"},
last_NOT = {'a', 'e', 'i', 'u', 'o', 'oʻ', 'o`', "o'", 'y', 'k', 'q'},
sub_conditions = {
{
arg_type = 'reduced',
actions = {{'set', 'base_possessive', {'replace', 'base', '.(.)$', '%1'}}} -- but we don't process case with apostrophe at the end..
},
{
arg_type_NOT = 'reduced',
actions = {{'set', 'base_possessive', '<base>'}}
},
},
},
{
subsection = 'Make decision to show/hide block "Possessive"',
sub_conditions = {
{
var_type_expected = '1',
actions = {{'set', 'show_possessive', ''}}
},
{
var_type_expected_NOT = '1',
actions = {
{'set', 'show_possessive', '1'},
{'set', 'type_expected', ''}, -- just to create empty variable to send to template
}
},
},
},
{
section = 'If there are no plural forms',
comment = 'This rule should be the last one. Otherwise — removing of plural form can be overriden by other classes',
arg_st = '1', -- if we've received argument "st" equals to "1"
actions = {{'add_class', 'singularia_tantum'}}
},
},
classes = {
common = {
nominative_sg = '<base>',
genitive_sg = '<base><genitive>',
accusative_sg = '<base><accusative>',
locative_sg = '<base><locative>',
ablative_sg = '<base><ablative>',
dative_sg = '<base><dative>',
nominative_pl = '<base><pl>',
genitive_pl = '<base><pl><genitive>',
accusative_pl = '<base><pl><accusative>',
locative_pl = '<base><pl><locative>',
ablative_pl = '<base><pl><ablative>',
dative_pl = '<base><pl><dative>',
show_possessive = '<show_possessive>',
type_expected = '<type_expected>',
},
dative_k = {
dative_sg = '<base><dative_k>' -- if -k then -kka
},
dative_q = {
dative_sg = '<base><dative_q>' -- if -q then -qqa
},
possessive_nominative = {
nominative_sg_possessive_1sg = '<base_possessive><interfix><possessive_first_sg>',
nominative_sg_possessive_2sg = '<base_possessive><interfix><possessive_second_sg>',
nominative_sg_possessive_3sg = '<base_possessive><possessive_third>',
nominative_sg_possessive_1pl = '<base_possessive><interfix><possessive_first_pl>',
nominative_sg_possessive_2pl = '<base_possessive><interfix><possessive_second_pl>',
nominative_sg_possessive_3pl = '<base_possessive><possessive_third>',
nominative_pl_possessive_1sg = '<base><pl>i<possessive_first_sg>',
nominative_pl_possessive_2sg = '<base><pl>i<possessive_second_sg>',
nominative_pl_possessive_3sg = '<base><pl>i',
nominative_pl_possessive_1pl = '<base><pl>i<possessive_first_pl>',
nominative_pl_possessive_2pl = '<base><pl>i<possessive_second_pl>',
nominative_pl_possessive_3pl = '<base><pl>i',
},
possessive_other = {
genitive_sg_possessive_1sg = '<nominative_sg_possessive_1sg><genitive>',
genitive_sg_possessive_2sg = '<nominative_sg_possessive_2sg><genitive>',
genitive_sg_possessive_3sg = '<nominative_sg_possessive_3sg><genitive>',
genitive_sg_possessive_1pl = '<nominative_sg_possessive_1pl><genitive>',
genitive_sg_possessive_2pl = '<nominative_sg_possessive_2pl><genitive>',
genitive_sg_possessive_3pl = '<nominative_sg_possessive_3pl><genitive>',
accusative_sg_possessive_1sg = '<nominative_sg_possessive_1sg><accusative>',
accusative_sg_possessive_2sg = '<nominative_sg_possessive_2sg><accusative>',
accusative_sg_possessive_3sg = '<nominative_sg_possessive_3sg><accusative>',
accusative_sg_possessive_1pl = '<nominative_sg_possessive_1pl><accusative>',
accusative_sg_possessive_2pl = '<nominative_sg_possessive_2pl><accusative>',
accusative_sg_possessive_3pl = '<nominative_sg_possessive_3pl><accusative>',
locative_sg_possessive_1sg = '<nominative_sg_possessive_1sg><locative>',
locative_sg_possessive_2sg = '<nominative_sg_possessive_2sg><locative>',
locative_sg_possessive_3sg = '<nominative_sg_possessive_3sg><locative>',
locative_sg_possessive_1pl = '<nominative_sg_possessive_1pl><locative>',
locative_sg_possessive_2pl = '<nominative_sg_possessive_2pl><locative>',
locative_sg_possessive_3pl = '<nominative_sg_possessive_3pl><locative>',
ablative_sg_possessive_1sg = '<nominative_sg_possessive_1sg><ablative>',
ablative_sg_possessive_2sg = '<nominative_sg_possessive_2sg><ablative>',
ablative_sg_possessive_3sg = '<nominative_sg_possessive_3sg><ablative>',
ablative_sg_possessive_1pl = '<nominative_sg_possessive_1pl><ablative>',
ablative_sg_possessive_2pl = '<nominative_sg_possessive_2pl><ablative>',
ablative_sg_possessive_3pl = '<nominative_sg_possessive_3pl><ablative>',
dative_sg_possessive_1sg = '<nominative_sg_possessive_1sg><dative>',
dative_sg_possessive_2sg = '<nominative_sg_possessive_2sg><dative>',
dative_sg_possessive_3sg = '<nominative_sg_possessive_3sg><dative>',
dative_sg_possessive_1pl = '<nominative_sg_possessive_1pl><dative>',
dative_sg_possessive_2pl = '<nominative_sg_possessive_2pl><dative>',
dative_sg_possessive_3pl = '<nominative_sg_possessive_3pl><dative>',
genitive_pl_possessive_1sg = '<nominative_pl_possessive_1sg><genitive>',
genitive_pl_possessive_2sg = '<nominative_pl_possessive_2sg><genitive>',
genitive_pl_possessive_3sg = '<nominative_pl_possessive_3sg><genitive>',
genitive_pl_possessive_1pl = '<nominative_pl_possessive_1pl><genitive>',
genitive_pl_possessive_2pl = '<nominative_pl_possessive_2pl><genitive>',
genitive_pl_possessive_3pl = '<nominative_pl_possessive_3pl><genitive>',
accusative_pl_possessive_1sg = '<nominative_pl_possessive_1sg><accusative>',
accusative_pl_possessive_2sg = '<nominative_pl_possessive_2sg><accusative>',
accusative_pl_possessive_3sg = '<nominative_pl_possessive_3sg><accusative>',
accusative_pl_possessive_1pl = '<nominative_pl_possessive_1pl><accusative>',
accusative_pl_possessive_2pl = '<nominative_pl_possessive_2pl><accusative>',
accusative_pl_possessive_3pl = '<nominative_pl_possessive_3pl><accusative>',
locative_pl_possessive_1sg = '<nominative_pl_possessive_1sg><locative>',
locative_pl_possessive_2sg = '<nominative_pl_possessive_2sg><locative>',
locative_pl_possessive_3sg = '<nominative_pl_possessive_3sg><locative>',
locative_pl_possessive_1pl = '<nominative_pl_possessive_1pl><locative>',
locative_pl_possessive_2pl = '<nominative_pl_possessive_2pl><locative>',
locative_pl_possessive_3pl = '<nominative_pl_possessive_3pl><locative>',
ablative_pl_possessive_1sg = '<nominative_pl_possessive_1sg><ablative>',
ablative_pl_possessive_2sg = '<nominative_pl_possessive_2sg><ablative>',
ablative_pl_possessive_3sg = '<nominative_pl_possessive_3sg><ablative>',
ablative_pl_possessive_1pl = '<nominative_pl_possessive_1pl><ablative>',
ablative_pl_possessive_2pl = '<nominative_pl_possessive_2pl><ablative>',
ablative_pl_possessive_3pl = '<nominative_pl_possessive_3pl><ablative>',
dative_pl_possessive_1sg = '<nominative_pl_possessive_1sg><dative>',
dative_pl_possessive_2sg = '<nominative_pl_possessive_2sg><dative>',
dative_pl_possessive_3sg = '<nominative_pl_possessive_3sg><dative>',
dative_pl_possessive_1pl = '<nominative_pl_possessive_1pl><dative>',
dative_pl_possessive_2pl = '<nominative_pl_possessive_2pl><dative>',
dative_pl_possessive_3pl = '<nominative_pl_possessive_3pl><dative>',
},
singularia_tantum = {
nominative_pl = '—',
genitive_pl = '—',
accusative_pl = '—',
locative_pl = '—',
ablative_pl = '—',
dative_pl = '—',
nominative_pl_possessive_1sg = '—',
nominative_pl_possessive_2sg = '—',
nominative_pl_possessive_3sg = '—',
nominative_pl_possessive_1pl = '—',
nominative_pl_possessive_2pl = '—',
nominative_pl_possessive_3pl = '—',
genitive_pl_possessive_1sg = '—',
genitive_pl_possessive_2sg = '—',
genitive_pl_possessive_3sg = '—',
genitive_pl_possessive_1pl = '—',
genitive_pl_possessive_2pl = '—',
genitive_pl_possessive_3pl = '—',
accusative_pl_possessive_1sg = '—',
accusative_pl_possessive_2sg = '—',
accusative_pl_possessive_3sg = '—',
accusative_pl_possessive_1pl = '—',
accusative_pl_possessive_2pl = '—',
accusative_pl_possessive_3pl = '—',
locative_pl_possessive_1sg = '—',
locative_pl_possessive_2sg = '—',
locative_pl_possessive_3sg = '—',
locative_pl_possessive_1pl = '—',
locative_pl_possessive_2pl = '—',
locative_pl_possessive_3pl = '—',
ablative_pl_possessive_1sg = '—',
ablative_pl_possessive_2sg = '—',
ablative_pl_possessive_3sg = '—',
ablative_pl_possessive_1pl = '—',
ablative_pl_possessive_2pl = '—',
ablative_pl_possessive_3pl = '—',
dative_pl_possessive_1sg = '—',
dative_pl_possessive_2sg = '—',
dative_pl_possessive_3sg = '—',
dative_pl_possessive_1pl = '—',
dative_pl_possessive_2pl = '—',
dative_pl_possessive_3pl = '—',
},
},
}