Module:sux-registers
Jump to navigation
Jump to search
- This module lacks a documentation subpage. Please create it.
- Useful links: subpage list • links • transclusions • testcases • sandbox
local export = {}
local m_register_data = mw.loadData("Module:sux-registers/data")
local lang = require("Module:languages").getByCode("sux")
local m_links = require("Module:links")
local m_strutils = require("Module:string utilities")
local function format_list_items(items)
local result = {}
for _, item in ipairs(items) do
item = m_links.full_link { lang = lang, term = item.term, tr = item.tr }
table.insert(result, '\n' .. item)
end
return table.concat(result)
end
function export.create_list(args)
if type(args) ~= "table" then
error("expected table, got " .. type(args))
end
local output = {}
table.insert(output, [[<div class="term-list ul-column-count" data-column-count="1" >]])
table.insert(output, format_list_items(args))
table.insert(output, '</div>')
return table.concat(output)
end
function export.show(frame)
local args = frame:getParent().args
if args[1] or args[1] ~= "" then
meaning = args[1]
else
error("Specify a meaning.")
end
local data = m_register_data[meaning] or nil
if data then
local emegir = data.emegir
local emesal = data.emesal
local template = [===[
{| class="floatright wikitable" style="max-width: 25em;"
|+ style="text-align:center; white-space: nowrap;"| “{meaning}”
|- style="text-align:center;"
! [[w:Sumerian language#Dialects|Emegir]]
| {emegir}
|- style="text-align:center;"
! [[w:Sumerian language#Dialects|Emesal]]
| {emesal}
|-
|{\cl}]===]
local forms = {}
forms["meaning"] = meaning
forms["emegir"] = export.create_list(emegir)
forms["emesal"] = export.create_list(emesal)
return m_strutils.format(template, forms)
else
error("The sense “" .. meaning .. "” is not found in [[Module:sux-registers/data]].")
end
end
return export