Модуль:Відмінювання прикметників

Матеріал з Minecraft Wiki
Перейти до навігації Перейти до пошуку
[створити] [оновити]Документація
Цей модуль не має документації. Якщо ви знаєте, як використовувати його, будь ласка, створіть її.
local declensions = {
	['1'] = { -- 1a та 1b
		["ч"] = { ["н"] = "ий", ["р"] = "ого", ["д"] = "ому", ["з"] = "ий", ["о"] = "им", ["м"] = "ім" },
		["ж"] = { ["н"] = "а", ["р"] = "ої", ["д"] = "ій", ["з"] = "у", ["о"] = "ою", ["м"] = "ій" },
		["с"] = { ["н"] = "е", ["р"] = "ого", ["д"] = "ому", ["з"] = "е", ["о"] = "им", ["м"] = "ім" },
		["м"] = { ["н"] = "і", ["р"] = "их", ["д"] = "им", ["з"] = "і", ["о"] = "ими", ["м"] = "их" },
	},
	['2a'] = {
		["ч"] = { ["н"] = "ій", ["р"] = "ього", ["д"] = "ьому", ["з"] = "ій", ["о"] = "ім", ["м"] = "ому" },
		["ж"] = { ["н"] = "я", ["р"] = "ьої", ["д"] = "ій", ["з"] = "ю", ["о"] = "ьою", ["м"] = "ій" },
		["с"] = { ["н"] = "є", ["р"] = "ього", ["д"] = "ьому", ["з"] = "є", ["о"] = "ім", ["м"] = "ому" },
		["м"] = { ["н"] = "і", ["р"] = "іх", ["д"] = "ім", ["з"] = "і", ["о"] = "іми", ["м"] = "іх" },
	}
}

local adjectives = {
	["білий"] =        '1',
	["помаранчевий"] = '1',
	["пурпуровий"] =   '1',
	["блакитний"] =    '1',
	["жовтий"] =       '1',
	["лаймовий"] =     '1',
	["рожевий"] =      '1',
	["сірий"] =        '1',
	["світло-сірий"] = '1',
	["бірюзовий"] =    '1',
	["фіолетовий"] =   '1',
	["синій"] =        '2a',
	["коричневий"] =   '1',
	["зелений"] =      '1',
	["червоний"] =     '1',
	["чорний"] =       '1',
	["салатовий"] =    '1',
	["малиновий"] =    '1',

	["будь-який"] =   '1',
	["вощений"] =      '1',
	["невощений"] =    '1',
	["відповідний"] =  '1',
	["пошкоджений"] =  '1',
	["кольоровий"] =   '1',
	
	["обтесаний"] =   '1',
	["наражений"] =   '1',
	["вивітрений"] =  '1',
	["окиснений"] =   '1',
	
	["дерев'яний"] =   '1',
	["кам'яний"] =     '1',
	["залізний"] =     '1',
	["золотий"] =      '1',
	["діамантовий"] =  '1',
	["алмазний"] =     '1',
	["незеритовий"] =  '1',
	["мідний"] =       '1',
	["обсидіановий"] = '1',
	["кварцовий"] =    '1',
	["редстоуновий"] = '1',
	["смарагдовий"] =  '1',
	["лазуритовий"] =  '1',
	["аметистовий"] =  '1',
	["смоляний"] =  '1',
	
	["дубовий"]     = '1',
	["смерековий"]  = '1',
	["березовий"]   = '1',
	["тропічний"]   = '1',
	["акацієвий"]   = '1',
	["багряний"]    = '1',
	["химерний"]    = '1',
	["мангровий"]   = '1',
	["вишневий"]    = '1',
	["бамбуковий"]  = '1',
}

local declensed = {}

for adjective, declension in pairs(adjectives) do
	local adj_decl = assert(declensions[declension], ("невідоме відмінювання «%s» для прикметника «%s»"):format(declension, adjective))
	local stem = mw.ustring.sub(adjective, 0, -3)

	local declensed_data = {}
	for gender, gender_data in pairs(adj_decl) do
		local declensed_gender_data = {}
		for case, case_format in pairs(gender_data) do
			declensed_gender_data[case] = stem .. case_format
		end
		
		declensed_data[gender] = declensed_gender_data
	end
	
	declensed[adjective] = declensed_data
end

return declensed