Content deleted Content added
No edit summary |
Replace Module:No globals with require( "strict" ) |
||
(10 intermediate revisions by one other user not shown) | |||
Line 1:
require
local getArgs = require ('Module:Arguments').getArgs;
local data = mw.loadData ('Module:month translator/data');
--[[--------------------------< _ M O N T H _ X L A T E >
};▼
]]
local function
end▼
▲--[[--------------------------< M O N T H _ X L A T E >--------------------------------------------------------
▲{{#invoke:Sandbox/trappist the monk/month translator|month_xlate|<date>}}
]]▼
local function month_xlate (frame)▼
local t = {};
local day, month, year;
▲ return mw.dumpObject (month_names);
end
if not args_t[1] then return nil end
for i, pattern in ipairs (data.patterns) do
local c1, c2, c3; -- captures in the 'pattern' from the pattern table go here
c1, c2, c3 = mw.ustring.match (mw.text.trim (
if c1 then -- c1 always set on match
t = {
[pattern[2] or 'x'] = c1, -- fill the table of captures with
[pattern[3] or 'x'] = c2, -- take index names from pattern table and assign sequential captures
[pattern[4] or 'x'] = c3, -- index name may be nil in pattern table so "or 'x'" spoofs a name for this index in this table
};
day = t.d or ''; -- translate table contents to named variables;
month = mw.ustring.lower (t.m or '');
month = data.override_names[month] or data.month_names_t[month]; -- replace non-English name with English name from translation tables
year= t.y or '';
if month then
local df = table.concat ({pattern[2], pattern[3], pattern[4]}, ''); -- extract date format from pattern table (pattern[2], pattern[3], pattern[4])
if 'dmy' == pattern[5] then -- for dmy dates▼
return table.concat ({day, month_names[month:lower()], year}, ' '); -- assemble an English language dmy date▼
return table.concat ({
elseif 'my' == df then -- for month year dates
▲ return table.concat ({
return string.format ('%s %s, %s', month, day, year); -- assemble an English language mdy date
elseif 'm' == df then -- must be month (only valid option remaining)
return month; -- none of the above, return the translated month;
end
end
break; -- and done; if here found pattern match but did not find non-English month name in <month_names_t>
end
end
return
▲--[[--------------------------< M O N T H _ X L
{{#invoke:Month translator|month_xlate|<date>}}
▲]]
▲local function month_xlate (frame)
return _month_xlate (getArgs (frame));
end
Line 81 ⟶ 69:
]]
return {
month_xlate = month_xlate _month_xlate = _month_xlate
▲ };
|