Capil ka isi

Modul:uz-inflection/data/uz-noun-test

Matan Wiktionary

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 = '—',
		},
	},
}