Difference between revisions of "Module:Sandbox/Erutuon/Glossing abbreviations"
< Module:Sandbox | Erutuon
Jump to navigation
Jump to search
blackwiki>Erutuon (fixed) |
blackwiki>Erutuon (remove final periods, convert to lowercase; add more) |
||
| Line 8: | Line 8: | ||
["2p"] = "second person plural", | ["2p"] = "second person plural", | ||
["3p"] = "third person plural", | ["3p"] = "third person plural", | ||
| + | ["ind"] = "indicative mood", | ||
| + | ["sjv"] = "subjunctive mood", | ||
| + | ["part"] = "participle", | ||
| + | ["imp"] = "imperative", | ||
} | } | ||
| + | |||
| + | data["sbjv"] = data["sjv"] | ||
function p.abbr(frame) | function p.abbr(frame) | ||
local args = frame:getParent().args[1] and frame:getParent().args or frame.args | local args = frame:getParent().args[1] and frame:getParent().args or frame.args | ||
local abbreviation = args[1] or error("Provide an abbreviation in parameter 1") | local abbreviation = args[1] or error("Provide an abbreviation in parameter 1") | ||
| − | local expanded = data[ | + | local key = string.gsub(abbreviation, "%.$", "") |
| + | key = string.lower(key) | ||
| + | local expanded = data[key] or error("The abbreviation "..(abbreviation or "nil").." is not recognized") | ||
return '<abbr title="'..expanded..'">'..abbreviation..'</abbr>' | return '<abbr title="'..expanded..'">'..abbreviation..'</abbr>' | ||
end | end | ||
return p | return p | ||
Revision as of 01:54, 15 October 2016
This was an early module designed to format and expand glossing abbreviations. It was used by an earlier version of Template:Gloss-abbr. It has been superseded by Template:gcl (which uses Module:Interlinear).
local p = {}
local data = {
["1s"] = "first person singular",
["2s"] = "second person singular",
["3s"] = "third person plural",
["1p"] = "first person plural",
["2p"] = "second person plural",
["3p"] = "third person plural",
["ind"] = "indicative mood",
["sjv"] = "subjunctive mood",
["part"] = "participle",
["imp"] = "imperative",
}
data["sbjv"] = data["sjv"]
function p.abbr(frame)
local args = frame:getParent().args[1] and frame:getParent().args or frame.args
local abbreviation = args[1] or error("Provide an abbreviation in parameter 1")
local key = string.gsub(abbreviation, "%.$", "")
key = string.lower(key)
local expanded = data[key] or error("The abbreviation "..(abbreviation or "nil").." is not recognized")
return '<abbr title="'..expanded..'">'..abbreviation..'</abbr>'
end
return p