<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://wiki.nebeshtar.com/index.php?action=history&amp;feed=atom&amp;title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86%3A%D9%86%D8%A7%D9%88%D8%A8%D8%B1%DB%8C_%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%B1%D8%AF%D9%87</id>
	<title>پودمان:ناوبری مجموعه رده - تاریخچهٔ نسخه‌ها</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nebeshtar.com/index.php?action=history&amp;feed=atom&amp;title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86%3A%D9%86%D8%A7%D9%88%D8%A8%D8%B1%DB%8C_%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%B1%D8%AF%D9%87"/>
	<link rel="alternate" type="text/html" href="https://wiki.nebeshtar.com/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:%D9%86%D8%A7%D9%88%D8%A8%D8%B1%DB%8C_%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%B1%D8%AF%D9%87&amp;action=history"/>
	<updated>2026-05-05T08:16:08Z</updated>
	<subtitle>تاریخچهٔ نسخه‌ها برای این صفحه در ویکی</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.nebeshtar.com/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:%D9%86%D8%A7%D9%88%D8%A8%D8%B1%DB%8C_%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%B1%D8%AF%D9%87&amp;diff=1513&amp;oldid=prev</id>
		<title>محمد: صفحه‌ای تازه حاوی «require(&#039;strict&#039;) local p = {} local horizontal = require(&#039;Module:List&#039;).horizontal local convertnum = require(&#039;Module:Numeral converter&#039;).convert local yesno = require(&#039;Module:Yesno&#039;) local setFarsiArguments = require(&#039;Module:Set Farsi argument names&#039;)  local centurysublinks, decadesublinks = false, false local currtitle = mw.title.getCurrentTitle() local isincatns = currtitle.nsText == &#039;رده&#039; local isinmainspace = currtitle.nsText...» ایجاد کرد</title>
		<link rel="alternate" type="text/html" href="https://wiki.nebeshtar.com/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:%D9%86%D8%A7%D9%88%D8%A8%D8%B1%DB%8C_%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%B1%D8%AF%D9%87&amp;diff=1513&amp;oldid=prev"/>
		<updated>2025-01-25T10:03:36Z</updated>

		<summary type="html">&lt;p&gt;صفحه‌ای تازه حاوی «require(&amp;#039;strict&amp;#039;) local p = {} local horizontal = require(&amp;#039;Module:List&amp;#039;).horizontal local convertnum = require(&amp;#039;Module:Numeral converter&amp;#039;).convert local yesno = require(&amp;#039;Module:Yesno&amp;#039;) local setFarsiArguments = require(&amp;#039;Module:Set Farsi argument names&amp;#039;)  local centurysublinks, decadesublinks = false, false local currtitle = mw.title.getCurrentTitle() local isincatns = currtitle.nsText == &amp;#039;رده&amp;#039; local isinmainspace = currtitle.nsText...» ایجاد کرد&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 p = {}&lt;br /&gt;
local horizontal = require(&amp;#039;Module:List&amp;#039;).horizontal&lt;br /&gt;
local convertnum = require(&amp;#039;Module:Numeral converter&amp;#039;).convert&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local setFarsiArguments = require(&amp;#039;Module:Set Farsi argument names&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local centurysublinks, decadesublinks = false, false&lt;br /&gt;
local currtitle = mw.title.getCurrentTitle()&lt;br /&gt;
local isincatns = currtitle.nsText == &amp;#039;رده&amp;#039;&lt;br /&gt;
local isinmainspace = currtitle.nsText == &amp;#039;&amp;#039;&lt;br /&gt;
local errors = &amp;#039;&amp;#039;&lt;br /&gt;
local testcasecolon = &amp;#039;&amp;#039;&lt;br /&gt;
local testcases = mw.ustring.match(currtitle.subpageText, &amp;#039;^آزمایشی&amp;#039;)&lt;br /&gt;
if    testcases then testcasecolon = &amp;#039;:&amp;#039; end&lt;br /&gt;
local skipgaps_limit = 50&lt;br /&gt;
local ttrackingcats = { --when reindexing, Ctrl+H &amp;#039;trackcat(13,&amp;#039; &amp;amp; &amp;#039;ttrackingcats[16]&amp;#039;&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [1] placeholder for [[رده:ناوبری مجموعه رده با کاربرد پارامتر رده]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [2] placeholder for [[رده:ناوبری مجموعه رده با کاربرد پارامتر آزمایشی]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [3] placeholder for [[رده:ناوبری مجموعه رده با کاربرد پارامتر نامعلوم]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [4] placeholder for [[رده:ناوبری مجموعه رده با بازه فاقد خط فاصله ان]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [5] placeholder for [[رده:ناوبری مجموعه رده با بازه کوته‌نویسی‌شده (شیوه‌نامه)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [6] placeholder for [[رده:ناوبری مجموعه رده با بازه تغییرمسیریافته (تغییر مبنی)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [7] placeholder for [[رده:ناوبری مجموعه رده با بازه تغییرمسیریافته (تغییر متغیر)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [8] placeholder for [[رده:ناوبری مجموعه رده با بازه تغییرمسیریافته (پایان)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, -- [9] placeholder for [[رده:ناوبری مجموعه رده با بازه تغییرمسیریافته (شیوه‌نامه)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[10] placeholder for [[رده:ناوبری مجموعه رده با بازه تغییرمسیریافته (سایر)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[11] placeholder for [[رده:ناوبری مجموعه رده با وقفه در بازه]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[12] placeholder for [[رده:ناوبری مجموعه رده با بازه نامنظم]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[13] placeholder for [[رده:ناوبری مجموعه رده با بازه نامنظم، طول ۰]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[14] placeholder for [[رده:ناوبری مجموعه رده با پایان بازه (اکنون)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[15] placeholder for [[رده:ناوبری مجموعه رده با پایان بازه (خالی، شیوه‌نامه)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[16] placeholder for [[رده:ناوبری مجموعه رده منزوی]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[17] placeholder for [[رده:ناوبری مجموعه رده با اندازه پیش‌فرض وقفه فصل]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[18] placeholder for [[رده:ناوبری مجموعه رده با دهه تغییرمسیریافته]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[19] placeholder for [[رده:ناوبری مجموعه رده با سال تغییرمسیریافته (تغییر مبنی)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[20] placeholder for [[رده:ناوبری مجموعه رده با سال تغییرمسیریافته (تغییر متغیر)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[21] placeholder for [[رده:ناوبری مجموعه رده با سال تغییرمسیریافته (سایر)]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[22] placeholder for [[رده:ناوبری مجموعه رده با فصل تلویزیونی تغییرمسیریافته]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[23] placeholder for [[رده:ناوبری مجموعه رده با پارامتر پرش از وقفه]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[24] placeholder for [[رده:ناوبری مجموعه رده سال و بازه]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[25] placeholder for [[رده:ناوبری مجموعه رده سال و دهه]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[26] placeholder for [[رده:ناوبری مجموعه رده دهه و سده]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[27] placeholder for [[رده:ناوبری مجموعه رده در فضای نام اصلی]]&lt;br /&gt;
	&amp;#039;&amp;#039;, --[28] placeholder for [[رده:ناوبری مجموعه رده با خطا در تغییرمسیر]]&lt;br /&gt;
}&lt;br /&gt;
local avoidself =  (not mw.ustring.match(currtitle.text, &amp;#039;ناوبری مجموعه رده با&amp;#039;) and&lt;br /&gt;
					not mw.ustring.match(currtitle.text, &amp;#039;ناوبری مجموعه رده.*/توضیحات&amp;#039;) and&lt;br /&gt;
					not mw.ustring.match(currtitle.text, &amp;#039;ناوبری مجموعه رده.*/تمرین&amp;#039;) and&lt;br /&gt;
					currtitle.text ~= &amp;#039;ناوبری مجموعه رده&amp;#039; and&lt;br /&gt;
					mw.ustring.gsub(currtitle.nsText, &amp;#039;_&amp;#039;, &amp;#039; &amp;#039;) ~= &amp;#039;بحث کاربر&amp;#039; and -- [[phab:T369784]]&lt;br /&gt;
					mw.ustring.gsub(currtitle.nsText, &amp;#039;_&amp;#039;, &amp;#039; &amp;#039;) ~= &amp;#039;بحث الگو&amp;#039; and&lt;br /&gt;
					(currtitle.nsText ~= &amp;#039;الگو&amp;#039; or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}})&lt;br /&gt;
&lt;br /&gt;
local function extractvariable(pagename, cattype)&lt;br /&gt;
	local variable = &amp;#039;&amp;#039;&lt;br /&gt;
	if cattype then&lt;br /&gt;
		if cattype == &amp;#039;بازه&amp;#039; then&lt;br /&gt;
			variable = mw.ustring.match(pagename, &amp;#039;.+(%d%d?%d?%d?%–%d%d?%d?%d?)&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			variable = mw.ustring.match(pagename, &amp;#039;%d%d?%d?%d?&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return variable&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function extractparts(pagename)&lt;br /&gt;
	local first, last = mw.ustring.match(pagename, &amp;#039;^(.-%s?)%d%d?%d?%d?–?%d?%d?%d?%d?(%s?.-)$&amp;#039;)&lt;br /&gt;
	return first, last&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trackcat(key, cat)&lt;br /&gt;
	if avoidself and key and cat then&lt;br /&gt;
		if cat ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			ttrackingcats[key] = &amp;#039;[[&amp;#039;..testcasecolon..&amp;#039;رده:&amp;#039;..cat..&amp;#039;]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			ttrackingcats[key] = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function catexists(title)&lt;br /&gt;
	return mw.title.new(title, &amp;#039;رده&amp;#039;).exists&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function rtarget(frame, cat)&lt;br /&gt;
	local catcontent = mw.title.new(cat or &amp;#039;&amp;#039;, &amp;#039;رده&amp;#039;):getContent()&lt;br /&gt;
	local hascatredirect = mw.ustring.match(catcontent or &amp;#039;&amp;#039;, &amp;#039;{{ *رده بهتر&amp;#039;) or&lt;br /&gt;
		  mw.ustring.match(catcontent or &amp;#039;&amp;#039;, &amp;#039;{{ *[Cc]at&amp;#039;) or&lt;br /&gt;
		  mw.ustring.match(catcontent or &amp;#039;&amp;#039;, &amp;#039;{{ *تغییر&amp;#039;)&lt;br /&gt;
	if hascatredirect then --prelim test&lt;br /&gt;
		local getRegex = require(&amp;#039;Module:Template redirect regex&amp;#039;).main&lt;br /&gt;
		local tregex = getRegex(&amp;#039;رده بهتر&amp;#039;)&lt;br /&gt;
		for _, v in pairs(tregex) do&lt;br /&gt;
			local rtarget = mw.ustring.match(catcontent, v..&amp;#039;%s*|%s*([^|}]+)&amp;#039;)&lt;br /&gt;
			if rtarget then&lt;br /&gt;
				if mw.ustring.match(rtarget, &amp;#039;{{&amp;#039;) then --{{Title year}}, etc., exists; evaluate&lt;br /&gt;
					local regex_ty = &amp;#039;%s*|%s*([^{}]*{{([^{|}]+)}}[^{}]-)%s*}}&amp;#039; --eval null-param templates only; expanded if/as needed&lt;br /&gt;
					local rtarget_orig, ty = mw.ustring.match(catcontent, v..regex_ty)&lt;br /&gt;
					if rtarget_orig then&lt;br /&gt;
						local ty_eval = frame:expandTemplate{title = ty, args = {page = cat}} --frame:newChild doesn&amp;#039;t work, use &amp;#039;page&amp;#039; param instead&lt;br /&gt;
						local rtarget_eval = mw.ustring.gsub(rtarget_orig, &amp;#039;{{%s*&amp;#039;..ty..&amp;#039;%s*}}&amp;#039;, ty_eval)&lt;br /&gt;
						return rtarget_eval, true&lt;br /&gt;
					else --sub-parameters present; track &amp;amp; return default&lt;br /&gt;
						trackcat(31, &amp;#039;ناوبری مجموعه رده با خطا در تغییرمسیر&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				rtarget = mw.ustring.gsub(rtarget, &amp;#039;^1%s*=%s*&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
				rtarget = mw.ustring.gsub(rtarget, &amp;#039;^رده:&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
				rtarget = mw.ustring.gsub(rtarget, &amp;#039;^[Cc]ategory:&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
				return rtarget, true&lt;br /&gt;
			end&lt;br /&gt;
		end --for&lt;br /&gt;
	end --if&lt;br /&gt;
	return cat, false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function handlecatlink(frame, firstpart, variable, lastpart, display, cattype, followRs, bold, skipgaps, issublist)&lt;br /&gt;
	local cat = firstpart .. variable .. lastpart&lt;br /&gt;
	local item&lt;br /&gt;
	local redirected = false&lt;br /&gt;
	if followRs then&lt;br /&gt;
		cat, redirected = rtarget(frame, cat)&lt;br /&gt;
	end&lt;br /&gt;
	local tfirstpart, tlastpart, tvariable = extractparts(cat), extractvariable(cat, cattype)&lt;br /&gt;
	if redirected then&lt;br /&gt;
		if cattype == &amp;#039;دهه&amp;#039; and ttrackingcats[18] == &amp;#039;&amp;#039; then&lt;br /&gt;
			trackcat(18, &amp;#039;ناوبری مجموعه رده با دهه تغییرمسیریافته&amp;#039;)&lt;br /&gt;
		elseif cattype == &amp;#039;سال&amp;#039; then&lt;br /&gt;
			if (tfirstpart and tlastpart) and (tfirstpart ~= firstpart or tlastpart ~= lastpart) and ttrackingcats[19] == &amp;#039;&amp;#039; then&lt;br /&gt;
				trackcat(19, &amp;#039;ناوبری مجموعه رده با سال تغییرمسیریافته (تغییر مبنی)&amp;#039;)&lt;br /&gt;
			elseif tvariable and tvariable ~= variable and ttrackingcats[20] == &amp;#039;&amp;#039; then&lt;br /&gt;
				trackcat(20, &amp;#039;ناوبری مجموعه رده با سال تغییرمسیریافته (تغییر متغیر)&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if skipgaps then&lt;br /&gt;
		item = &amp;#039;[[:رده:&amp;#039; .. cat .. &amp;#039;|&amp;#039; .. display .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		if bold then&lt;br /&gt;
			item = &amp;#039;&amp;lt;span class=&amp;quot;catseriesnav-item-bold&amp;quot;&amp;gt;&amp;#039; .. item .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	elseif catexists(cat) then&lt;br /&gt;
		if issublist then&lt;br /&gt;
			if cattype == &amp;#039;دهه&amp;#039; then decadesublinks = true end&lt;br /&gt;
			if cattype == &amp;#039;سده&amp;#039; then centurysublinks = true end&lt;br /&gt;
		end&lt;br /&gt;
		item = &amp;#039;[[:رده:&amp;#039; .. cat .. &amp;#039;|&amp;#039; .. display .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		if bold then&lt;br /&gt;
			item = &amp;#039;&amp;lt;span class=&amp;quot;catseriesnav-item-bold&amp;quot;&amp;gt;&amp;#039; .. item .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		item = &amp;#039;&amp;lt;span class=&amp;quot;catseriesnav-item-inactive&amp;quot;; title=&amp;quot;&amp;#039; .. cat .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. display .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function positive(int)&lt;br /&gt;
	int = tonumber(convertnum(&amp;#039;en&amp;#039;, int))&lt;br /&gt;
	if int &amp;lt; 0 then&lt;br /&gt;
		return -int&lt;br /&gt;
	end&lt;br /&gt;
	return int&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trackisolation(firstpart, var, lastpart, skipgaps)&lt;br /&gt;
	local numexisting = 10&lt;br /&gt;
	local i = 5&lt;br /&gt;
	local limit = -5&lt;br /&gt;
	if skipgaps then&lt;br /&gt;
		numexisting = 100&lt;br /&gt;
		i = 50&lt;br /&gt;
		limit = -50&lt;br /&gt;
	end&lt;br /&gt;
	local condition, title, currentvar&lt;br /&gt;
	repeat&lt;br /&gt;
		currentvar = tonumber(convertnum(&amp;#039;en&amp;#039;, var)) + i&lt;br /&gt;
		title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(currentvar)) .. lastpart&lt;br /&gt;
		if currentvar ~= var and not catexists(title) then&lt;br /&gt;
			numexisting = numexisting - 1&lt;br /&gt;
		end&lt;br /&gt;
		i = i - 1&lt;br /&gt;
		condition = i &amp;lt; limit&lt;br /&gt;
	until condition&lt;br /&gt;
	if numexisting == 0 then&lt;br /&gt;
		return trackcat(16, &amp;#039;ناوبری مجموعه رده منزوی&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function checkforunknownparams(tbl)&lt;br /&gt;
	local knownparams = { --parameter whitelist&lt;br /&gt;
		[&amp;#039;min&amp;#039;] = &amp;#039;min&amp;#039;,&lt;br /&gt;
		[&amp;#039;کمینه&amp;#039;] = &amp;#039;کمینه&amp;#039;,&lt;br /&gt;
		[&amp;#039;max&amp;#039;] = &amp;#039;max&amp;#039;,&lt;br /&gt;
		[&amp;#039;بیشینه&amp;#039;] = &amp;#039;بیشینه&amp;#039;,&lt;br /&gt;
		[&amp;#039;cat&amp;#039;] = &amp;#039;cat&amp;#039;,&lt;br /&gt;
		[&amp;#039;رده&amp;#039;] = &amp;#039;رده&amp;#039;,&lt;br /&gt;
		[&amp;#039;show&amp;#039;] = &amp;#039;show&amp;#039;,&lt;br /&gt;
		[&amp;#039;نمایش&amp;#039;] = &amp;#039;نمایش&amp;#039;,&lt;br /&gt;
		[&amp;#039;testcase&amp;#039;] = &amp;#039;testcase&amp;#039;,&lt;br /&gt;
		[&amp;#039;آزمایشی&amp;#039;] = &amp;#039;آزمایشی&amp;#039;,&lt;br /&gt;
		[&amp;#039;testcasegap&amp;#039;] = &amp;#039;testcasegap&amp;#039;,&lt;br /&gt;
		[&amp;#039;وقفه آزمایشی&amp;#039;] = &amp;#039;وقفه آزمایشی&amp;#039;,&lt;br /&gt;
		[&amp;#039;skip-gaps&amp;#039;] = &amp;#039;skip-gaps&amp;#039;,&lt;br /&gt;
		[&amp;#039;پرش از وقفه&amp;#039;] = &amp;#039;پرش از وقفه&amp;#039;,&lt;br /&gt;
		[&amp;#039;list-all-links&amp;#039;] = &amp;#039;list-all-links&amp;#039;,&lt;br /&gt;
		[&amp;#039;فهرست تمام پیوندها&amp;#039;] = &amp;#039;فهرست تمام پیوندها&amp;#039;,&lt;br /&gt;
		[&amp;#039;follow-redirects&amp;#039;] = &amp;#039;follow-redirects&amp;#039;,&lt;br /&gt;
		[&amp;#039;پیمایش تغییرمسیر&amp;#039;] = &amp;#039;پیمایش تغییرمسیر&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	for k, _ in pairs (tbl) do&lt;br /&gt;
		if knownparams[k] == nil then&lt;br /&gt;
			trackcat(3, &amp;#039;ناوبری مجموعه رده با کاربرد پارامتر نامعلوم&amp;#039;)&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function detectcattype(pagename)&lt;br /&gt;
	local cattype&lt;br /&gt;
	if mw.ustring.match(pagename, &amp;#039;سده %d+&amp;#039;) then&lt;br /&gt;
		cattype = &amp;#039;سده&amp;#039;&lt;br /&gt;
	elseif mw.ustring.match(pagename, &amp;#039;دهه %d+&amp;#039;) then&lt;br /&gt;
		cattype = &amp;#039;دهه&amp;#039;&lt;br /&gt;
	elseif mw.ustring.match(pagename, &amp;#039;%d%d?%d?%d?–%d%d?%d?%d?&amp;#039;) then&lt;br /&gt;
		cattype = &amp;#039;بازه&amp;#039;&lt;br /&gt;
	elseif mw.ustring.match(pagename, &amp;#039;%d%d?%d?%d?&amp;#039;) then&lt;br /&gt;
		cattype = &amp;#039;سال&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		cattype = nil&lt;br /&gt;
	end&lt;br /&gt;
	return cattype&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function detectcalendar(pagename)&lt;br /&gt;
	local calendar&lt;br /&gt;
	if mw.ustring.match(pagename, &amp;#039;%(میلادی%)&amp;#039;) then&lt;br /&gt;
		calendar = &amp;#039;میلادی&amp;#039;&lt;br /&gt;
	elseif mw.ustring.match(pagename, &amp;#039;%(پیش از میلاد%)&amp;#039;) then&lt;br /&gt;
		calendar = &amp;#039;پیش از میلاد&amp;#039;&lt;br /&gt;
	elseif detectcattype(pagename) then&lt;br /&gt;
		calendar = &amp;#039;خورشیدی&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		calendar = nil&lt;br /&gt;
	end&lt;br /&gt;
	return calendar&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
	var = tonumber(convertnum(&amp;#039;en&amp;#039;, var))&lt;br /&gt;
	local lastpartout = lastpart&lt;br /&gt;
	local BCtext = &amp;#039;&amp;#039;&lt;br /&gt;
	if isBC then&lt;br /&gt;
		if passed0 then&lt;br /&gt;
			lastpartout = mw.ustring.gsub(lastpart, &amp;#039;پیش از میلاد&amp;#039;, &amp;#039;میلادی&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			BCtext = &amp;#039;پ‌م&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if var &amp;lt; 0 then&lt;br /&gt;
			BCtext = &amp;#039;پ‌م&amp;#039;&lt;br /&gt;
			lastpartout = mw.ustring.gsub(lastpart, &amp;#039;میلادی&amp;#039;, &amp;#039;پیش از میلاد&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			lastpartout = mw.ustring.gsub(lastpart, &amp;#039;پیش از میلاد&amp;#039;, &amp;#039;میلادی&amp;#039;)&lt;br /&gt;
			BCtext = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return lastpartout, BCtext&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.failedcat(errors, sortkey)&lt;br /&gt;
	if avoidself then&lt;br /&gt;
		return (errors or &amp;#039;&amp;#039;)..&amp;#039;&amp;amp;#42;&amp;amp;#42;&amp;amp;#42;ناوبری مجموعه رده ناتوان در تولید جعبهٔ ناوبری***&amp;#039;..&lt;br /&gt;
			   &amp;#039;[[&amp;#039;..testcasecolon..&amp;#039;رده:ناوبری مجموعه رده ناتوان در تولید جعبه ناوبری|&amp;#039;..(sortkey or &amp;#039;س&amp;#039;)..&amp;#039;]]\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.errorclass(msg)&lt;br /&gt;
	return mw.text.tag( &amp;#039;span&amp;#039;, {class=&amp;#039;error mw-ext-cite-error&amp;#039;}, &amp;#039;&amp;lt;b&amp;gt;خطا!&amp;lt;/b&amp;gt; &amp;#039;..mw.ustring.gsub(msg, &amp;#039;&amp;amp;#&amp;#039;, &amp;#039;&amp;amp;amp;#&amp;#039;) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.handleccentury(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, skipgaps, followRs)&lt;br /&gt;
	local condition, newlastpart&lt;br /&gt;
	limit = gap * 5&lt;br /&gt;
	if isBC then limit = -limit end&lt;br /&gt;
	local currgap = -limit&lt;br /&gt;
	local passed0 = false&lt;br /&gt;
	local var = 0&lt;br /&gt;
	repeat&lt;br /&gt;
		var = tonumber(convertnum(&amp;#039;en&amp;#039;, variable)) + currgap&lt;br /&gt;
		newlastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
		if var ~= 0 then&lt;br /&gt;
			table.insert(&lt;br /&gt;
				links,&lt;br /&gt;
				handlecatlink(&lt;br /&gt;
					frame,&lt;br /&gt;
					firstpart,&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
					newlastpart,&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
					nil,&lt;br /&gt;
					followRs&lt;br /&gt;
				)&lt;br /&gt;
			)&lt;br /&gt;
		else&lt;br /&gt;
			passed0 = true&lt;br /&gt;
			if isBC then&lt;br /&gt;
				limit = limit - 1&lt;br /&gt;
			else&lt;br /&gt;
				limit = limit + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if isBC then&lt;br /&gt;
			currgap = currgap - 1&lt;br /&gt;
			condition = currgap &amp;lt; limit&lt;br /&gt;
		else&lt;br /&gt;
			currgap = currgap + 1&lt;br /&gt;
			condition = currgap &amp;gt; limit&lt;br /&gt;
		end&lt;br /&gt;
	until condition&lt;br /&gt;
end&lt;br /&gt;
function p.handledecade(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, sublinks, skipgaps, followRs)&lt;br /&gt;
	local condition&lt;br /&gt;
	local shouldbebold = false&lt;br /&gt;
	local decade = tonumber(convertnum(&amp;#039;en&amp;#039;, variable))&lt;br /&gt;
	local century = math.floor(((decade-1)/100) + 1)&lt;br /&gt;
	if century == 0 then century = 1 end&lt;br /&gt;
	if mw.ustring.match(tostring(decade), &amp;#039;00$&amp;#039;) then&lt;br /&gt;
		century = century + 1&lt;br /&gt;
	end&lt;br /&gt;
	limit = gap * 5&lt;br /&gt;
	if isBC then limit = -limit end&lt;br /&gt;
	local currgap = -limit&lt;br /&gt;
	if century == 1 then&lt;br /&gt;
		if isBC then&lt;br /&gt;
			currgap = currgap + 1&lt;br /&gt;
		else&lt;br /&gt;
			currgap = currgap - 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local passed0 = false&lt;br /&gt;
	local var&lt;br /&gt;
	local centurylastpart = lastpart&lt;br /&gt;
	repeat&lt;br /&gt;
		var = century + currgap&lt;br /&gt;
		centurylastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
		if var ~= 0 then&lt;br /&gt;
			shouldbebold = century + currgap == century&lt;br /&gt;
			table.insert(&lt;br /&gt;
				sublinks,&lt;br /&gt;
				handlecatlink(&lt;br /&gt;
					frame,&lt;br /&gt;
					mw.ustring.gsub(firstpart, &amp;#039;دهه&amp;#039;, &amp;#039;سده&amp;#039;),&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
					centurylastpart,&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
					&amp;#039;سده&amp;#039;,&lt;br /&gt;
					followRs,&lt;br /&gt;
					shouldbebold,&lt;br /&gt;
					false,&lt;br /&gt;
					true&lt;br /&gt;
				)&lt;br /&gt;
			)&lt;br /&gt;
		else&lt;br /&gt;
			passed0 = true&lt;br /&gt;
		end&lt;br /&gt;
		if isBC then&lt;br /&gt;
			currgap = currgap - 1&lt;br /&gt;
			condition = currgap &amp;lt; limit&lt;br /&gt;
		else&lt;br /&gt;
			currgap = currgap + 1&lt;br /&gt;
			condition = currgap &amp;gt; limit&lt;br /&gt;
		end&lt;br /&gt;
	until condition&lt;br /&gt;
	if centurysublinks then trackcat(26, &amp;#039;ناوبری مجموعه رده دهه و سده&amp;#039;) end&lt;br /&gt;
	gap = 10&lt;br /&gt;
	condition = false&lt;br /&gt;
	limit = gap * 5&lt;br /&gt;
	if isBC then limit = -limit end&lt;br /&gt;
	currgap = -limit&lt;br /&gt;
	passed0 = false&lt;br /&gt;
	repeat&lt;br /&gt;
		var = tonumber(convertnum(&amp;#039;en&amp;#039;, decade + currgap))&lt;br /&gt;
		lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
		table.insert(&lt;br /&gt;
			links,&lt;br /&gt;
			handlecatlink(&lt;br /&gt;
				frame,&lt;br /&gt;
				firstpart,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
				lastpart,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
				&amp;#039;دهه&amp;#039;,&lt;br /&gt;
				followRs&lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
		if var &amp;gt;= 0 then&lt;br /&gt;
			passed0 = true&lt;br /&gt;
		end&lt;br /&gt;
		if isBC then&lt;br /&gt;
			currgap = currgap - 10&lt;br /&gt;
			condition = currgap &amp;lt; limit&lt;br /&gt;
		else&lt;br /&gt;
			currgap = currgap + 10&lt;br /&gt;
			condition = currgap &amp;gt; limit&lt;br /&gt;
		end&lt;br /&gt;
	until condition&lt;br /&gt;
end&lt;br /&gt;
function p.handleyear(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, sublinks, skipgaps, followRs)&lt;br /&gt;
	trackisolation(firstpart, variable, lastpart, skipgaps)&lt;br /&gt;
	local condition&lt;br /&gt;
	local shouldbebold = false&lt;br /&gt;
	local year = tonumber(convertnum(&amp;#039;en&amp;#039;, variable))&lt;br /&gt;
	local decade = tonumber(tostring(math.floor(year/10)) .. &amp;#039;0&amp;#039;)&lt;br /&gt;
	if skipgaps then&lt;br /&gt;
		gap = gap * 5&lt;br /&gt;
	end&lt;br /&gt;
	limit = gap * 5&lt;br /&gt;
	if isBC then limit = -limit end&lt;br /&gt;
	local currgap = -limit&lt;br /&gt;
	local passed0 = false&lt;br /&gt;
	local var, title, firstvar, lastvar&lt;br /&gt;
	local decadelastpart = lastpart&lt;br /&gt;
	local skipbaseyear = year&lt;br /&gt;
	if skipgaps then&lt;br /&gt;
		local y = -1&lt;br /&gt;
		while y &amp;gt;= -skipgaps_limit and #links &amp;lt;= 4 do&lt;br /&gt;
			var = skipbaseyear + y&lt;br /&gt;
			lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
			title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. lastpart&lt;br /&gt;
			if catexists(title) then&lt;br /&gt;
				table.insert(&lt;br /&gt;
					links,&lt;br /&gt;
					1,&lt;br /&gt;
					handlecatlink(&lt;br /&gt;
						frame,&lt;br /&gt;
						firstpart,&lt;br /&gt;
						convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
						lastpart,&lt;br /&gt;
						convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
						&amp;#039;سال&amp;#039;,&lt;br /&gt;
						followRs,&lt;br /&gt;
						false,&lt;br /&gt;
						skipgaps&lt;br /&gt;
					)&lt;br /&gt;
				)&lt;br /&gt;
				skipbaseyear = var&lt;br /&gt;
				y = -1&lt;br /&gt;
			else&lt;br /&gt;
				y = y - 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		var = skipbaseyear&lt;br /&gt;
		while #links &amp;lt; 5 do&lt;br /&gt;
			var = var - 1&lt;br /&gt;
			lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
			title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. lastpart&lt;br /&gt;
			table.insert(&lt;br /&gt;
				links,&lt;br /&gt;
				1,&lt;br /&gt;
				&amp;#039;&amp;lt;span class=&amp;quot;catseriesnav-item-inactive&amp;quot;; title=&amp;quot;&amp;#039; .. title .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(&lt;br /&gt;
			links,&lt;br /&gt;
			handlecatlink(&lt;br /&gt;
				frame,&lt;br /&gt;
				firstpart,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, year),&lt;br /&gt;
				lastpart,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, positive(year)) .. BCtext,&lt;br /&gt;
				&amp;#039;سال&amp;#039;,&lt;br /&gt;
				followRs,&lt;br /&gt;
				false,&lt;br /&gt;
				skipgaps&lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
		y = 1&lt;br /&gt;
		skipbaseyear = year&lt;br /&gt;
		while y &amp;lt;= skipgaps_limit and #links &amp;lt;= 10 do&lt;br /&gt;
			var = skipbaseyear + y&lt;br /&gt;
			lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
			title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. lastpart&lt;br /&gt;
			if catexists(title) then&lt;br /&gt;
				table.insert(&lt;br /&gt;
					links,&lt;br /&gt;
					handlecatlink(&lt;br /&gt;
						frame,&lt;br /&gt;
						firstpart,&lt;br /&gt;
						convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
						lastpart,&lt;br /&gt;
						convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
						&amp;#039;سال&amp;#039;,&lt;br /&gt;
						followRs,&lt;br /&gt;
						false,&lt;br /&gt;
						skipgaps&lt;br /&gt;
					)&lt;br /&gt;
				)&lt;br /&gt;
				skipbaseyear = var&lt;br /&gt;
				y = 1&lt;br /&gt;
			else&lt;br /&gt;
				y = y + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		var = skipbaseyear&lt;br /&gt;
		while #links &amp;lt; 11 do&lt;br /&gt;
			var = var + 1&lt;br /&gt;
			lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
			title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. lastpart&lt;br /&gt;
			table.insert(&lt;br /&gt;
				links,&lt;br /&gt;
				&amp;#039;&amp;lt;span class=&amp;quot;catseriesnav-item-inactive&amp;quot;; title=&amp;quot;&amp;#039; .. title .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		repeat&lt;br /&gt;
			var = year + currgap&lt;br /&gt;
			if var == 0 then&lt;br /&gt;
				passed0 = true&lt;br /&gt;
				if isBC then&lt;br /&gt;
					limit = limit - 1&lt;br /&gt;
					currgap = currgap - 1&lt;br /&gt;
					var = year + currgap&lt;br /&gt;
				else&lt;br /&gt;
					limit = limit + 1&lt;br /&gt;
					currgap = currgap + 1&lt;br /&gt;
					var = year + currgap&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			lastpart, BCtext = BCornot(isBC, passed0, var, lastpart)&lt;br /&gt;
			title = firstpart .. convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. lastpart&lt;br /&gt;
			table.insert(&lt;br /&gt;
				links,&lt;br /&gt;
				handlecatlink(&lt;br /&gt;
					frame,&lt;br /&gt;
					firstpart,&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
					lastpart,&lt;br /&gt;
					convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
					&amp;#039;سال&amp;#039;,&lt;br /&gt;
					followRs&lt;br /&gt;
				)&lt;br /&gt;
			)&lt;br /&gt;
			if isBC then&lt;br /&gt;
				currgap = currgap - 1&lt;br /&gt;
				condition = currgap &amp;lt; limit&lt;br /&gt;
			else&lt;br /&gt;
				currgap = currgap + 1&lt;br /&gt;
				condition = currgap &amp;gt; limit&lt;br /&gt;
			end&lt;br /&gt;
		until condition&lt;br /&gt;
	end&lt;br /&gt;
	gap = 10&lt;br /&gt;
	condition = false&lt;br /&gt;
	limit = gap * 5&lt;br /&gt;
	if isBC then limit = -limit end&lt;br /&gt;
	currgap = -limit&lt;br /&gt;
	passed0 = false&lt;br /&gt;
	repeat&lt;br /&gt;
		shouldbebold = decade + currgap == decade&lt;br /&gt;
		var = decade + currgap&lt;br /&gt;
		table.insert(&lt;br /&gt;
			sublinks,&lt;br /&gt;
			handlecatlink(&lt;br /&gt;
				frame,&lt;br /&gt;
				firstpart .. &amp;#039; دهه &amp;#039;,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, positive(var)),&lt;br /&gt;
				lastpart,&lt;br /&gt;
				convertnum(&amp;#039;fa&amp;#039;, positive(var)) .. BCtext,&lt;br /&gt;
				&amp;#039;دهه&amp;#039;,&lt;br /&gt;
				followRs,&lt;br /&gt;
				shouldbebold,&lt;br /&gt;
				false,&lt;br /&gt;
				true&lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
		if var &amp;gt;= 0 then&lt;br /&gt;
			passed0 = true&lt;br /&gt;
		end&lt;br /&gt;
		if isBC then&lt;br /&gt;
			currgap = currgap - 10&lt;br /&gt;
			condition = currgap &amp;lt; limit&lt;br /&gt;
		else&lt;br /&gt;
			currgap = currgap + 10&lt;br /&gt;
			condition = currgap &amp;gt; limit&lt;br /&gt;
		end&lt;br /&gt;
	until condition&lt;br /&gt;
	if decadesublinks then trackcat(26, &amp;#039;ناوبری مجموعه رده سال و دهه&amp;#039;) end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	checkforunknownparams(args)&lt;br /&gt;
	local templatestyles = require(&amp;quot;Module:TemplateStyles&amp;quot;)(&lt;br /&gt;
		&amp;quot;پودمان:ناوبری مجموعه رده/styles.css&amp;quot;&lt;br /&gt;
	)&lt;br /&gt;
	setFarsiArguments(&lt;br /&gt;
		args,&lt;br /&gt;
		{&lt;br /&gt;
			[&amp;#039;cat&amp;#039;]  = &amp;#039;رده&amp;#039;, [&amp;#039;skip-gaps&amp;#039;] = &amp;#039;پرش از وقفه&amp;#039;, [&amp;#039;show&amp;#039;] = &amp;#039;نمایش&amp;#039;,&lt;br /&gt;
			[&amp;#039;follow-redirects&amp;#039;] = &amp;#039;پیمایش تغییرمسیر&amp;#039;, [&amp;#039;testcase&amp;#039;] = &amp;#039;آزمایشی&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	)&lt;br /&gt;
	local skipgaps = args[&amp;#039;skip-gaps&amp;#039;] and yesno(args[&amp;#039;skip-gaps&amp;#039;]) or false&lt;br /&gt;
	if skipgaps then&lt;br /&gt;
		trackcat(23, &amp;#039;ناوبری مجموعه رده با پارامتر پرش از وقفه&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local follow = true&lt;br /&gt;
	if args[&amp;#039;follow-redirects&amp;#039;] and not yesno(args[&amp;#039;follow-redirects&amp;#039;]) then&lt;br /&gt;
		follow = false&lt;br /&gt;
	end&lt;br /&gt;
	local gap = 1&lt;br /&gt;
	local links = {}&lt;br /&gt;
	local sublinks = {}&lt;br /&gt;
	local pagename = args[&amp;#039;cat&amp;#039;] and mw.title.new(args[&amp;#039;cat&amp;#039;], &amp;#039;رده&amp;#039;).text or currtitle.text&lt;br /&gt;
	local cattype = detectcattype(pagename)&lt;br /&gt;
	local calendar = detectcalendar(pagename)&lt;br /&gt;
	local variable = extractvariable(pagename, cattype)&lt;br /&gt;
	local firstpart, lastpart = extractparts(pagename)&lt;br /&gt;
	local limit, currentgap = 0, 0&lt;br /&gt;
	local isBC = calendar == &amp;#039;پیش از میلاد&amp;#039;&lt;br /&gt;
	local BCtext = &amp;#039;&amp;#039;&lt;br /&gt;
	local out = &amp;#039;&amp;lt;div class=&amp;quot;toccolours catseriesnav-range&amp;quot;&amp;gt;\n&amp;#039;&lt;br /&gt;
	local show = args[&amp;#039;show&amp;#039;]&lt;br /&gt;
	&lt;br /&gt;
	if show and show ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		if show == &amp;#039;skip-gaps&amp;#039; or show == &amp;#039;پرش از وقفه&amp;#039; then return convertnum(&amp;#039;fa&amp;#039;, skipgaps_limit)&lt;br /&gt;
		elseif show == &amp;#039;term-limit&amp;#039; or show == &amp;#039;مدت محدود&amp;#039; then return convertnum(&amp;#039;fa&amp;#039;, term_limit) end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--namespace checks&lt;br /&gt;
	if isincatns then&lt;br /&gt;
		if args[&amp;#039;cat&amp;#039;] and args[&amp;#039;cat&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			trackcat(1, &amp;#039;ناوبری مجموعه رده با کاربرد پارامتر رده&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;#039;testcase&amp;#039;] and args[&amp;#039;testcase&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			trackcat(2, &amp;#039;ناوبری مجموعه رده با کاربرد پارامتر آزمایشی&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif isinmainspace then&lt;br /&gt;
		trackcat(27, &amp;#039;ناوبری مجموعه رده در فضای نام اصلی&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if cattype then&lt;br /&gt;
		if isBC then&lt;br /&gt;
			BCtext = &amp;#039;پ‌م&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if cattype == &amp;#039;سده&amp;#039; then&lt;br /&gt;
			p.handleccentury(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, skipgaps, follow)&lt;br /&gt;
		elseif cattype == &amp;#039;دهه&amp;#039; then&lt;br /&gt;
			p.handledecade(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, sublinks, skipgaps, follow)&lt;br /&gt;
		elseif cattype == &amp;#039;سال&amp;#039; then&lt;br /&gt;
			p.handleyear(frame, limit, isBC, variable, firstpart, lastpart, BCtext, gap, links, sublinks, skipgaps, follow)&lt;br /&gt;
		else -- range&lt;br /&gt;
			&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if #links &amp;gt; 0 then&lt;br /&gt;
		out = out .. horizontal(links) .. &amp;#039;\n&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		errors = p.errorclass(&amp;#039;ناتوان در یافتن متن متغیر در عنوان ردهٔ «&amp;#039; .. pagename .. &amp;#039;»&amp;#039;)&lt;br /&gt;
		out = p.failedcat(errors, &amp;#039;ع&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if decadesublinks or centurysublinks then&lt;br /&gt;
		out = out .. &amp;#039;\n&amp;lt;div class=&amp;quot;toccolours catseriesnav-range catseriesnav-range-transparent&amp;quot;&amp;gt;\n&amp;#039; ..&lt;br /&gt;
			  horizontal(sublinks) .. &amp;#039;\n&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	out = out .. table.concat(ttrackingcats)&lt;br /&gt;
	return templatestyles ..&lt;br /&gt;
		&amp;#039;&amp;lt;div class=&amp;quot;catseriesnav&amp;quot; role=&amp;quot;navigation&amp;quot; aria-label=&amp;quot;Range&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
		out .. &amp;#039;\n&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>محمد</name></author>
	</entry>
</feed>