Modul:Kopp
Erscheinungsbild
local export = {}
function export.show(frame)
-- in der nächsten Zeile muss noch die Ausgabe der Vorlage, in der der Fehler ist, eingebunden werden, am bestem als Link, so dass man diese sofort aufrufen kann.
local poscat = frame.args[1] or error("Fähler in Vörlaag: [[" .. frame:getParent():getTitle() .. "]] Angaav vun Woortart fählt")
local args = frame:getParent().args
local lang = args["SPRAAK"] or ((mw.title.getCurrentTitle().nsText == "Vörlaag") and "und")
-- Woort aus Seitennamen holen, soweit Anhang, aus dem Seitennamen herauslösen
local woort = mw.title.getCurrentTitle().subpageText
if lang ~= "MULT" and (require("Modul:languages").getByCode(lang):getType() == "reconstructed" or (require("Modul:languages").getByCode(lang):getType() ~= "appendix-constructed" and mw.title.getCurrentTitle().nsText == "Anhang")) then
local idx = 1
while idx do
idx = woort:find( "/", idx)
if idx then
woort = woort:sub(idx + 1)
idx = 1
end
end
woort = "*" .. woort
end
-- in-Variablen för all Woortarten
local number = args["BEDÜDEN-NR"]
local spraakutgave = args["SPRAAKUTGAVE"]
local translit = args["tr"]; if translit == "" then translit = nil end
local gender = args["GESLECHT"] if gender == nil or gender == "" or gender == "-" or gender == "TEXT" then gender = nil end
local schrift = args["SCHRIFT"] if schrift == nil or schrift == "" or schrift == "-" or schrift == "TEXT" then schrift = nil end
-- ut-Variablen för all Woortarten
local Kopf = "__NOEDITSECTION__" .. '\n' -- gleich mal verhindern, dass man im Text Teile unter Überschriften editieren kann, da zu fehleranfällig
local Kategorien = ""
if poscat == "Adjektiv" then
local komperativ = args["KOMPERATIV"] if komperativ == nil or komperativ == "" or komperativ == "-" or komperativ == "TEXT" then komperativ = nil end
local superlativ = args["SUPERLATIV"] if superlativ == nil or superlativ == "" or superlativ == "-" or superlativ == "TEXT" then superlativ = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Adjektiven utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
if komperativ then
if superlativ then
Kopf = Kopf .. ":Stiegern (Komperativ/Superlativ): " .. require("Modul:links").remove_multilink(komperativ) .." / [[".. superlativ .. "]]" .. '\n'
else
Kopf = Kopf .. ":Stiegern (Komperativ): [[" .. komperativ .."]]" .. '\n'
end
end
elseif poscat == "Adverb" then
local komperativ = args["KOMPERATIV"] if komperativ == nil or komperativ == "" or komperativ == "-" or komperativ == "TEXT" then komperativ = nil end
local superlativ = args["SUPERLATIV"] if superlativ == nil or superlativ == "" or superlativ == "-" or superlativ == "TEXT" then superlativ = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Adjektiven utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
if komperativ then
if superlativ then
Kopf = Kopf .. ":Stiegern (Komperativ/Superlativ): " .. require("Modul:links").remove_multilink(komperativ) .." / [[".. superlativ .. "]]" .. '\n'
else
Kopf = Kopf .. ":Stiegern (Komperativ): [[" .. komperativ .."]]" .. '\n'
end
end
elseif poscat == "Artikel" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Suffixen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Egennaam" then
local plural = args["MEHRTALL"]
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat) .. '\n' ..":([[Wiktionary:Över Substantiven (Allgemeen)|Substantiv]])" .. '\n'
-- wiedere Informatschonen över Egennaams utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
if format_pluralzeile(plural) then
Kopf = Kopf .. format_pluralzeile(plural)
end
elseif poscat == "Demonstrativpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Indefinitpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Interjekschoon" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Interrogativpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Konjunktschoon" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Kürken" then
local satz = args["SATZ"] if satz == nil or satz == "" or satz == "-" or satz == "TEXT" then satz = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Snack utgeven
if satz then
Kopf = Kopf .. satz
else
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
elseif poscat == "Numeral" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Personalpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Possessivpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Präfix" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Präfixen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Präpositschoon" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Präpositschonen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Pronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Reflexivpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Relativpronom" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Satz" then
local satz = args["SATZ"] if satz == nil or satz == "" or satz == "-" or satz == "TEXT" then satz = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Sätz utgeven
if satz then
Kopf = Kopf .. satz
else
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
elseif poscat == "Schriftteken" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Schrifttekens utgeven / kein Aufruf von format_woortzeile weil Sonderformat (Buchstabe muss fett sein, keine Transkription)
Kopf = Kopf .. ":"
if number then
Kopf = Kopf .. "<span style=\"color:blue;\"><sup>" .. number .. "</sup></span>" -- fehlt noch <span style="color:blue;"> </span>
end
Kopf = Kopf .. "'''" .. woort .. "'''"
-- obsolet, aber noch nicht alle Artikel umgestellt
elseif poscat == "Snack" then
local satz = args["SATZ"] if satz == nil or satz == "" or satz == "-" or satz == "TEXT" then satz = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Snack utgeven
if satz then
Kopf = Kopf .. satz
else
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
-- obsolet, aber noch nicht alle Artikel umgestellt
elseif poscat == "Sprickwoort" then
local satz = args["SATZ"] if satz == nil or satz == "" or satz == "-" or satz == "TEXT" then satz = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Sätz utgeven
if satz then
Kopf = Kopf .. satz
else
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
elseif poscat == "Spriekel" then
local satz = args["SATZ"] if satz == nil or satz == "" or satz == "-" or satz == "TEXT" then satz = nil end
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Sätz utgeven
if satz then
Kopf = Kopf .. satz
else
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
elseif poscat == "Suffix" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Suffixen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Subjunktion" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Suffixen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Substantiv" then
local plural = args["MEHRTALL"]
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Substantiven utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
if format_pluralzeile(plural) then
Kopf = Kopf .. format_pluralzeile(plural)
end
elseif poscat == "Toponym" then
local plural = args["MEHRTALL"]
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat) .. '\n' ..":([[Wiktionary:Över Egennamen (Allgemeen)|Egennaam]])" .. '\n'.."::([[Wiktionary:Över Substantiven (Allgemeen)|Substantiv]])" .. '\n'
-- wiedere Informatschonen över Toponymen utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
if format_pluralzeile(plural) then
Kopf = Kopf .. format_pluralzeile(plural)
end
elseif poscat == "Verb" then
-- Spraak utgeven, wenn Bedüden < 2
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Verben utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
elseif poscat == "Wörtel" then
-- Spraak utgeven, wenn Bedüden < 2 oder Spraakutgave = +
Kopf = Kopf .. format_spraakzeile(spraakutgave, lang, args, number)
-- Woortaart utgeven
Kopf = Kopf .. format_woortartzeile(poscat)
-- wiedere Informatschonen över Wörteln utgeven
Kopf = Kopf .. format_woortzeile(lang, woort, number, gender, translit, Kategorien)
end
-- Kategorien maken
Kategorien = categories(lang, args, require("Modul:Plural").Hol_Plural(poscat), gender, Kategorien)
return
Kopf .. Kategorien
end
-- Subroutinen
function format_spraakzeile(spraakutgave, lang, args, number)
local spraak = ""
if number == nil or number == "" or number == "1" or spraakutgave == "+" then
if lang == "MULT" then
local ipx = 1
spraak = "== "
if args[ipx] == "frr-a" or args[ipx] == "frr-f" or args[ipx] == "frr-ha" or args[ipx] == "frr-he" or args[ipx] == "frr-m" or args[ipx] == "frr-s" then
spraak = spraak .. require("Modul:languages").getByCode("frr"):getCanonicalName() .. ": "
while ipx <= 30 do
spraak = spraak .. require("Modul:languages").getByCode(args[ipx]):getKoppnaam()
ipx = ipx + 1
if args[ipx] == nil or args[ipx] == "" then
break
end
spraak = spraak .. ", "
end
else
while ipx <= 30 do
spraak = spraak .. require("Modul:languages").getByCode(args[ipx]):getCanonicalName()
ipx = ipx + 1
if args[ipx] == nil or args[ipx] == "" then
break
end
spraak = spraak .. ", "
end
end
spraak = spraak .. " ==" .. '\n'
else
spraak = "== " .. require("Modul:languages").getByCode(lang):getCanonicalName() .. " ==" .. '\n' -- mit or error("De spraokkode \"" .. lang .. "\" is neet geldig.") funktioniert es nicht, muss noch sehen, woran es liegt und was man da machen kann
end
return spraak
else
return spraak
end
end
function format_woortartzeile(poscat)
return "=== [[Wiktionary:Över ".. require("Modul:Plural").Hol_Plural(poscat) .. " (Allgemeen)|" .. (poscat) .. "]] ===" .. '\n' -- noch einzubauen/zu ändern ist diese Verlinkung zu einer Verlinkung ins Wikitionary zu Över (Wortart) sowie die Pluralbildung für die Verlinkung ins Wiktionary
end
-- Woort holen und in Ausgabezeile, soweit Bedüden-Nr diese hochgestellt ausgeben, dann, falls angegeben noch Geschlecht in Klammern und kursiv ausgeben, dann in neuer Zeile gegebenenfalls die Transliteration
function format_woortzeile(lang, woort, number, gender, translit, Kategorien)
local woortzeile = {}
woortzeile = ":"
-- Bedüden-Nr.
if number then
woortzeile = woortzeile .. "<span style=\"color:blue;\"><sup>" .. number .. "</sup></span>" -- fehlt noch <span style="color:blue;"> </span>
end
-- Woort
woortzeile = woortzeile .. woort
-- Geslecht
if gender then
woortzeile = woortzeile .. " (''" .. Hol_Geslecht_lang(gender) .. "'')"
end
-- Transkription
if lang ~= "MULT" then
local spraak = require("Modul:languages").getByCode(lang)
if not schrift then
local schrift = require("Modul:scripts").findBestScript(woort, spraak)
end
-- woortzeile = woortzeile .. require("Modul:languages").lang:transliterate(require("Modul:languages").remove_links(woort), schrift)
-- else
-- if translit then
-- woortzeile = woortzeile .. ":Ümschrift in latiensch Bookstaven: " .. translit .. '\n'
-- end
end
-- neue Zeile anhängen
woortzeile = woortzeile .. '\n'
return woortzeile, Kategorien
end
-- Zeile mit Mehrzahl ausgeben; Schema ":Mehrtall: Pluralform"
function format_pluralzeile(plural)
if not plural then
return
elseif
plural == "" then
return "MEHRTALL ANGEVEN, sünst TEXT oder -"
elseif plural == "TEXT" then
return
elseif plural == "-" then
return
else
plural = mw.ustring.gsub(plural, ', ', ']], [[')
return ":Mehrtall: [[" .. plural .. "]]" .. '\n'
end
end
function categories(lang, args, pos, gender, Kategorien)
if lang == "MULT" then
local ipx = 1
while ipx <= 30 do
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(args[ipx]):getCanonicalName() .. "]]"
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(args[ipx]):getCanonicalName() .. " " .. pos .. "]]"
if gender then
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(args[ipx]):getCanonicalName() .. " " .. pos .. " (" .. Hol_Geslecht_lang(gender) .. ")]]"
end
ipx = ipx + 1
if args[ipx] == nil or args[ipx] == "" then
break
end
end
else
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(lang):getCanonicalName() .. "]]"
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(lang):getCanonicalName() .. " " .. pos .. "]]"
if gender then
Kategorien = Kategorien .. "[[Kategorie:" .. require("Modul:languages").getByCode(lang):getCanonicalName() .. " " .. pos .. " (" .. Hol_Geslecht_lang(gender) .. ")]]"
end
Kategorien = Kategorien .. ' '
end
return Kategorien
end
function Hol_Geslecht_lang(gender)
local beteken = {}
if gender == "m" then beteken = "masculinum"
elseif gender == "f" then beteken = "femininum"
elseif gender == "n" then beteken = "neutrum"
elseif gender == "u" then beteken = "utrum"
elseif gender == "mf" then beteken = "masculinum un femininum"
elseif gender == "mn" then beteken = "masculinum un neutrum"
elseif gender == "fn" then beteken = "femininum un neutrum"
elseif gender == "mp" then beteken = "masculinum Plural"
elseif gender == "fp" then beteken = "femininum Plural"
elseif gender == "np" then beteken = "neutrum Plural"
end
return beteken
end
return export