Modul:0headword/util

Üdvözlöm, Ön a Modul:0headword/util szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:0headword/util szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a Modul:0headword/util szót egyes és többes számban mondani. Minden, amit a Modul:0headword/util szóról tudni kell, itt található. A Modul:0headword/util szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:0headword/util és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

A modult a Modul:0headword/util/doc lapon tudod dokumentálni

local export = {}

local normalize_keys = {
	 = "genders",
	 = "translit",
	 = "transcription",
}

local function parse_and_apply_tags(result, tags)
	local last_key = nil
	for tag in mw.ustring.gmatch(tags, "+") do
		local key, value = mw.ustring.match(tag, "(+):(.*)")
		if not value then
			value = tag
			if last_key then
				result = result .. "," .. value
			end
		else
			key = normalize_keys or key
			result = value
			last_key = key
		end
	end
end

-- parses <key:value> pairs in inflections. modifies the table passed in.
function export.parse_overrides_in_inflections(inflections)
	for _, inflection in ipairs(inflections) do
		for index, inflected_form in ipairs(inflection) do
			local term = inflected_form
			if type(term) == "table" then
				term = term.term
			end
			
			if type(term) == "string" then
				local tag_start, tag_end = mw.ustring.find(term, "<.+>$")
				if tag_start then
					local result
					local tag = mw.ustring.sub(term, tag_start + 1, tag_end - 1)
					term = mw.ustring.sub(term, 1, tag_start - 1)
		
					if type(inflected_form) == "table" then
						result = inflected_form
					else
						result = { term = term }
					end
					
					parse_and_apply_tags(result, tag)
					
					if type(result.genders) == "string" then
						result.genders = mw.text.split(result.genders, ",")
					end
					if type(result.q) == "string" then
						result.q = mw.text.split(result.q, ",")
					end
					inflection = result
				end
			end
		end
	end
end

return export