User:Sarri.greek (CAT) » Module accent qualifier doc :: data doc »»Template:User:Sarri.greek/gkm-IPA
This is Module:accent qualifier and the titles i need from Module:accent qualifier/data for Greek.
-- 2024.03.24. ] -- my notes with !!
-- This is ] -- need the data for the titles of gkm-IPA
local export = {}
local accent_qualifier_data_module = "Module:User:Sarri.greek/accent qualifier/data" -- "Module:accent qualifier/data"
local labels_qualifiers_module = "Module:labels/data/qualifiers"
-- WARNING: Destructively modifies `qualifiers`.
function export.format_qualifiers(qualifiers)
local m_data = mw.loadData(accent_qualifier_data_module)
local m_labels_qualifiers
if type(qualifiers) ~= "table" then
qualifiers = { qualifiers }
end
-- local categories = {}
local omit_preComma = false
local omit_postComma = true
local omit_preSpace = false
local omit_postSpace = true
for i, accent in ipairs(qualifiers) do
omit_preComma = omit_postComma
omit_postComma = false
omit_preSpace = omit_postSpace
omit_postSpace = false
local data
local to_insert
-- Replace an alias with the label that has a data table.
if m_data.aliases then
accent = m_data.aliases
end
-- Retrieve the label's data table.
if m_data.labels then
data = m_data.labels
end
--!! adding tooltip
-- Use the link and displayed text in the data table, if they exist.
if data then
if data.link then
to_insert = "]"
elseif data.display then
to_insert = data.display
end
--[[
if data then
if data.type == "sound change" then
table.insert(categories, lang:getCanonicalName() .. " terms with pronunciations exhibiting " .. accent)
end
end
]]
elseif #qualifiers > 1 then
-- Only check label qualifiers if there's more than one accent given, as an optimization.
m_labels_qualifiers = m_labels_qualifiers or mw.loadData(labels_qualifiers_module)
local labdata = m_labels_qualifiers
if labdata and (type(labdata) == "string" or labdata.alias_of) then
accent = labdata.alias_of or labdata
labdata = m_labels_qualifiers
end
if labdata then
omit_preComma = omit_preComma or labdata.omit_preComma
omit_postComma = labdata.omit_postComma
omit_preSpace = omit_preSpace or labdata.omit_preSpace
omit_postSpace = labdata.omit_postSpace
to_insert = labdata.display or accent
else
to_insert = accent
end
else
to_insert = accent
end
if to_insert then
if to_insert ~= "" then
to_insert =
(omit_preComma and "" or '<span class="ib-comma">,</span>') ..
(omit_preSpace and "" or " ") ..
to_insert
end
qualifiers = to_insert
else
-- FIXME: Does this happen?
qualifiers = ""
end
end
-- is this the parenthesis? Take off
--[=[ it was
return
"<span class=\"ib-brac\">(</span><span class=\"ib-content\">" ..
table.concat(qualifiers, "") ..
"</span><span class=\"ib-brac\">)</span>"
end
]=]--
return
"<span class=\"ib-content\">" ..
table.concat(qualifiers, "")
-- can I put here notes?
end
-- Called by {{accent}} or {{a}}.
function export.show(frame)
local args = frame.getParent and frame:getParent().args or frame
if (not args or args == "") and mw.title.getCurrentTitle().nsText == "Template" then
return export.format_qualifiers("{{{1}}}")
end
local params = {
= {required = true, list = true}
}
args = require("Module:parameters").process(args, params)
return export.format_qualifiers(args)
end
return export