Jump to content

Module:Month translator/data

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Trappist the monk (talk | contribs) at 12:50, 20 December 2018 (create;). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
local langs = {'ca', 'de', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'sv'};

local en_months = {'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'};

local month_names = {};

local patterns = {
	{'^(%d%d?) +(%a+) +(%d%d%d%d%a?)$', 'd', 'm', 'y', 'dmy'},					-- dd Mmm yyyy
	{'^(%d%d?) +de +(%a+) +de +(%d%d%d%d%a?)$', 'd', 'm', 'y', 'dmy'},			-- dd de Mmm de yyyy
	{'^(%a+) +(%d%d%d%d%a?)$', 'm', 'y', nil, 'my'},							-- Mmm yyyy
	{'^(%a+) +de +(%d%d%d%d%a?)$', 'm', 'y', nil, 'my'},						-- Mmm de yyyy
	};


--[[--------------------------< M O N T H _ L I S T _ G E T >--------------------------------------------------

creates a translation table of non-English month names listed in lang{} mapped to English month names listed in
en_months{}.  

]]

local function month_list_get ()
	for _, lang in ipairs (langs) do											-- spin through the languages table
		local lang_obj = mw.getLanguage (lang);									-- make a language object for the current language
		for i, en_month in ipairs (en_months) do								-- spin through the English month-names table
			month_names[lang_obj:formatDate('F', en_month):lower()] = en_month;	-- translate the English name to the current language and store in the translations table
			if 'pl' == lang then												-- for polish and other languages that have nominative and genitive forms
				month_names[lang_obj:formatDate('xg', en_month):lower()] = en_month;	-- translate English to genitive form and save
			end
		end
	end
end


--[[--------------------------< E X P O R T E D   T A B L E S >------------------------------------------------
]]

return {
	month_names = month_names,
	patterns = patterns,
	}