Module:Month translator/data
Appearance
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 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
};
--[[--------------------------< O V E R R I D E _ N A M E S >--------------------------------------------------
table of non-English month names that are valid but are not in the list of names taken from MediaWiki with
month_names_get(). Items in this list have the form:
['<non-English month name>'] = 'English month name',
]]
local override_names = {
[''] = '',
}
--[[--------------------------< M O N T H _ N A M E S _ 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_names_get ()
local month_names = {};
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
return month_names;
end
--[[--------------------------< E X P O R T E D T A B L E S >------------------------------------------------
]]
return {
month_names = month_names_get (),
override_names = override_names,
patterns = patterns,
}