Modul:etymology language/templates
Erscheinungsbild
local export = {}
function export.exists(frame)
local args = frame.args
local etymlang = args[1] or error("Etymology language code has not been specified. Please pass parameter 1 to the module invocation.")
etymlang = require("Modul:etymology language").getByCode(etymlang)
if etymlang then
return "1"
else
return ""
end
end
function export.getByCode(frame)
local args = frame.args
local etymlang = args[1] or error("Etymology language code (parameter 1) has not been specified.")
local itemname = args[2] or error("Function to call (parameter 2) has not been specified.")
etymlang = require("Modul:etymology language").getByCode(etymlang) or error("The etymology language code '" .. etymlang .. "' is not valid.")
-- The item that the caller wanted to look up
if itemname == "getCanonicalName" then
return etymlang:getCanonicalName()
elseif itemname == "getAllNames" then
local index = args[3]; if index == "" then index = nil end
index = tonumber(index or error("Numeric index of the desired item in the list (parameter 3) has not been specified."))
return etymlang:getAllNames()[index] or ""
elseif itemname == "getParentCode" then
return etymlang:getParentCode()
elseif itemname == "getWikipediaArticle" then
return etymlang:getWikipediaArticle()
else
error("Requested invalid item name \"" .. itemname .. "\".")
end
end
function export.etyl(frame)
local args = frame:getParent().args
local source = args[1] or (mw.title.getCurrentTitle().nsText == "Template" and "und") or error("Parameter 1 (source language/family code) has not been specified.")
local lang = args[2]; if lang == "" then lang = nil end
local sort_key = args["sort"]; if sort_key == "" then sort_key = nil end
-- "-" means no language.
if lang then
if lang == "-" then
lang = nil
end
else
error("De lang-parameter is neet op-egovven (parameter 2)")
end
if lang then
lang = require("Modul:languages").getByCode(lang) or error("The language code \"" .. lang .. "\" is not valid.")
end
-- zugefügt und geändert, damit 30 Tochtersprachen kategoriesiert werden können
local Ausgabe =""
i = 2
while i <= 30 do
local lang = args[i];
if lang == "" then lang = nil end
if lang == "-" then
lang = nil
end
if lang then
lang = require("Modul:languages").getByCode(lang) or error("De spraokkode \"" .. lang .. "\" is neet geldig.")
Ausgabe = Ausgabe .. require("Modul:etymology language").format(source, lang, sort_key, i)
else
break
end
i = i + 1
end
return Ausgabe
end
return export