Modul:lang

Hej, du er kommet her for at finde betydningen af ordet Modul:lang. I DICTIOUS finder du ikke kun alle ordbogens betydninger af ordet Modul:lang, men du lærer også om dets etymologi, dets karakteristika og hvordan man siger Modul:lang i ental og flertal. Alt, hvad du har brug for at vide om ordet Modul:lang, er her. Definitionen af ordet Modul:lang vil hjælpe dig med at være mere præcis og korrekt, når du taler eller skriver dine tekster. Når du kender definitionen afModul:lang og definitionen af andre ord, beriger du dit ordforråd og får flere og bedre sproglige ressourcer.

Dokumentation for dette modul kan oprettes på Modul:lang/dok

local export = {}
local lang_objects = mw.loadData("Modul:lang/data")

local function ucFirst(str)
	return mw.ustring.gsub(str, "^%l", mw.ustring.upper)
end

function export.getLanguage(frame)
	local new_args = export._getParameters(frame.args, { 'code_or_name' });
	local code_or_name = new_args or '';
	local lowercase_code_or_name = mw.ustring.lower(code_or_name)
	local lang_obj = lang_objects or {name = "ukendt sprog"}
	local name = lang_obj.name
	return name
end

-- hvis feltet "upper" er defineret i lang/data, bruges det præferentielt.
function export.getLanguageUCFirst(frame)
	local new_args = export._getParameters(frame.args, { 'code_or_name' });
	local code_or_name = new_args or '';
	local lowercase_code_or_name = mw.ustring.lower(code_or_name)
	local lang_obj = lang_objects or {name = "ukendt sprog"}
	local name = lang_obj.name
	return lang_obj.upper or mw.ustring.gsub(name, "^%l", mw.ustring.upper)
end

function export.hasLanguage(frame)
	local new_args = export._getParameters(frame.args, { 'code_or_name' });
	local code_or_name = new_args or '';
	local lowercase_code_or_name = mw.ustring.lower(code_or_name)
	local lang_obj = lang_objects or {code = "xx"}
	local has_language = (lang_obj.code ~= "xx")
	return has_language
end

function export._getParameters(frame_args, arg_list)
	local new_args = {};
	local index = 1;
	local value;
	
	for _, arg in ipairs(arg_list) do
		value = frame_args
		if value == nil then
			value = frame_args;
			index = index + 1;
		end
		new_args = value;
	end
	
	return new_args;
end

return export