Module:txg-headword
Appearance
- This module lacks a documentation subpage. Please create it.
- Useful links: subpage list • links • transclusions • testcases • sandbox
local export = {}
local m_headword = require("Module:headword")
local m_param = require("Module:parameters")
local txg = require("Module:languages").getByCode("txg")
local Tang_pattern = "[" .. require("Module:scripts").getByCode("Tang"):getCharacters() .. "]"
local pagename = mw.loadData("Module:headword/data").pagename
local function lang_txg(text)
return '<span class="Tang" lang="txg">' .. text .. '</span>'
end
local function l_txg(text)
return lang_txg("[[" .. text .. "#Tangut|" .. text .. "]]")
end
function export.char(frame)
local params = {
[1] = {list = true},
["rad"] = {},
["as"] = {},
["sn"] = {},
["ids"] = {},
}
local args = m_param.process(frame:getParent().args, params)
if args[1] then
for i,cat in ipairs(args[1]) do
args[1][i] = "Tangut "..cat.."s"
end
end
local data = {
lang = txg,
pagename = nil,
heads = {'<span style="font-size:200%;">' .. pagename .. '</span>'},
pos_category = "logograms",
categories = args[1],
sort_key = nil, --TODO?
}
if args.rad then
args.rad = "[[Appendix:Tangut radical/" .. args.rad .. "|" .. lang_txg(args.rad) .. "]]"
end
if args.ids then
args.ids = lang_txg(mw.ustring.gsub(args.ids,Tang_pattern,l_txg("%0")))
end
return m_headword.full_headword(data) .. " ("
.. (args.rad and ("''radical'' " .. args.rad .. "+" .. args.as .. ", " .. args.sn .. " strokes") or "")
.. (args.ids and (", ''composition'' " .. args.ids) or "")
.. ")"
end
return export