Module:mg-noun/data: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
local stem = data.head; local inserted = gsub(stem, "(.)o$", "i%1") | local stem = data.head; local inserted = gsub(stem, "(.)o$", "i%1") | ||
local s1 = sub(stem, 1, -2); data.decl_type = "o" | local s1 = sub(stem, 1, -2); data.decl_type = "o" | ||
table.insert(data.categories, "Modern Gallaecian o-declension nouns") | table.insert(data.categories, "Modern Gallaecian o-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {s1 .. "o"} | data.forms["di_s"] = {s1 .. "o"} | ||
Line 35: | Line 35: | ||
local stem = data.head; data.decl_type = "a" | local stem = data.head; data.decl_type = "a" | ||
local s1 = sub(stem, 1, -2) | local s1 = sub(stem, 1, -2) | ||
table.insert(data.categories, "Modern Gallaecian a-declension nouns") | table.insert(data.categories, "Modern Gallaecian a-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {s1 .. "a"} | data.forms["di_s"] = {s1 .. "a"} | ||
Line 56: | Line 56: | ||
local stem = data.head; data.decl_type = "e" | local stem = data.head; data.decl_type = "e" | ||
local s1 = sub(stem, 1, -2) | local s1 = sub(stem, 1, -2) | ||
table.insert(data.categories, "Modern Gallaecian e-declension nouns") | table.insert(data.categories, "Modern Gallaecian e-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {s1 .. "e"} | data.forms["di_s"] = {s1 .. "e"} | ||
Line 79: | Line 79: | ||
local changes = {["d"] = "n", ["z"] = "i", ["ñ"] = "n"} | local changes = {["d"] = "n", ["z"] = "i", ["ñ"] = "n"} | ||
local changed = gsub(s1, ".$", function(foo) return changes[foo] or "-" end) | local changed = gsub(s1, ".$", function(foo) return changes[foo] or "-" end) | ||
table.insert(data.categories, "Modern Gallaecian n-declension nouns") | table.insert(data.categories, "Modern Gallaecian n-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {stem} | data.forms["di_s"] = {stem} | ||
Line 102: | Line 102: | ||
local stem = data.head; data.decl_type = "r" | local stem = data.head; data.decl_type = "r" | ||
local s1 = sub(stem, 1, -2); local s2 = sub(stem, 1, -3) | local s1 = sub(stem, 1, -2); local s2 = sub(stem, 1, -3) | ||
table.insert(data.categories, "Modern Gallaecian r-declension nouns") | table.insert(data.categories, "Modern Gallaecian r-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {s1 .. "r"} | data.forms["di_s"] = {s1 .. "r"} | ||
Line 123: | Line 123: | ||
local stem = data.head; data.decl_type = "nt" | local stem = data.head; data.decl_type = "nt" | ||
local s1 = sub(stem, 1, -2) | local s1 = sub(stem, 1, -2) | ||
table.insert(data.categories, "Modern Gallaecian nt-declension nouns") | table.insert(data.categories, "Modern Gallaecian nt-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {s1 .. "n"} | data.forms["di_s"] = {s1 .. "n"} | ||
Line 143: | Line 143: | ||
setmetatable(data["consonant"], {__call = function(self, args, data) | setmetatable(data["consonant"], {__call = function(self, args, data) | ||
local stem = data.head; data.decl_type = "consonant" | local stem = data.head; data.decl_type = "consonant" | ||
table.insert(data.categories, "Modern Gallaecian consonant-declension nouns") | table.insert(data.categories, "Modern Gallaecian consonant-declension " .. (data.proper and "proper" or "") .. " nouns") | ||
data.forms["di_s"] = {stem} | data.forms["di_s"] = {stem} |
Revision as of 15:33, 12 September 2021
- The following documentation is located at Module:mg-noun/data/doc.[edit]
- Useful links: root page • root page's subpages • links • transclusions • testcases • sandbox
local sub = mw.ustring.sub
local gsub = mw.ustring.gsub
local match = mw.ustring.match
local PAGENAME = mw.title.getCurrentTitle().text
local data = {}
data["o"] = {
params = {
[1] = {},
},
}
setmetatable(data["o"], {__call = function(self, args, data)
local stem = data.head; local inserted = gsub(stem, "(.)o$", "i%1")
local s1 = sub(stem, 1, -2); data.decl_type = "o"
table.insert(data.categories, "Modern Gallaecian o-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {s1 .. "o"}
data.forms["da_s"] = {s1 .. "o"}
data.forms["lo_s"] = {inserted .. "e"}
data.forms["di_p"] = {s1 .. "os"}
data.forms["da_p"] = {s1 .. "ú"}
data.forms["lo_p"] = {s1 .. "ui"}
end
})
data["a"] = {
params = {
[1] = {},
},
}
setmetatable(data["a"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "a"
local s1 = sub(stem, 1, -2)
table.insert(data.categories, "Modern Gallaecian a-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {s1 .. "a"}
data.forms["da_s"] = {s1 .. "e"}
data.forms["lo_s"] = {s1 .. "e"}
data.forms["di_p"] = {s1 .. "as"}
data.forms["da_p"] = {s1 .. "au"}
data.forms["lo_p"] = {s1 .. "ai"}
end
})
data["e"] = {
params = {
[1] = {},
},
}
setmetatable(data["e"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "e"
local s1 = sub(stem, 1, -2)
table.insert(data.categories, "Modern Gallaecian e-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {s1 .. "e"}
data.forms["da_s"] = {s1 .. "e"}
data.forms["lo_s"] = {s1 .. "e"}
data.forms["di_p"] = {s1 .. "es"}
data.forms["da_p"] = {s1 .. "iu"}
data.forms["lo_p"] = {s1 .. "ei"}
end
})
data["n"] = {
params = {
[1] = {},
},
}
setmetatable(data["n"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "n"
local s1 = sub(stem, 1, -2); local s2 = sub(stem, 1, -3)
local changes = {["d"] = "n", ["z"] = "i", ["ñ"] = "n"}
local changed = gsub(s1, ".$", function(foo) return changes[foo] or "-" end)
table.insert(data.categories, "Modern Gallaecian n-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {stem}
data.forms["di_p"] = {s2 .. "nes"}
if not match(changed, "-") then
data.forms["da_s"] = {changed .. "ne"}
data.forms["lo_s"] = {changed .. "ne"}
data.forms["da_p"] = {changed .. "nú"}
data.forms["lo_p"] = {changed .. "nui"}
end
end
})
data["r"] = {
params = {
[1] = {},
},
}
setmetatable(data["r"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "r"
local s1 = sub(stem, 1, -2); local s2 = sub(stem, 1, -3)
table.insert(data.categories, "Modern Gallaecian r-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {s1 .. "r"}
data.forms["da_s"] = {s2 .. "re"}
data.forms["lo_s"] = {s2 .. "re"}
data.forms["di_p"] = {s2 .. "res"}
data.forms["da_p"] = {s2 .. "rú"}
data.forms["lo_p"] = {s2 .. "rui"}
end
})
data["nt"] = {
params = {
[1] = {},
},
}
setmetatable(data["nt"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "nt"
local s1 = sub(stem, 1, -2)
table.insert(data.categories, "Modern Gallaecian nt-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {s1 .. "n"}
data.forms["da_s"] = {s1 .. "nze"}
data.forms["lo_s"] = {s1 .. "nze"}
data.forms["di_p"] = {s1 .. "ndes"}
data.forms["da_p"] = {s1 .. "ndú"}
data.forms["lo_p"] = {s1 .. "ndui"}
end
})
data["consonant"] = {
params = {
[1] = {},
},
}
setmetatable(data["consonant"], {__call = function(self, args, data)
local stem = data.head; data.decl_type = "consonant"
table.insert(data.categories, "Modern Gallaecian consonant-declension " .. (data.proper and "proper" or "") .. " nouns")
data.forms["di_s"] = {stem}
data.forms["da_s"] = {stem .. "e"}
data.forms["lo_s"] = {stem .. "e"}
data.forms["di_p"] = {stem .. "as"}
data.forms["da_p"] = {stem .. "ú"}
data.forms["lo_p"] = {stem .. "ui"}
end
})
return data