Module:Dict

From Annwan’s Wiki
Revision as of 13:33, 14 April 2025 by Annwan (talk | contribs)
Jump to navigation Jump to search

local exports = {}

local langdata = require('Module:Data/Langs')
local posdata = require('Module:Data/POS')
local scriptdata = require("Module:Data/Scripts")

exports.head = function(frame)
	local headword = frame.args[1]
	local lang = frame.args["lang"]
	local pos = frame.args["pos"]
	local translit = frame.args["translit"]
	local ss = frame.args["ss"]
	local sc = frame.args["sc"]
	local ipa = frame.args["ipa"]
	assert(lang)
	assert(pos)
	assert(ipa)
	ipa = frame:expandTemplate{ title = "IPA", args = {"/" .. ipa .. "/" }}
	if (not translit) or translit == "" then
		translit = ""
	else
		translit = " (" .. translit .. ")"
	end
	local head
	if sc and sc ~= "" then
		head = ss ~= "" and ss or headword
		head = frame:expandTemplate{ title = 'Scr', args = { sc, head, float = scriptdata[sc].dictfloat, addclass="dict" }}
		translit = scriptdata[sc].dictfloat == "" and " (" .. headword .. ")" or headword
	else
		head = "'''" .. headword .. "'''"
	end
	return head .. translit .. " " .. ipa .. " ''" .. pos .. ".''\n"
		.. "[[Category:" .. tostring(langdata[lang].display_name) .. " " .. tostring(posdata[pos]) .. "]]\n"
		.. "[[Category:" .. tostring(langdata[lang].display_name) .. " Lemmas]]"
end

return exports