Module:cognates: Difference between revisions
Jump to navigation
Jump to search
TheNightAvl (talk | contribs) (Created page with "local export = {} local getArgs = require('Module:Arguments').getArgs local m_inline = require("Module:inline") local m_languages = require("Module:languages") local m_links = require("Module:links") function export.show(frame) local args = getArgs(frame) local links = {} local nat = m_languages.find_by_code(args[1] or "") ~= nil and m_languages.get_by_code(args[1]) local params = { nocap = false, } for lang, entry in pairs(args) do if type(lang) == "string...") |
TheNightAvl (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
data["term"] = term | data["term"] = term | ||
data["showlanguage"] = true | data["showlanguage"] = true | ||
local link = m_links.full_link(data) | local link = m_links.full_link(data, "term") | ||
if nat then | if nat then | ||
link = link .. "[[Category:" .. nat.name .. " terms with " .. lang.name .. " cognates]]" | link = link .. "[[Category:" .. nat.name .. " terms with " .. lang.name .. " cognates]]" |
Revision as of 22:05, 6 August 2024
Underlies {{cognates}}
.
local export = {}
local getArgs = require('Module:Arguments').getArgs
local m_inline = require("Module:inline")
local m_languages = require("Module:languages")
local m_links = require("Module:links")
function export.show(frame)
local args = getArgs(frame)
local links = {}
local nat = m_languages.find_by_code(args[1] or "") ~= nil and m_languages.get_by_code(args[1])
local params = {
nocap = false,
}
for lang, entry in pairs(args) do
if type(lang) == "string" then
if m_languages.find_by_code(lang) then
local term, data = m_inline.parse(entry)
local cat = ""
lang = m_languages.get_by_code(lang)
data["language"] = lang
data["term"] = term
data["showlanguage"] = true
local link = m_links.full_link(data, "term")
if nat then
link = link .. "[[Category:" .. nat.name .. " terms with " .. lang.name .. " cognates]]"
end
table.insert(links, link)
elseif params[lang] ~= nil then --check for parameters
params[lang] = true
end
end
end
local text = ((params.nocap and "c") or "C") .. "ognate with "
for i, link in ipairs(links) do
if i > 1 then
if links[i + 1] then
text = text .. ", "
else
text = text .. " and "
end
end
text = text .. link
end
return text
end
return export
--[[
Debug console test string:
=p.show(mw.getCurrentFrame():newChild{title="whatever",args={["rad"]="vas", ["lfv"] = "vat"}})
]]