<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AMonth_translator</id>
	<title>وحدة:Month translator - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AMonth_translator"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Month_translator&amp;action=history"/>
	<updated>2026-06-05T05:40:04Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Month_translator&amp;diff=1567&amp;oldid=prev</id>
		<title>عبد العزيز: update</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Month_translator&amp;diff=1567&amp;oldid=prev"/>
		<updated>2023-04-11T14:16:04Z</updated>

		<summary type="html">&lt;p&gt;update&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
local getArgs = require (&amp;#039;Module:Arguments&amp;#039;).getArgs;&lt;br /&gt;
&lt;br /&gt;
local data = mw.loadData (&amp;#039;Module:month translator/data&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; _ M O N T H _ X L A T E &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Month translator|month_xlate|&amp;lt;date&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _month_xlate (args_t)&lt;br /&gt;
	local t = {};&lt;br /&gt;
	local day, month, year;&lt;br /&gt;
	&lt;br /&gt;
	if &amp;#039;dump&amp;#039; == args_t[1] then													-- args_t[1] = &amp;#039;dump&amp;#039; to dump &amp;lt;month_names_t&amp;gt; table; &lt;br /&gt;
		return mw.dumpObject (data.month_names_t);&lt;br /&gt;
	end&lt;br /&gt;
	if not args_t[1] then return nil end&lt;br /&gt;
	for i, pattern in ipairs (data.patterns) do									-- spin through the patterns table looking for a match&lt;br /&gt;
		local c1, c2, c3;														-- captures in the &amp;#039;pattern&amp;#039; from the pattern table go here&lt;br /&gt;
&lt;br /&gt;
		c1, c2, c3 = mw.ustring.match (mw.text.trim (args_t[1]), pattern[1]);	-- one or more captures set if source matches patterns[i][1])&lt;br /&gt;
		if c1 then																-- c1 always set on match&lt;br /&gt;
&lt;br /&gt;
			t = {&lt;br /&gt;
				[pattern[2] or &amp;#039;x&amp;#039;] = c1,										-- fill the table of captures with the captures&lt;br /&gt;
				[pattern[3] or &amp;#039;x&amp;#039;] = c2,										-- take index names from pattern table and assign sequential captures&lt;br /&gt;
				[pattern[4] or &amp;#039;x&amp;#039;] = c3,										-- index name may be nil in pattern table so &amp;quot;or &amp;#039;x&amp;#039;&amp;quot; spoofs a name for this index in this table&lt;br /&gt;
				};&lt;br /&gt;
			day = t.d or &amp;#039;&amp;#039;;													-- translate table contents to named variables;&lt;br /&gt;
			month = mw.ustring.lower (t.m or &amp;#039;&amp;#039;);								-- absent table entries are nil so set unused parts to empty string; lowercase for indexing&lt;br /&gt;
			month = data.override_names[month] or data.month_names_t[month];	-- replace non-English name with English name from translation tables&lt;br /&gt;
			year= t.y or &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
			if month then&lt;br /&gt;
				local df = table.concat ({pattern[2], pattern[3], pattern[4]}, &amp;#039;&amp;#039;);	-- extract date format from pattern table (pattern[2], pattern[3], pattern[4])&lt;br /&gt;
&lt;br /&gt;
				if &amp;#039;dmy&amp;#039; == df then												-- for dmy dates&lt;br /&gt;
					return table.concat ({day, month, year}, &amp;#039; &amp;#039;);				-- assemble an English language dmy date&lt;br /&gt;
				elseif &amp;#039;my&amp;#039; == df then											-- for month year dates&lt;br /&gt;
					return table.concat ({month, year}, &amp;#039; &amp;#039;);					-- assemble an English language dmy date&lt;br /&gt;
				elseif &amp;#039;mdy&amp;#039; == df then											-- for mdy dates&lt;br /&gt;
					return string.format (&amp;#039;%s %s, %s&amp;#039;, month, day, year);		-- assemble an English language mdy date&lt;br /&gt;
				elseif &amp;#039;m&amp;#039; == df then											-- must be month (only valid option remaining)&lt;br /&gt;
					return month;												-- none of the above, return the translated month;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			break;																-- and done; if here found pattern match but did not find non-English month name in &amp;lt;month_names_t&amp;gt;&lt;br /&gt;
		end&lt;br /&gt;
	end	&lt;br /&gt;
	return args_t[1];															-- if here, couldn&amp;#039;t translate so return the original date&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M O N T H _ X L A T E &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Month translator|month_xlate|&amp;lt;date&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function month_xlate (frame)&lt;br /&gt;
	return _month_xlate (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   F U N C T I O N S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	month_xlate = month_xlate,&lt;br /&gt;
	_month_xlate = _month_xlate&lt;br /&gt;
	};&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>