Jump to content

Module:languages/byTranslitModule

Hali sa Wiksyunaryo

Returns a function that generates a list of all the languages that use a given transliteration module. Used by {{translit module documentation}} and {{module cat}}.

Receives the name of a module (minus the namespace Module:) and returns a table (array) of language objects.

require("Module:languages/byTranslitModule")("sa-translit") --> table containing objects for Sanskrit (sa), Punjabi (pa), Old Marathi (omr), Old Hindi (inc-ohi)

return function(translitModule)
	local m_redirect = mw.loadData("Module:translit-redirect/data")
	local langs = {}
	
	for code, data in pairs(require("Module:languages/alldata")) do
		if data.translit_module == translitModule then
			langs[code] = data
		elseif data.translit_module == "translit-redirect" and m_redirect[code] then
			for scriptCode, translitRedirectData in pairs(m_redirect[code]) do
				if type(translitRedirectData) == "table" and translitRedirectData.module == translitModule then
					langs[code] = data
				end
			end
		end
	end
	
	local result = {}
	local i = 0
	for code, data in pairs(langs) do
		i = i + 1
		result[i] = require("Module:languages").makeObject(code, data)
	end
	
	return result
end