Module:User:Erutuon/04

Hello, you have come here looking for the meaning of the word Module:User:Erutuon/04. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:User:Erutuon/04, but we will also tell you about its etymology, its characteristics and you will know how to say Module:User:Erutuon/04 in singular and plural. Everything you need to know about the word Module:User:Erutuon/04 you have here. The definition of the word Module:User:Erutuon/04 will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:User:Erutuon/04, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

{
	 = {
		 = "en",
		 = "English",
	},
	 = {
		 = "fr",
		 = "French",
	},
	 = {
		 = "de",
		 = "German",
	},
	 = {
		 = "ka",
		 = "Georgian",
	},
	 = {
		 = "ru",
		 = "Russian",
	},
	 = {
		 = "be",
		 = "Belarusian",
	},
}
{
	 = {
		 = "aa",
		 = "Afar",
	},
	 = {
		 = "ab",
		 = "Abkhaz",
	},
	 = {
		 = "ae",
		 = "Avestan",
	},
	 = {
		 = "af",
		 = "Afrikaans",
	},
	 = {
		 = "ak",
		 = "Akan",
	},
	 = {
		 = "am",
		 = "Amharic",
	},
	 = {
		 = "an",
		 = "Aragonese",
	},
	 = {
		 = "ar",
		 = "Arabic",
	},
	 = {
		 = "as",
		 = "Assamese",
	},
	 = {
		 = "av",
		 = "Avar",
	},
	 = {
		 = "ay",
		 = "Aymara",
	},
	 = {
		 = "az",
		 = "Azeri",
	},
	 = {
		 = "ba",
		 = "Bashkir",
	},
	 = {
		 = "be",
		 = "Belarusian",
	},
	 = {
		 = "bg",
		 = "Bulgarian",
	},
	 = {
		 = "bh",
		 = "Bihari",
	},
	 = {
		 = "bi",
		 = "Bislama",
	},
	 = {
		 = "bm",
		 = "Bambara",
	},
	 = {
		 = "bn",
		 = "Bengali",
	},
	 = {
		 = "bo",
		 = "Tibetan",
	},
	 = {
		 = "br",
		 = "Breton",
	},
	 = {
		 = "ca",
		 = "Catalan",
	},
	 = {
		 = "ce",
		 = "Chechen",
	},
	 = {
		 = "ch",
		 = "Chamorro",
	},
	 = {
		 = "co",
		 = "Corsican",
	},
	 = {
		 = "cr",
		 = "Cree",
	},
	 = {
		 = "cs",
		 = "Czech",
	},
	 = {
		 = "cu",
		 = "Old Church Slavonic",
	},
	 = {
		 = "cv",
		 = "Chuvash",
	},
	 = {
		 = "cy",
		 = "Welsh",
	},
	 = {
		 = "da",
		 = "Danish",
	},
	 = {
		 = "de",
		 = "German",
	},
	 = {
		 = "dv",
		 = "Dhivehi",
	},
	 = {
		 = "dz",
		 = "Dzongkha",
	},
	 = {
		 = "ee",
		 = "Ewe",
	},
	 = {
		 = "el",
		 = "Greek",
	},
	 = {
		 = "en",
		 = "English",
	},
	 = {
		 = "eo",
		 = "Esperanto",
	},
	 = {
		 = "es",
		 = "Spanish",
	},
	 = {
		 = "et",
		 = "Estonian",
	},
	 = {
		 = "eu",
		 = "Basque",
	},
	 = {
		 = "fa",
		 = "Persian",
	},
	 = {
		 = "ff",
		 = "Fula",
	},
	 = {
		 = "fi",
		 = "Finnish",
	},
	 = {
		 = "fj",
		 = "Fijian",
	},
	 = {
		 = "fo",
		 = "Faroese",
	},
	 = {
		 = "fr",
		 = "French",
	},
	 = {
		 = "fy",
		 = "West Frisian",
	},
	 = {
		 = "ga",
		 = "Irish",
	},
	 = {
		 = "gd",
		 = "Scottish Gaelic",
	},
	 = {
		 = "gl",
		 = "Galician",
	},
	 = {
		 = "gn",
		 = "Guaraní",
	},
	 = {
		 = "gu",
		 = "Gujarati",
	},
	 = {
		 = "gv",
		 = "Manx",
	},
	 = {
		 = "ha",
		 = "Hausa",
	},
	 = {
		 = "he",
		 = "Hebrew",
	},
	 = {
		 = "hi",
		 = "Hindi",
	},
	 = {
		 = "ho",
		 = "Hiri Motu",
	},
	 = {
		 = "ht",
		 = "Haitian Creole",
	},
	 = {
		 = "hu",
		 = "Hungarian",
	},
	 = {
		 = "hy",
		 = "Armenian",
	},
	 = {
		 = "hz",
		 = "Herero",
	},
	 = {
		 = "ia",
		 = "Interlingua",
	},
	 = {
		 = "id",
		 = "Indonesian",
	},
	 = {
		 = "ie",
		 = "Interlingue",
	},
	 = {
		 = "ig",
		 = "Igbo",
	},
	 = {
		 = "ii",
		 = "Sichuan Yi",
	},
	 = {
		 = "ik",
		 = "Inupiak",
	},
	 = {
		 = "io",
		 = "Ido",
	},
	 = {
		 = "is",
		 = "Icelandic",
	},
	 = {
		 = "it",
		 = "Italian",
	},
	 = {
		 = "iu",
		 = "Inuktitut",
	},
	 = {
		 = "ja",
		 = "Japanese",
	},
	 = {
		 = "jv",
		 = "Javanese",
	},
	 = {
		 = "ka",
		 = "Georgian",
	},
	 = {
		 = "kg",
		 = "Kongo",
	},
	 = {
		 = "ki",
		 = "Kikuyu",
	},
	 = {
		 = "kj",
		 = "Kwanyama",
	},
	 = {
		 = "kk",
		 = "Kazakh",
	},
	 = {
		 = "kl",
		 = "Greenlandic",
	},
	 = {
		 = "km",
		 = "Khmer",
	},
	 = {
		 = "kn",
		 = "Kannada",
	},
	 = {
		 = "ko",
		 = "Korean",
	},
	 = {
		 = "kr",
		 = "Kanuri",
	},
	 = {
		 = "ks",
		 = "Kashmiri",
	},
	 = {
		 = "ku",
		 = "Kurdish",
	},
	 = {
		 = "kw",
		 = "Cornish",
	},
	 = {
		 = "ky",
		 = "Kyrgyz",
	},
	 = {
		 = "la",
		 = "Latin",
	},
	 = {
		 = "lb",
		 = "Luxembourgish",
	},
	 = {
		 = "lg",
		 = "Luganda",
	},
	 = {
		 = "li",
		 = "Limburgish",
	},
	 = {
		 = "ln",
		 = "Lingala",
	},
	 = {
		 = "lo",
		 = "Lao",
	},
	 = {
		 = "lt",
		 = "Lithuanian",
	},
	 = {
		 = "lu",
		 = "Luba-Katanga",
	},
	 = {
		 = "lv",
		 = "Latvian",
	},
	 = {
		 = "mg",
		 = "Malagasy",
	},
	 = {
		 = "mh",
		 = "Marshallese",
	},
	 = {
		 = "mi",
		 = "Maori",
	},
	 = {
		 = "mk",
		 = "Macedonian",
	},
	 = {
		 = "ml",
		 = "Malayalam",
	},
	 = {
		 = "mn",
		 = "Mongolian",
	},
	 = {
		 = "mr",
		 = "Marathi",
	},
	 = {
		 = "ms",
		 = "Malay",
	},
	 = {
		 = "mt",
		 = "Maltese",
	},
	 = {
		 = "my",
		 = "Burmese",
	},
	 = {
		 = "na",
		 = "Nauruan",
	},
	 = {
		 = "nb",
		 = "Norwegian Bokmål",
	},
	 = {
		 = "nd",
		 = "Northern Ndebele",
	},
	 = {
		 = "ne",
		 = "Nepali",
	},
	 = {
		 = "ng",
		 = "Ndonga",
	},
	 = {
		 = "nl",
		 = "Dutch",
	},
	 = {
		 = "nn",
		 = "Norwegian Nynorsk",
	},
	 = {
		 = "no",
		 = "Norwegian",
	},
	 = {
		 = "nr",
		 = "Southern Ndebele",
	},
	 = {
		 = "nv",
		 = "Navajo",
	},
	 = {
		 = "ny",
		 = "Chichewa",
	},
	 = {
		 = "oc",
		 = "Occitan",
	},
	 = {
		 = "oj",
		 = "Ojibwe",
	},
	 = {
		 = "om",
		 = "Oromo",
	},
	 = {
		 = "or",
		 = "Odia",
	},
	 = {
		 = "os",
		 = "Ossetian",
	},
	 = {
		 = "pa",
		 = "Punjabi",
	},
	 = {
		 = "pi",
		 = "Pali",
	},
	 = {
		 = "pl",
		 = "Polish",
	},
	 = {
		 = "ps",
		 = "Pashto",
	},
	 = {
		 = "pt",
		 = "Portuguese",
	},
	 = {
		 = "qu",
		 = "Quechua",
	},
	 = {
		 = "rm",
		 = "Romansch",
	},
	 = {
		 = "ro",
		 = "Romanian",
	},
	 = {
		 = "ru",
		 = "Russian",
	},
	 = {
		 = "rw",
		 = "Rwanda-Rundi",
	},
	 = {
		 = "sa",
		 = "Sanskrit",
	},
	 = {
		 = "sc",
		 = "Sardinian",
	},
	 = {
		 = "sd",
		 = "Sindhi",
	},
	 = {
		 = "se",
		 = "Northern Sami",
	},
	 = {
		 = "sg",
		 = "Sango",
	},
	 = {
		 = "sh",
		 = "Serbo-Croatian",
	},
	 = {
		 = "si",
		 = "Sinhalese",
	},
	 = {
		 = "sk",
		 = "Slovak",
	},
	 = {
		 = "sl",
		 = "Slovene",
	},
	 = {
		 = "sm",
		 = "Samoan",
	},
	 = {
		 = "sn",
		 = "Shona",
	},
	 = {
		 = "so",
		 = "Somali",
	},
	 = {
		 = "sq",
		 = "Albanian",
	},
	 = {
		 = "ss",
		 = "Swazi",
	},
	 = {
		 = "st",
		 = "Sotho",
	},
	 = {
		 = "su",
		 = "Sundanese",
	},
	 = {
		 = "sv",
		 = "Swedish",
	},
	 = {
		 = "sw",
		 = "Swahili",
	},
	 = {
		 = "ta",
		 = "Tamil",
	},
	 = {
		 = "te",
		 = "Telugu",
	},
	 = {
		 = "tg",
		 = "Tajik",
	},
	 = {
		 = "th",
		 = "Thai",
	},
	 = {
		 = "ti",
		 = "Tigrinya",
	},
	 = {
		 = "tk",
		 = "Turkmen",
	},
	 = {
		 = "tl",
		 = "Tagalog",
	},
	 = {
		 = "tn",
		 = "Tswana",
	},
	 = {
		 = "to",
		 = "Tongan",
	},
	 = {
		 = "tr",
		 = "Turkish",
	},
	 = {
		 = "ts",
		 = "Tsonga",
	},
	 = {
		 = "tt",
		 = "Tatar",
	},
	 = {
		 = "ty",
		 = "Tahitian",
	},
	 = {
		 = "ug",
		 = "Uyghur",
	},
	 = {
		 = "uk",
		 = "Ukrainian",
	},
	 = {
		 = "ur",
		 = "Urdu",
	},
	 = {
		 = "uz",
		 = "Uzbek",
	},
	 = {
		 = "ve",
		 = "Venda",
	},
	 = {
		 = "vi",
		 = "Vietnamese",
	},
	 = {
		 = "vo",
		 = "Volapük",
	},
	 = {
		 = "wa",
		 = "Walloon",
	},
	 = {
		 = "wo",
		 = "Wolof",
	},
	 = {
		 = "xh",
		 = "Xhosa",
	},
	 = {
		 = "yi",
		 = "Yiddish",
	},
	 = {
		 = "yo",
		 = "Yoruba",
	},
	 = {
		 = "za",
		 = "Zhuang",
	},
	 = {
		 = "zh",
		 = "Chinese",
	},
	 = {
		 = "zu",
		 = "Zulu",
	},
}

local export = {}

local dump = require("Module:debug").highlight_dump

local languageData = require("Module:User:Erutuon/04/data")

local function dumbSearch(t, item, func)
	local useFunc = type(func) == "function"
	for i, val in ipairs(t) do
		if useFunc and func(val) == item or val == item then
			return i
		end
	end
	return nil
end

--
	Does a binary search in a table.
	
	The table of functions can contain three functions:
	--	getCompVal, which is applied to the table entry to get the value to be
		compared against the value that is being searched for;
	--	comp, which returns true when the value being searched for is less than
		(that is, will be found at a lower index in the table than) the table
		value currently being looked at;
	--	equals, which returns true when the value being searched for is equal to
		the current table value being looked at (and hence should be returned by
		the search function).
]]
function export.binarySearch(t, value, functions)
	if functions == nil then
		functions = {}
	end
	
	-- Initialize functions.
	-- Function that returns value used to compare.
	local getCompVal = functions.getCompVal or function(x) return x end
	-- Function that compares the two values.
	local comp = functions.comp or function(x, y) return x < y end
	-- Function that returns true when correct index is found.
	local equals = functions.equals or function(x, y) return x == y end
	
	--	Initialize numbers.
	local iStart, iMid = 1, 0
	local iEnd = next(t) and #t or require("Module:table").size(t)
	
	if iEnd == 0 then
		return nil
	end
	
	local iterations = 0
	
	-- Do search.
	while iStart <= iEnd do
		iterations = iterations + 1
		
		-- Calculate middle.
		iMid = math.floor((iStart + iEnd) / 2)
		
		-- Get compare value.
		local value2 = getCompVal(t)
		
		-- Return matching index. Assumes there are no duplicates.
		if equals(value, value2) then
			return iMid, iterations
		
		-- Keep searching.
		elseif comp(value, value2) then
			iEnd = iMid - 1
		else
			iStart = iMid + 1
		end
	end
	return nil, iterations
end

local function comp(item1, item2)
	local type1, type2 = type(item1), type(item2)
	if type1 ~= type2 then
		return type1 < type2
	else
		return item1 < item2
	end
end

local function getCode(val)
	if type(val) == "table" then
		return val.code
	else
		return val
	end
end

local function getLanguageData(code)
	local i = export.binarySearch(
		languageData,
		code,
		{ getCompVal = getCode, comp = comp }
	)
	if i then
		return languageData
	else
		error("No data for code " .. code .. ".")
	end
end

local function forEach(t, func)
	for i, val in ipairs(t) do
		func(val)
	end
end

function export.show(frame)
	local codes = setmetatable({ "en", "fr", "de", "ka", "ru", "be" }, { __index = { forEach = forEach } })
	local found = {}
	
	codes:forEach(
		function(item)
			table.insert(found, getLanguageData(item))
		end
	)
	
	return dump(found) .. dump(languageData)
end

return export