Modul:Wörterbuch/Work

< Modul:Wörterbuch
Version vom 21. Februar 2026, 10:11 Uhr von HeikoBot (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „local p = {} local com = require("Modul:Common") local smw = require("Modul:SMW") local wik = require("Modul:Wiki") local str = require("Modul:String") function p.Mehrzahl(frame) return p.mehrzahl(frame.args[1] or "") end function p.mehrzahl(ez) local mehrzahl = { -- ACHTUNG! ["Attribut"] = "Attribute", -- Die Mehrzahl-Einträge beim Attribut haben Vorrang! ["Audio"] = "Audios", ["Buchreihe"] = "Buchreihen", ["F…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die Dokumentation für dieses Modul kann unter Modul:Wörterbuch/Work/Doku erstellt werden

local p = {}

local com = require("Modul:Common")
local smw = require("Modul:SMW")
local wik = require("Modul:Wiki")
local str = require("Modul:String")

function p.Mehrzahl(frame)
	return p.mehrzahl(frame.args[1] or "")
end

function p.mehrzahl(ez)
	local mehrzahl = {															-- ACHTUNG!
		["Attribut"]				= "Attribute",								-- Die Mehrzahl-Einträge beim Attribut haben Vorrang!
		["Audio"]					= "Audios",
		["Buchreihe"]				= "Buchreihen",
		["Faktenbox"]				= "Faktenboxen",
		["Grundstück"]				= "Grundstücke",
		["Jahrestag"]				= "Jahrestage",
		["Monat"]					= "Monate",
		["Publikation"]				= "Publikationen",
		["Stadtwiki"]				= "Stadtwikis",
		["Video"]					= "Videos",
	}
	-- Attribut-Wörterbuch abfragen
	local query = {"[[Attribut:+]]" ..
		"[[SubObjektTyp::AttributKlasse]]" ..
		"[[Einzahl::" .. ez .. "]]",
		"?Mehrzahl", mainlabel = "-"}
	query = mw.smw.ask(query) or {{}}
	return query[1]["Mehrzahl"] or mehrzahl[ez] or ez
end

function p.setEntry(entry, val, attrlist)
	-- Kommandozeilen zum Debuggen:
	-- attrlist={}; p.setEntry("e", "v", attrlist); mw.logObject(attrlist)
	if not com.isEmpty(val) then
		entry = entry .. "&#x003A;" .. val
		if attrlist ~= nil then
			smw.addAttrToList(attrlist, "Wörterbuch", entry)
		else
			mw.smw.set{["Wörterbuch"] = entry}
		end
	end
end

function p.getEntry(entry, page)
	-- Kommandozeilen zum Debuggen:
	-- 
	page = page or wik.fullpagename()
	local val = mw.smw.ask("[[" .. page .. "]]|?Wörterbuch") or {}
	for _, v in ipairs(val) do
		v = str.split(v["Wörterbuch"], "&#x003A;")
		val[i] = {entry = v[1], val = v[2]}
	end
	return val
end

return p