Modul:0wikimedia languages

Üdvözlöm, Ön a Modul:0wikimedia languages szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:0wikimedia languages szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a Modul:0wikimedia languages szót egyes és többes számban mondani. Minden, amit a Modul:0wikimedia languages szóról tudni kell, itt található. A Modul:0wikimedia languages szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:0wikimedia languages és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

A modult a Modul:0wikimedia languages/doc lapon tudod dokumentálni

local export = {}

local WikimediaLanguage = {}

function WikimediaLanguage:getCode()
	return self._code
end

function WikimediaLanguage:getCanonicalName()
	return self._rawData.canonicalName
end

--function WikimediaLanguage:getAllNames()
--	return self._rawData.names
--end

--].]==]
function WikimediaLanguage:hasType(...)
	if not self._type then
		self._type = { = true}
		if self._rawData.type then
			for _, type in ipairs(mw.text.split(self._rawData.type, "%s*,%s*")) do
				self._type = true
			end
		end
	end
	for _, type in ipairs{...} do
		if not self._type then
			return false
		end
	end
	return true
end

function WikimediaLanguage:getWiktionaryLanguage()
	if not self._wiktionaryLanguageObject then
		self._wiktionaryLanguageObject = require("Module:0languages").getByCode(self._rawData.wiktionary_code)
	end
	
	return self._wiktionaryLanguageObject
end

-- Do NOT use this method!
-- All uses should be pre-approved on the talk page!
function WikimediaLanguage:getRawData()
	return self._rawData
end

WikimediaLanguage.__index = WikimediaLanguage

function export.getByCode(code)
	-- Only accept codes the software recognises
	if not mw.language.isKnownLanguageTag(code) then
		return nil
	end
	
	local rawData = mw.loadData("Module:0wikimedia languages/data")
	
	-- If there is no specific Wikimedia code, then "borrow" the information
	-- from the general Wiktionary language code
	if not rawData then
		local lang = require("Module:0languages").getByCode(code)
		
		if not lang then
			return nil
		end
		
		rawData = {canonicalName = lang:getCanonicalName(), wiktionary_code = code}
	elseif not rawData.canonicalName then
		rawData = {canonicalName = require("Module:0languages").getByCode(rawData.wiktionary_code):getCanonicalName(), wiktionary_code = rawData.wiktionary_code}
	end
	
	return setmetatable({_rawData = rawData, _code = code}, WikimediaLanguage)
end

function export.getByCodeWithFallback(code)
	local object = export.getByCode(code)
	
	if object then
		return object
	end
	
	local lang = require("Module:0languages").getByCode(code)
	
	if not lang then
		return nil
	end
	
	return lang:getWikimediaLanguages()
end

return export