Module:User:Oyunqi/ug-headword2
Jump to navigation
Jump to search
- This module lacks a documentation subpage. You may create it.
- Useful links: root page • root page’s subpages • links • transclusions • testcases • user page • user talk page • userspace
This is a private module sandbox of Oyunqi, for their own experimentation. Items in this module may be added and removed at Oyunqi's discretion; do not rely on this module's stability.
local export = {}
local m_com = require("Module:User:Oyunqi/ug-common2")
local pos_functions = {}
local lang = require("Module:languages").getByCode("ug")
local PAGENAME = mw.title.getCurrentTitle().subpageText
function export.make_plural_noun(singular, vv, change)
local base, v, c = m_com.getLast(singular)
if change == "yes" then
if vv ~= nil and vv ~= "" then
v = vv
else
if c == "" and (v == "ا" or v == "ە") then
v = "ى"
end
end
end
local term = base .. v .. c
local tongue = m_com.checkTongue(singular)
if tongue == "front" then
return term .. "لەر"
elseif tongue == "back" then
return term .. "لار"
end
return nil
end
function export.noun(frame)
local params = {
[1] = {}, -- Vowel, if there is a change
["pl"] = {}, --plural override
["head"] = {},
["change"] = {}, -- yes or (else:no)
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local data = {
lang = lang,
pos_category = "nouns",
categories = {},
heads = {args["head"]},
inflections = {enable_auto_translit = true}
}
local pl = args["pl"] or nil
local change = args["change"] or "yes"
if pl == "-" then
table.insert(data.inflections, {label = "[[Appendix:Glossary#uncountable|uncountable]]"})
table.insert(data.categories, "Uyghur uncountable nouns")
else
if not pl then
local plural = export.make_plural_noun(PAGENAME, args[1], change)
if plural then
pl = plural
else
table.insert(data.categories, "Uyghur nouns with unpredictable plurals")
end
end
if pl then
local infl = {label = 'plural', {term=pl}}
table.insert(data.inflections, infl)
-- else
-- table.insert(data.categories, "Uyghur nouns needing plural inflection")
end
end
if pl and not mw.title.new(pl).exists then
table.insert(data.categories, "Missing Uyghur noun forms")
end
return require("Module:headword").full_headword(data)
end
return export