<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://www.iran-pedia.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mahan</id>
	<title>ایران پدیا - مشارکت‌های کاربر [fa]</title>
	<link rel="self" type="application/atom+xml" href="https://www.iran-pedia.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mahan"/>
	<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/wiki/%D9%88%DB%8C%DA%98%D9%87:%D9%85%D8%B4%D8%A7%D8%B1%DA%A9%D8%AA%E2%80%8C%D9%87%D8%A7/Mahan"/>
	<updated>2026-05-06T13:25:25Z</updated>
	<subtitle>مشارکت‌های کاربر</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78363</id>
		<title>درگاه:اصلی/جعبه</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78363"/>
		<updated>2025-06-27T15:48:24Z</updated>

		<summary type="html">&lt;p&gt;Mahan: خنثی‌سازی نسخهٔ 78359 از Mahan (بحث)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;! class=&amp;quot;nounderlinelink&amp;quot; style=&amp;quot;background-color:{{#ifeq:{{{Position}}}|left|{{#replace:{{درگاه:اصلی/زمینه۱}}|#|{{NS}} }}| {{#ifeq:{{{Position}}}|right|{{#replace:{{درگاه:اصلی/زمینه۲}}|#|{{NS}} }} }} }}; {{#ifeq:{{{Position}}}|left|font-size: 1.1em;}} text-align: right; padding: 0px&amp;quot; | {{#if:{{{Edit-link|}}}|&amp;lt;div style=&amp;quot;float: left; padding-left: 7px&amp;quot;&amp;gt;&#039;&#039;[{{fullurl:{{{Edit-link}}}|action=edit}} &amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;ویرایش&amp;lt;/font&amp;gt;]&#039;&#039;&amp;lt;/div&amp;gt;}} &amp;lt;span style=&amp;quot;padding-right: 7px; color:white&amp;quot;&amp;gt; &#039;&#039;&#039;{{{Header}}}&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 0.9em&amp;quot; |&lt;br /&gt;
{{{Content}}}&lt;br /&gt;
|-&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&lt;br /&gt;
|Content=&lt;br /&gt;
|Edit-link=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78361</id>
		<title>درگاه:اصلی/جعبه</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78361"/>
		<updated>2025-06-27T15:47:49Z</updated>

		<summary type="html">&lt;p&gt;Mahan: خنثی‌سازی نسخهٔ 78360 از Mahan (بحث)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-box&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-header&amp;quot; style=&amp;quot;background-color:{{#ifeq:{{{Position}}}|left|{{#replace:{{درگاه:اصلی/زمینه۱}}|#|%23}}| {{#ifeq:{{{Position}}}|right|{{#replace:{{درگاه:اصلی/زمینه۲}}|#|%23}}|#36C}} }}; {{#ifeq:{{{Position}}}|left|font-size: 1.1em;}} text-align: right;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span style=&amp;quot;padding-right: 7px; color:white;&amp;quot;&amp;gt;&#039;&#039;&#039;{{{Header}}}&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
        {{#if:{{{Edit-link|}}}|&amp;lt;span class=&amp;quot;mp-edit-link&amp;quot;&amp;gt;&#039;&#039;[[{{{Edit-link}}}|ویرایش]]&#039;&#039;&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-content&amp;quot;&amp;gt;&lt;br /&gt;
        {{{Content}}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&lt;br /&gt;
|Content=&lt;br /&gt;
|Edit-link=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78360</id>
		<title>درگاه:اصلی/جعبه</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78360"/>
		<updated>2025-06-27T15:47:15Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-box&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-header&amp;quot; style=&amp;quot;background-color:{{#ifeq:{{{Position}}}|left|{{#replace:{{درگاه:اصلی/زمینه۱}}|#|%23}}|{{#ifeq:{{{Position}}}|right|{{#replace:{{درگاه:اصلی/زمینه۲}}|#|%23}}|#36C}} }};&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;mp-box-header-title&amp;quot;&amp;gt;&lt;br /&gt;
            {{{Header}}}&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
        {{#if:{{{Edit-link|}}}|&amp;lt;span class=&amp;quot;mp-edit-link&amp;quot;&amp;gt;[[{{{Edit-link}}}|ویرایش]]&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-content&amp;quot;&amp;gt;&lt;br /&gt;
        {{{Content}}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=&lt;br /&gt;
|Image= (این پارامتر دیگر مستقیماً در این الگو استفاده نمی‌شود، بلکه باید داخل Content قرار گیرد)&lt;br /&gt;
|Imagesize= (این پارامتر دیگر مستقیماً در این الگو استفاده نمی‌شود)&lt;br /&gt;
|Header=&lt;br /&gt;
|Content=&lt;br /&gt;
|Edit-link=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78359</id>
		<title>درگاه:اصلی/جعبه</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%AF%D8%B1%DA%AF%D8%A7%D9%87:%D8%A7%D8%B5%D9%84%DB%8C/%D8%AC%D8%B9%D8%A8%D9%87&amp;diff=78359"/>
		<updated>2025-06-27T15:44:33Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-box&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-header&amp;quot; style=&amp;quot;background-color:{{#ifeq:{{{Position}}}|left|{{#replace:{{درگاه:اصلی/زمینه۱}}|#|%23}}| {{#ifeq:{{{Position}}}|right|{{#replace:{{درگاه:اصلی/زمینه۲}}|#|%23}}|#36C}} }}; {{#ifeq:{{{Position}}}|left|font-size: 1.1em;}} text-align: right;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span style=&amp;quot;padding-right: 7px; color:white;&amp;quot;&amp;gt;&#039;&#039;&#039;{{{Header}}}&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
        {{#if:{{{Edit-link|}}}|&amp;lt;span class=&amp;quot;mp-edit-link&amp;quot;&amp;gt;&#039;&#039;[[{{{Edit-link}}}|ویرایش]]&#039;&#039;&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mp-box-content&amp;quot;&amp;gt;&lt;br /&gt;
        {{{Content}}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&lt;br /&gt;
|Content=&lt;br /&gt;
|Edit-link=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C/styles.css&amp;diff=78356</id>
		<title>کاربر:Mahan/صفحه اصلی/styles.css</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C/styles.css&amp;diff=78356"/>
		<updated>2025-06-27T15:36:36Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «/* General Body Styling */ body {     font-family: &amp;#039;Open Sans&amp;#039;, &amp;#039;Helvetica Neue&amp;#039;, Helvetica, Arial, sans-serif;     line-height: 1.6;     color: #202122;     background-color: #f8f9fa; }  /* Main Page Header */ #mp-header {     text-align: center;     padding: 1em 0;     background-color: #f8f9fa;     border-bottom: 1px solid #a2a9b1; }  /* Column Layout */ #mp-right, #mp-left {     vertical-align: top;     box-sizing: border-box; }  #...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* General Body Styling */&lt;br /&gt;
body {&lt;br /&gt;
    font-family: &#039;Open Sans&#039;, &#039;Helvetica Neue&#039;, Helvetica, Arial, sans-serif;&lt;br /&gt;
    line-height: 1.6;&lt;br /&gt;
    color: #202122;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main Page Header */&lt;br /&gt;
#mp-header {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    padding: 1em 0;&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    border-bottom: 1px solid #a2a9b1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Column Layout */&lt;br /&gt;
#mp-right, #mp-left {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mp-right {&lt;br /&gt;
    float: right;&lt;br /&gt;
    width: 52%;&lt;br /&gt;
    padding-left: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mp-left {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 46%;&lt;br /&gt;
    padding-right: 1em;&lt;br /&gt;
    border-radius: 0.5em;&lt;br /&gt;
    background-color: #ffffff;&lt;br /&gt;
    box-shadow: 0 0 0.5em rgba(0,0,0,0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Clearfix for the footer */&lt;br /&gt;
.footer {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    padding-top: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for content boxes */&lt;br /&gt;
.mw-parser-output .درگاه\:اصلی\/جعبه { /* Escaping the colon and slash in template name */&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    background-color: #ffffff;&lt;br /&gt;
    margin-bottom: 1em;&lt;br /&gt;
    padding: 0.5em;&lt;br /&gt;
    border-radius: 0.5em;&lt;br /&gt;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output .درگاه\:اصلی\/جعبه .Header { /* Escaping the colon and slash in template name */&lt;br /&gt;
    background-color: #36c;&lt;br /&gt;
    color: white;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 0.5em;&lt;br /&gt;
    margin: -0.5em -0.5em 0.5em -0.5em;&lt;br /&gt;
    border-radius: 0.4em 0.4em 0 0;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Specific styling for the Wikipedia-like title component */&lt;br /&gt;
.صفحه-اصلی-عنوان {&lt;br /&gt;
    background-color: #eaf3ff;&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-radius: 0.5em;&lt;br /&gt;
    padding: 0.5em 1em;&lt;br /&gt;
    margin-bottom: 1em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #36c;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.صفحه-اصلی-عنوان img {&lt;br /&gt;
    margin-left: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.صفحه-اصلی-عنوان .edit-link {&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    margin-right: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ensure images within content boxes don&#039;t overflow */&lt;br /&gt;
.mw-parser-output .درگاه\:اصلی\/جعبه img { /* Escaping the colon and slash in template name */&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C/%D8%B9%D9%86%D9%88%D8%A7%D9%86&amp;diff=78354</id>
		<title>الگو:صفحه اصلی/عنوان</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C/%D8%B9%D9%86%D9%88%D8%A7%D9%86&amp;diff=78354"/>
		<updated>2025-06-27T15:23:09Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;صفحه-اصلی-عنوان&amp;quot;&amp;gt;&lt;br /&gt;
    {{#if:{{{image|}}}|&amp;lt;img src=&amp;quot;{{filepath:{{{image}}}}}&amp;quot; width=&amp;quot;{{{image_size|25px}}}&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;}}&lt;br /&gt;
    {{{title|}}}&lt;br /&gt;
    {{#if:{{{ویرایش|}}}|&amp;lt;span class=&amp;quot;edit-link&amp;quot;&amp;gt;[[{{{ویرایش}}}|ویرایش]]&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78348</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78348"/>
		<updated>2025-06-27T12:48:28Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;صفحه اصلی/styles.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-header&amp;quot; style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
 {{درگاه:اصلی/آشناسازی}}&lt;br /&gt;
 {{درگاه:اصلی/نوار ناوبری}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-right&amp;quot; class=&amp;quot;content&amp;quot; style=&amp;quot;width: 52%; float: right; padding-top: 1px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;mf-fa&amp;quot;&amp;gt;{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=right&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;نوشتار برگزیده&amp;lt;/font&amp;gt;&lt;br /&gt;
|Content={{ {{مدیاویکی:ffeed-featured-page}} }}&lt;br /&gt;
|Edit-link={{مدیاویکی:ffeed-featured-page}}&lt;br /&gt;
}}&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;div id=&amp;quot;mf-con&amp;quot;&amp;gt;{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=right&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;نوشتارهای جدید&amp;lt;/font&amp;gt;&lt;br /&gt;
|Content={{درگاه:اصلی/نوشتارهای برگزیده}}&lt;br /&gt;
|Edit-link=درگاه:اصلی/نوشتارهای برگزیده&lt;br /&gt;
}}&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-left&amp;quot; class=&amp;quot;aside&amp;quot; style=&amp;quot;border-radius: 2em; width: 46%; float: left; box-sizing: border-box; padding: 0 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;mf-aw&amp;quot;&amp;gt;{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=left&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;درباره‌ی ایران‌پدیا&amp;lt;/font&amp;gt;&lt;br /&gt;
|Content={{درگاه:اصلی/درباره ایران‌پدیا}}&lt;br /&gt;
|Edit-link=درگاه:اصلی/درباره ایران‌پدیا&lt;br /&gt;
}}&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;div id=&amp;quot;mf-itn&amp;quot;&amp;gt;{{درگاه:اصلی/جعبه&lt;br /&gt;
|Position=left&lt;br /&gt;
|Image=&lt;br /&gt;
|Imagesize=&lt;br /&gt;
|Header=&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;موضوعات اصلی&amp;lt;/font&amp;gt;&lt;br /&gt;
|Content={{درگاه:اصلی/موضوعات}}&lt;br /&gt;
|Edit-link=درگاه:اصلی/موضوعات&lt;br /&gt;
}}&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;footer&amp;quot; style=&amp;quot;clear: both; padding-top: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{میان‌و‌ویکی صفحه اصلی}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%86%DA%AF%D8%A7%D8%B1%D9%87_%D8%B1%D9%88%D8%B2/%DA%98%D9%88%D8%A6%D9%86_%DB%B2%DB%B0%DB%B2%DB%B5&amp;diff=78338</id>
		<title>ایران‌پدیا:نگاره روز/ژوئن ۲۰۲۵</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%86%DA%AF%D8%A7%D8%B1%D9%87_%D8%B1%D9%88%D8%B2/%DA%98%D9%88%D8%A6%D9%86_%DB%B2%DB%B0%DB%B2%DB%B5&amp;diff=78338"/>
		<updated>2025-06-26T21:13:00Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «__NOEDITSECTION__ {{POTDArchiveHeader}}  {{نر/روز|2025-06-01}} {{نر/روز|2025-06-02}} {{نر/روز|2025-06-03}} {{نر/روز|2025-06-04}} {{نر/روز|2025-06-05}} {{نر/روز|2025-06-06}} {{نر/روز|2025-06-07}} {{نر/روز|2025-06-08}} {{نر/روز|2025-06-09}} {{نر/روز|2025-06-10}} {{نر/روز|2025-06-11}} {{نر/روز|2025-06-12}} {{نر/روز|2025-06-13}} {{نر/روز|2025-06-14}} {{نر/روز|2025-0...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
{{POTDArchiveHeader}}&lt;br /&gt;
&lt;br /&gt;
{{نر/روز|2025-06-01}}&lt;br /&gt;
{{نر/روز|2025-06-02}}&lt;br /&gt;
{{نر/روز|2025-06-03}}&lt;br /&gt;
{{نر/روز|2025-06-04}}&lt;br /&gt;
{{نر/روز|2025-06-05}}&lt;br /&gt;
{{نر/روز|2025-06-06}}&lt;br /&gt;
{{نر/روز|2025-06-07}}&lt;br /&gt;
{{نر/روز|2025-06-08}}&lt;br /&gt;
{{نر/روز|2025-06-09}}&lt;br /&gt;
{{نر/روز|2025-06-10}}&lt;br /&gt;
{{نر/روز|2025-06-11}}&lt;br /&gt;
{{نر/روز|2025-06-12}}&lt;br /&gt;
{{نر/روز|2025-06-13}}&lt;br /&gt;
{{نر/روز|2025-06-14}}&lt;br /&gt;
{{نر/روز|2025-06-15}}&lt;br /&gt;
{{نر/روز|2025-06-16}}&lt;br /&gt;
{{نر/روز|2025-06-17}}&lt;br /&gt;
{{نر/روز|2025-06-18}}&lt;br /&gt;
{{نر/روز|2025-06-19}}&lt;br /&gt;
{{نر/روز|2025-06-20}}&lt;br /&gt;
{{نر/روز|2025-06-21}}&lt;br /&gt;
{{نر/روز|2025-06-22}}&lt;br /&gt;
{{نر/روز|2025-06-23}}&lt;br /&gt;
{{نر/روز|2025-06-24}}&lt;br /&gt;
{{نر/روز|2025-06-25}}&lt;br /&gt;
{{نر/روز|2025-06-26}}&lt;br /&gt;
{{نر/روز|2025-06-27}}&lt;br /&gt;
{{نر/روز|2025-06-28}}&lt;br /&gt;
{{نر/روز|2025-06-29}}&lt;br /&gt;
{{نر/روز|2025-06-30}}&lt;br /&gt;
&lt;br /&gt;
{{POTDArchiveFooter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[رده:نگاره روز ایران‌پدیا ژوئن ۲۰۲۵]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%BE%DB%8C%D9%88%D9%86%D8%AF_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4&amp;diff=78337</id>
		<title>الگو:پیوند ویرایش</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%BE%DB%8C%D9%88%D9%86%D8%AF_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4&amp;diff=78337"/>
		<updated>2025-06-26T20:55:27Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه را خالی کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%BE%DB%8C%D9%88%D9%86%D8%AF_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4&amp;diff=78336</id>
		<title>الگو:پیوند ویرایش</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%BE%DB%8C%D9%88%D9%86%D8%AF_%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4&amp;diff=78336"/>
		<updated>2025-06-26T20:55:01Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{{1|{{نام صفحه}}}}}|action=edit}}{{#if:{{{preload|}}}|&amp;amp;preload={{urlencode:{{{preload}}}}}}} {{{2|ویرایش}}}]&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;  {{توضیحات |محتوا= برای پیوند به صفحهٔ ویرایش یک صفحه. عنوان صفحهٔ موردنظر را به پارمتر نخست و عنوان پیوند را (اختیاری) به پارامتر دوم دهید.}} &amp;lt;/noinclude&amp;gt;» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{{1|{{نام صفحه}}}}}|action=edit}}{{#if:{{{preload|}}}|&amp;amp;preload={{urlencode:{{{preload}}}}}}} {{{2|ویرایش}}}]&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{توضیحات |محتوا= برای پیوند به صفحهٔ ویرایش یک صفحه. عنوان صفحهٔ موردنظر را به پارمتر نخست و عنوان پیوند را (اختیاری) به پارامتر دوم دهید.}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D8%A2%DB%8C%D8%A7_%D9%85%DB%8C%E2%80%8C%D8%AF%D8%A7%D9%86%D8%B3%D8%AA%DB%8C%D8%AF_%DA%A9%D9%87...%D8%9F/%D8%A7%D9%84%DA%AF%D9%88_%DB%B2&amp;diff=78335</id>
		<title>ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D8%A2%DB%8C%D8%A7_%D9%85%DB%8C%E2%80%8C%D8%AF%D8%A7%D9%86%D8%B3%D8%AA%DB%8C%D8%AF_%DA%A9%D9%87...%D8%9F/%D8%A7%D9%84%DA%AF%D9%88_%DB%B2&amp;diff=78335"/>
		<updated>2025-06-26T20:54:26Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «;{{{1}}} — {{پیوند ویرایش|ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}}|ویرایش|preload=ایران‌پدیا:آیا می‌دانستید که...؟/پیش‌بارگذاری الگوی هفتگی}} {{#اگرموجود:ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}} | {{ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}}}} | &amp;#039;&amp;#039;ایران‌پدیا:آیا م...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;{{{1}}} — {{پیوند ویرایش|ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}}|ویرایش|preload=ایران‌پدیا:آیا می‌دانستید که...؟/پیش‌بارگذاری الگوی هفتگی}}&lt;br /&gt;
{{#اگرموجود:ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}} | {{ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}}}} | &#039;&#039;ایران‌پدیا:آیا می‌دانستید که...؟/{{{1}}} هنوز ساخته نشده است.&#039;&#039;}}&lt;br /&gt;
{{پاک‌کن}}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D8%A2%DB%8C%D8%A7_%D9%85%DB%8C%E2%80%8C%D8%AF%D8%A7%D9%86%D8%B3%D8%AA%DB%8C%D8%AF_%DA%A9%D9%87...%D8%9F/%D9%87%D9%81%D8%AA%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_%DB%B2%DB%B0%DB%B2%DB%B4_(%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C)&amp;diff=78334</id>
		<title>ایران‌پدیا:آیا می‌دانستید که...؟/هفته‌های ۲۰۲۴ (میلادی)</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D8%A2%DB%8C%D8%A7_%D9%85%DB%8C%E2%80%8C%D8%AF%D8%A7%D9%86%D8%B3%D8%AA%DB%8C%D8%AF_%DA%A9%D9%87...%D8%9F/%D9%87%D9%81%D8%AA%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_%DB%B2%DB%B0%DB%B2%DB%B4_(%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C)&amp;diff=78334"/>
		<updated>2025-06-26T20:53:17Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «{{ambox |type = content |text = همینک در &amp;#039;&amp;#039;&amp;#039;{{سبز|هفته {{#time: W}}}}&amp;#039;&amp;#039;&amp;#039; سال {{#time:Y}} هستیم و &amp;#039;&amp;#039;&amp;#039;{{formatnum:{{#expr:{{#ifeq:{{#time:W|{{#time:Y||en}}-12-31|en}}|01|53|{{#time:W|{{#time:Y||en}}-12-31|en}}}}-{{#time: W||en}}}}}}&amp;#039;&amp;#039;&amp;#039; هفته تا پایان سال باقی مانده‌است }} {{ایران‌پدیا:آیا می‌دانستید که...؟/بایگانی|سال=۲۰۲۴}} ---- {{ایران‌پ...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox&lt;br /&gt;
|type = content&lt;br /&gt;
|text = همینک در &#039;&#039;&#039;{{سبز|هفته {{#time: W}}}}&#039;&#039;&#039; سال {{#time:Y}} هستیم و &#039;&#039;&#039;{{formatnum:{{#expr:{{#ifeq:{{#time:W|{{#time:Y||en}}-12-31|en}}|01|53|{{#time:W|{{#time:Y||en}}-12-31|en}}}}-{{#time: W||en}}}}}}&#039;&#039;&#039; هفته تا پایان سال باقی مانده‌است&lt;br /&gt;
}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/بایگانی|سال=۲۰۲۴}}&lt;br /&gt;
----&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۲}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۳}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۴}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۵}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۶}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۷}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۸}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۰۹}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۰}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۲}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۳}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۴}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۵}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۶}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۷}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۸}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۱۹}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۰}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۲}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۳}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۴}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۵}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۶}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۷}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۸}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۲۹}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۰}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۲}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۳}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۴}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۵}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۶}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۷}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۸}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۳۹}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۰}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۲}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۳}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۴}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۵}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۶}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۷}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۸}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۴۹}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۵۰}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۵۱}}&lt;br /&gt;
{{ایران‌پدیا:آیا می‌دانستید که...؟/الگو ۲|۲۰۲۴/هفته ۵۲}}&lt;br /&gt;
&lt;br /&gt;
[[رده:ایران‌پدیا آیا می‌دانستید]]&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%85%D9%82%D8%A7%D9%84%D9%87_%D9%BE%DB%8C%D8%B4%D9%86%D9%87%D8%A7%D8%AF%DB%8C_%D9%87%D9%81%D8%AA%D9%87&amp;diff=78333</id>
		<title>ایران‌پدیا:مقاله پیشنهادی هفته</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%85%D9%82%D8%A7%D9%84%D9%87_%D9%BE%DB%8C%D8%B4%D9%86%D9%87%D8%A7%D8%AF%DB%8C_%D9%87%D9%81%D8%AA%D9%87&amp;diff=78333"/>
		<updated>2025-06-26T20:49:47Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «&amp;lt;noinclude&amp;gt;{{توجه|قبل از تنظیم مقالهٔ پیشنهادی هفته &amp;#039;&amp;#039;&amp;#039;راهنمای کار&amp;#039;&amp;#039;&amp;#039; را مطالعه کنید.}}{{میان‌بر|وپ:مپه}}&amp;lt;/noinclude&amp;gt;{{ {{مدیاویکی:ffeed-featured-page}} }}&amp;lt;noinclude&amp;gt; __NOTOC__ == زمان‌بندی نمایش مقاله‌های برگزیده در صفحهٔ اصلی == &amp;lt;!--...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{توجه|قبل از تنظیم مقالهٔ پیشنهادی هفته &#039;&#039;&#039;[[ایران‌پدیا:مقاله پیشنهادی هفته/راهنمای کار|راهنمای کار]]&#039;&#039;&#039; را مطالعه کنید.}}{{میان‌بر|وپ:مپه}}&amp;lt;/noinclude&amp;gt;{{ {{مدیاویکی:ffeed-featured-page}} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== زمان‌بندی نمایش مقاله‌های برگزیده در صفحهٔ اصلی ==&lt;br /&gt;
&amp;lt;!--در آغاز هر سال، برای جدول پیش‌فرض به [[ایران‌پدیا:مقاله پیشنهادی هفته/جدول پیش‌فرض]] مراجعه کنید. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ایران‌پدیا:مقاله پیشنهادی هفته/۲۰۲۵}}&lt;br /&gt;
&lt;br /&gt;
=== سال‌های گذشته ===&lt;br /&gt;
* [[ایران‌پدیا:مقاله پیشنهادی هفته/بایگانی]]&lt;br /&gt;
&lt;br /&gt;
== مناسبت‌های خاص ==&lt;br /&gt;
بر اساس [[ایران‌پدیا:نظرخواهی/چینش مناسبتی مقالات برگزیده در صفحه اصلی]]. افزودن مقاله به خاطر مناسبت‌های خاص ممنوع است.&lt;br /&gt;
&lt;br /&gt;
{{ایران‌پدیا:مقاله پیشنهادی هفته/بسامد}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-onthisday-page&amp;diff=78332</id>
		<title>مدیاویکی:Ffeed-onthisday-page</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-onthisday-page&amp;diff=78332"/>
		<updated>2025-06-26T20:47:37Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «ایران‌پدیا:یادبودهای برگزیده/{{CURRENTDAY}} {{CURRENTMONTHNAME}}» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ایران‌پدیا:یادبودهای برگزیده/{{CURRENTDAY}} {{CURRENTMONTHNAME}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-potd-page&amp;diff=78331</id>
		<title>مدیاویکی:Ffeed-potd-page</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-potd-page&amp;diff=78331"/>
		<updated>2025-06-26T20:45:26Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «{{#ifexist:الگو:نر محافظت شده/{{formatnum:{{#time:Y-m-d}}|R}}|الگو:نر محافظت شده/{{formatnum:{{#time:Y-m-d}}|R}}|الگو:نر محافظت شده/{{formatnum:{{#time:۲۰۲۳-m-d}}|R}}}}» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifexist:الگو:نر محافظت شده/{{formatnum:{{#time:Y-m-d}}|R}}|الگو:نر محافظت شده/{{formatnum:{{#time:Y-m-d}}|R}}|الگو:نر محافظت شده/{{formatnum:{{#time:۲۰۲۳-m-d}}|R}}}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-dyk-page&amp;diff=78330</id>
		<title>مدیاویکی:Ffeed-dyk-page</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Ffeed-dyk-page&amp;diff=78330"/>
		<updated>2025-06-26T20:44:10Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «ایران‌پدیا:آیا می‌دانستید که...؟/{{#time:o/هفته W}}» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ایران‌پدیا:آیا می‌دانستید که...؟/{{#time:o/هفته W}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78329</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78329"/>
		<updated>2025-06-26T20:42:50Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;صفحه اصلی/styles.css&amp;quot;/&amp;gt;&amp;lt;div id=&amp;quot;mp-header&amp;quot; style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  {{صفحه اصلی/بالا}}&lt;br /&gt;
  {{پیام صفحه اصلی}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-right&amp;quot; class=&amp;quot;content&amp;quot; style=&amp;quot;width: 52%; float: right; padding-top: 1px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- نوشتار پیشنهادی هفته --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-fa&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = مقالهٔ برگزیده|image = Symbol_star_gold.svg|ویرایش = {{مدیاویکی:ffeed-featured-page}} }}&lt;br /&gt;
    &amp;lt;div&amp;gt;{{ {{مدیاویکی:ffeed-featured-page}} }}&amp;lt;span style=&amp;quot;float: left&amp;quot;&amp;gt;&amp;lt;small&amp;gt;[[پرونده:Symbol star gold.svg|15px|alt=|پیوند=]]&amp;amp;nbsp;&#039;&#039;&#039;[[ایران‌پدیا:مقاله‌های برگزیده|مقاله‌های برگزیده]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ایران‌پدیا:مقاله پیشنهادی هفته|مقالهٔ امروز]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- آیا می‌دانستید که …؟ --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-con&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = آیا می‌دانستید که …؟|image = Help-browser - ar.svg|ویرایش = {{مدیاویکی:ffeed-dyk-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
{{ {{مدیاویکی:ffeed-dyk-page}} }}&lt;br /&gt;
      &amp;lt;div style=&amp;quot;font-size: 85%; text-align: end;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;[[پرونده:Symbol question fa.svg|15px|link=]] &#039;&#039;&#039;[[ایران‌پدیا:آیا می‌دانستید که...؟/هفته‌های {{#زمان:Y|{{#اگرحساب:{{#زمان:n||en}} = 6 or {{#زمان:n||en}} &amp;lt; 6|-1 year|now}}}} (میلادی)|بیشتر…]]&#039;&#039;&#039; – &#039;&#039;&#039;[[ایران‌پدیا:آیا می‌دانستید که...؟/پیش‌نویس|پیشنهاد یک مقاله]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- دربارهٔ ایران‌پدیا--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-aw&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = دربارهٔ ایران‌پدیا|image = W-circle.svg|ویرایش = الگو:درباره ایران‌پدیا}}&lt;br /&gt;
    &amp;lt;div&amp;gt;{{درباره ایران‌پدیا}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-left&amp;quot; class=&amp;quot;aside&amp;quot; style=&amp;quot;border-radius: 2em; width: 46%; float: left; box-sizing: border-box; padding: 0 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- از میان خبرها --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-itn&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = از میان خبرها |image = Ambox_globe.svg|image_size=35px|ویرایش = الگو:از میان خبرها/پیش‌نویس }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
    {{از میان خبرها}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- یادبودها --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-otd&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title= یادبودها|image = Nuvola apps date-fa.png|ویرایش = {{مدیاویکی:ffeed-onthisday-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;امروز&#039;&#039;&#039;: {{#time: l|now}}، {{#time:[[j F]] [[Y &amp;quot;(میلادی)&amp;quot;|Y]]}} [[تقویم میلادی|میلادی]] برابر {{#time:[[xij xiF]] [[xiY (خورشیدی)|xiY]]}} [[گاه‌شماری هجری خورشیدی|هجری خورشیدی]] و {{#time: [[xmj xmF]] [[xmY (قمری)|xmY]] [[گاه‌شماری هجری قمری قراردادی|هجری قمری]]|{{اصلاح گاهشمار قمری}} day}} ([[ساعت هماهنگ جهانی|UTC]])&lt;br /&gt;
&lt;br /&gt;
{{ {{مدیاویکی:ffeed-onthisday-page}} }}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;text-align: left; font-size: smaller;&amp;quot;&amp;gt;[[ایران‌پدیا:یادبودهای برگزیده/{{#time:j F|-1 day}}|→ روز قبل]] &amp;amp;ndash; [[ایران‌پدیا:یادبودهای برگزیده/{{#time:j F|+1 day}}|روز بعد ←]]{{سخ}}&#039;&#039;&#039;[[ایران‌پدیا:یادبودهای برگزیده/{{CURRENTMONTHNAME}}|یادبودهای {{CURRENTMONTHNAME}}]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ایران‌پدیا:یادبودهای برگزیده|یادبودهای بیشتر…]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;footer&amp;quot; style=&amp;quot;clear: both; padding-top: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- نگارهٔ برگزیده --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-fp&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = نگارهٔ برگزیدهٔ امروز|image = Symbol star blue.svg|ویرایش = {{مدیاویکی:ffeed-potd-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{ {{مدیاویکی:ffeed-potd-page}} }}&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;font-size: 85%; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;[[پرونده:Cscr-featured.svg|15px|link=]] &#039;&#039;&#039;[[ایران‌پدیا:نگاره روز/{{CURRENTMONTHNAME}} {{CURRENTYEAR}}|بایگانی {{CURRENTMONTHNAME}} {{CURRENTYEAR}}]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ایران‌پدیا:نگاره‌های برگزیده|نگاره‌های برگزیدهٔ بیشتر]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- درون‌مایه --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-sp&amp;quot; style=&amp;quot;clear: both;&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = درون‌مایه|image = Text-x-generic.svg|ویرایش = الگو:محتوا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{محتوا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- پروژه‌های خواهر --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-sp&amp;quot; style=&amp;quot;clear: both;&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = پروژه‌های خواهر ایران‌پدیا|image = Wikimedia-logo.svg|ویرایش = الگو:پروژه‌های خواهر ایران‌پدیا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{پروژه‌های خواهر ایران‌پدیا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- زبان‌های دیگر --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mp-ol&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = زبان‌های ایران‌پدیا|image = Wikipedia&#039;s_W.svg|image_class = skin-invert|ویرایش = الگو:زبان‌های ایران‌پدیا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{زبان‌های ایران‌پدیا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; __NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{میان‌ویکی صفحه اصلی}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78328</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=78328"/>
		<updated>2025-06-26T20:41:18Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;صفحه اصلی/styles.css&amp;quot;/&amp;gt;&amp;lt;div id=&amp;quot;mp-header&amp;quot; style=&amp;quot;margin-bottom: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  {{صفحه اصلی/بالا}}&lt;br /&gt;
  {{پیام صفحه اصلی}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-right&amp;quot; class=&amp;quot;content&amp;quot; style=&amp;quot;width: 52%; float: right; padding-top: 1px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- نوشتار پیشنهادی هفته --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-fa&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = مقالهٔ برگزیده|image = Symbol_star_gold.svg|ویرایش = {{مدیاویکی:ffeed-featured-page}} }}&lt;br /&gt;
    &amp;lt;div&amp;gt;{{ {{مدیاویکی:ffeed-featured-page}} }}&amp;lt;span style=&amp;quot;float: left&amp;quot;&amp;gt;&amp;lt;small&amp;gt;[[پرونده:Symbol star gold.svg|15px|alt=|پیوند=]]&amp;amp;nbsp;&#039;&#039;&#039;[[ویکی‌پدیا:مقاله‌های برگزیده|مقاله‌های برگزیده]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ویکی‌پدیا:مقاله پیشنهادی هفته|مقالهٔ امروز]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- آیا می‌دانستید که …؟ --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-con&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = آیا می‌دانستید که …؟|image = Help-browser - ar.svg|ویرایش = {{مدیاویکی:ffeed-dyk-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
{{ {{مدیاویکی:ffeed-dyk-page}} }}&lt;br /&gt;
      &amp;lt;div style=&amp;quot;font-size: 85%; text-align: end;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;[[پرونده:Symbol question fa.svg|15px|link=]] &#039;&#039;&#039;[[ویکی‌پدیا:آیا می‌دانستید که...؟/هفته‌های {{#زمان:Y|{{#اگرحساب:{{#زمان:n||en}} = 6 or {{#زمان:n||en}} &amp;lt; 6|-1 year|now}}}} (میلادی)|بیشتر…]]&#039;&#039;&#039; – &#039;&#039;&#039;[[ویکی‌پدیا:آیا می‌دانستید که...؟/پیش‌نویس|پیشنهاد یک مقاله]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- دربارهٔ ویکی‌پدیا --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-aw&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = دربارهٔ ویکی‌پدیا|image = W-circle.svg|ویرایش = الگو:درباره ویکی‌پدیا}}&lt;br /&gt;
    &amp;lt;div&amp;gt;{{درباره ویکی‌پدیا}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mp-left&amp;quot; class=&amp;quot;aside&amp;quot; style=&amp;quot;border-radius: 2em; width: 46%; float: left; box-sizing: border-box; padding: 0 1em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- از میان خبرها --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-itn&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = از میان خبرها |image = Ambox_globe.svg|image_size=35px|ویرایش = الگو:از میان خبرها/پیش‌نویس }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
    {{از میان خبرها}}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- یادبودها --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-otd&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title= یادبودها|image = Nuvola apps date-fa.png|ویرایش = {{مدیاویکی:ffeed-onthisday-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;امروز&#039;&#039;&#039;: {{#time: l|now}}، {{#time:[[j F]] [[Y &amp;quot;(میلادی)&amp;quot;|Y]]}} [[تقویم میلادی|میلادی]] برابر {{#time:[[xij xiF]] [[xiY (خورشیدی)|xiY]]}} [[گاه‌شماری هجری خورشیدی|هجری خورشیدی]] و {{#time: [[xmj xmF]] [[xmY (قمری)|xmY]] [[گاه‌شماری هجری قمری قراردادی|هجری قمری]]|{{اصلاح گاهشمار قمری}} day}} ([[ساعت هماهنگ جهانی|UTC]])&lt;br /&gt;
&lt;br /&gt;
{{ {{مدیاویکی:ffeed-onthisday-page}} }}&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;text-align: left; font-size: smaller;&amp;quot;&amp;gt;[[ویکی‌پدیا:یادبودهای برگزیده/{{#time:j F|-1 day}}|→ روز قبل]] &amp;amp;ndash; [[ویکی‌پدیا:یادبودهای برگزیده/{{#time:j F|+1 day}}|روز بعد ←]]{{سخ}}&#039;&#039;&#039;[[ویکی‌پدیا:یادبودهای برگزیده/{{CURRENTMONTHNAME}}|یادبودهای {{CURRENTMONTHNAME}}]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ویکی‌پدیا:یادبودهای برگزیده|یادبودهای بیشتر…]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;footer&amp;quot; style=&amp;quot;clear: both; padding-top: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- نگارهٔ برگزیده --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-fp&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = نگارهٔ برگزیدهٔ امروز|image = Symbol star blue.svg|ویرایش = {{مدیاویکی:ffeed-potd-page}} }}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{ {{مدیاویکی:ffeed-potd-page}} }}&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;font-size: 85%; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div&amp;gt;[[پرونده:Cscr-featured.svg|15px|link=]] &#039;&#039;&#039;[[ویکی‌پدیا:نگاره روز/{{CURRENTMONTHNAME}} {{CURRENTYEAR}}|بایگانی {{CURRENTMONTHNAME}} {{CURRENTYEAR}}]]&#039;&#039;&#039; &amp;amp;ndash; &#039;&#039;&#039;[[ویکی‌پدیا:نگاره‌های برگزیده|نگاره‌های برگزیدهٔ بیشتر]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- درون‌مایه --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-sp&amp;quot; style=&amp;quot;clear: both;&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = درون‌مایه|image = Text-x-generic.svg|ویرایش = الگو:محتوا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{محتوا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- پروژه‌های خواهر --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mf-sp&amp;quot; style=&amp;quot;clear: both;&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = پروژه‌های خواهر ویکی‌پدیا|image = Wikimedia-logo.svg|ویرایش = الگو:پروژه‌های خواهر ویکی‌پدیا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{پروژه‌های خواهر ویکی‌پدیا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- زبان‌های دیگر --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;mp-ol&amp;quot;&amp;gt;{{صفحه اصلی/عنوان|title = زبان‌های ویکی‌پدیا|image = Wikipedia&#039;s_W.svg|image_class = skin-invert|ویرایش = الگو:زبان‌های ویکی‌پدیا}}&lt;br /&gt;
    &amp;lt;div style=&amp;quot;padding: 0 0.5em;&amp;quot;&amp;gt;{{زبان‌های ویکی‌پدیا}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; __NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{میان‌ویکی صفحه اصلی}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36210</id>
		<title>پودمان:WikidataIB</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36210"/>
		<updated>2019-03-20T17:56:40Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Module to try out use of a blacklist and whitelist for infobox fields&lt;br /&gt;
-- can take a named parameter |qid which is the Wikidata ID for the article. This will not normally be used&lt;br /&gt;
-- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances&lt;br /&gt;
-- Fields in whitelist return local value if it exists or the Wikidata value otherwise&lt;br /&gt;
-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
-- The name is compulsory when blacklist or whitelist is used, so the module returns nil if it is not supplied&lt;br /&gt;
-- blacklist is passed in named parameter |suppressfields&lt;br /&gt;
-- whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local i18n =&lt;br /&gt;
{&lt;br /&gt;
    [&amp;quot;errors&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
        [&amp;quot;property-not-found&amp;quot;] = &amp;quot;Property not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;entity-not-found&amp;quot;] = &amp;quot;Wikidata entity not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;Unknown claim type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;Unknown entity type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;Qualifier not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;site-not-found&amp;quot;] = &amp;quot;Wikimedia project not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;Unknown datetime format.&amp;quot;,&lt;br /&gt;
		[&amp;quot;local-article-not-found&amp;quot;] = &amp;quot;Article is available on Wikidata, but not on Iranpedia&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    [&amp;quot;months&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
    	&amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;, &amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Private functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate takes a datetime of the usual format from mw.wikibase.entity:formatPropertyValues&lt;br /&gt;
-- like &amp;quot;1 August 30 BCE&amp;quot; as parameter 1 and formats it according to the df (date format) and bc parameters&lt;br /&gt;
-- df = [&amp;quot;dmy&amp;quot; / &amp;quot;mdy&amp;quot; / &amp;quot;y&amp;quot;] default will be &amp;quot;dmy&amp;quot;&lt;br /&gt;
-- bc = [&amp;quot;BC&amp;quot; / &amp;quot;BCE&amp;quot;] default will be &amp;quot;BCE&amp;quot;&lt;br /&gt;
-- first the local version&lt;br /&gt;
local format_Date = function(datetime, dateformat, bc)&lt;br /&gt;
	local datetime = datetime or &amp;quot;1 August 30 BCE&amp;quot; -- in case of nil value&lt;br /&gt;
	-- chop off multiple vales and/or any hours, mins, etc.&lt;br /&gt;
	-- keep anything before punctuation - we just want a single date:&lt;br /&gt;
	local dateval = string.match( datetime, &amp;quot;[%w ]+&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local dateformat = string.lower(dateformat or &amp;quot;dmy&amp;quot;) -- default to dmy&lt;br /&gt;
	&lt;br /&gt;
	local bc = string.upper(bc or &amp;quot;&amp;quot;) -- can&#039;t use nil for bc&lt;br /&gt;
	-- we only want to accept two possibilities: BC or default to BCE&lt;br /&gt;
	if bc==&amp;quot;BC&amp;quot; then&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BC&amp;quot; -- prepend the space. **internationalise later**&lt;br /&gt;
	else&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BCE&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local postchrist = true -- start by assuming no BCE&lt;br /&gt;
	local dateparts = {}&lt;br /&gt;
	for word in string.gmatch(dateval, &amp;quot;%w+&amp;quot;) do&lt;br /&gt;
		if word == &amp;quot;BCE&amp;quot; or word == &amp;quot;BC&amp;quot; then -- **internationalise later**&lt;br /&gt;
			postchrist = false&lt;br /&gt;
		else&lt;br /&gt;
			-- we&#039;ll keep the parts that are not &#039;BCE&#039; in a table&lt;br /&gt;
			dateparts[#dateparts + 1] =  word&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if postchrist then bc = &amp;quot;&amp;quot; end -- set AD dates to no suffix **internationalise later**&lt;br /&gt;
	&lt;br /&gt;
	local sep = &amp;quot;&amp;amp;nbsp;&amp;quot; -- separator is nbsp&lt;br /&gt;
	local fdate = table.concat(dateparts, &amp;quot;&amp;amp;nbsp;&amp;quot;) -- formatted date defaults to same order as input&lt;br /&gt;
	&lt;br /&gt;
	-- if we have day month year, check dateformat&lt;br /&gt;
	if #dateparts == 3 then&lt;br /&gt;
		if dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
			fdate = dateparts[3]&lt;br /&gt;
		elseif dateformat == &amp;quot;mdy&amp;quot; then&lt;br /&gt;
			fdate = dateparts[2] .. sep .. dateparts[1] .. &amp;quot;,&amp;quot; .. sep .. dateparts[3]&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dateparts == 2 and dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
		fdate = dateparts[2]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return fdate .. bc&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- parseParam takes a (string) parameter, e.g. from the list of frame arguments,&lt;br /&gt;
-- and makes &amp;quot;false&amp;quot;, &amp;quot;no&amp;quot;, and &amp;quot;0&amp;quot; into the (boolean) false&lt;br /&gt;
-- it makes the empty string and nil into the (boolean) value passed as default&lt;br /&gt;
-- allowing the parameter to be true or false by default.&lt;br /&gt;
local parseParam = function(param, default)&lt;br /&gt;
	if param and (#param &amp;gt; 0) then&lt;br /&gt;
		param = param:lower()&lt;br /&gt;
		if (param == &amp;quot;false&amp;quot;) or (param == &amp;quot;no&amp;quot;) or (param == &amp;quot;0&amp;quot;) then&lt;br /&gt;
			return false&lt;br /&gt;
		else&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return default&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- The label in a Wikidata item is subject to vulnerabilities &lt;br /&gt;
-- that an attacker might try to exploit.&lt;br /&gt;
-- It needs to be &#039;sanitised&#039; by removing any wikitext before use.&lt;br /&gt;
-- If it doesn&#039;t exist, just return the id for the item&lt;br /&gt;
local labelOrId = function (id)&lt;br /&gt;
	local label = mw.wikibase.label(id)&lt;br /&gt;
	if label then&lt;br /&gt;
		return mw.text.nowiki(label)&lt;br /&gt;
	else&lt;br /&gt;
		return id&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- sourced takes a table representing a statement that may or may not have references&lt;br /&gt;
-- it counts how many references are sourced to something not contianing the word &amp;quot;iranpedia&amp;quot;&lt;br /&gt;
-- the reference string &amp;quot;ref&amp;quot; is available for debugging&lt;br /&gt;
-- it returns a boolean = true if there are any sourced references.&lt;br /&gt;
local sourced = function(claim)&lt;br /&gt;
	local refs = 0&lt;br /&gt;
	if claim.references then&lt;br /&gt;
		for kr, vr in pairs(claim.references) do&lt;br /&gt;
			local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
			if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return refs &amp;gt; 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- parseInput processes the Q-id , the blacklist and the whitelist&lt;br /&gt;
-- if an input parameter is supplied, it returns that and ends the call.&lt;br /&gt;
-- it returns a boolean indicating whether or not the call should continue&lt;br /&gt;
-- and an object containing all of the Wikidata for the Qid supplied or the current page&lt;br /&gt;
local parseInput = function(frame, input_parm, property_id)&lt;br /&gt;
	-- can take a named parameter |qid which is the Wikidata ID for the article.&lt;br /&gt;
	-- This will not normally be used because it&#039;s an expensive call.&lt;br /&gt;
	local qid = frame.args.qid&lt;br /&gt;
	if qid and (#qid == 0) then qid = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- The blacklist is passed in named parameter |suppressfields&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	&lt;br /&gt;
	-- The whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
	local whitelist = frame.args.fetchwikidata&lt;br /&gt;
	&lt;br /&gt;
	-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist then&lt;br /&gt;
		-- The name is compulsory when blacklist is used, so return nil if it is not supplied&lt;br /&gt;
		if not fieldname or (#fieldname == 0) then return false, nil, nil end&lt;br /&gt;
		-- If this field is on the blacklist, then return nil&lt;br /&gt;
		if blacklist:find(fieldname) then return false, nil, nil end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- If we got this far then we&#039;re not on the blacklist&lt;br /&gt;
	-- The blacklist overrides any locally supplied parameter as well&lt;br /&gt;
	-- If a non-blank input parameter was supplied return it&lt;br /&gt;
	if input_parm then return false, input_parm, nil end&lt;br /&gt;
	&lt;br /&gt;
	-- Otherwise see if this field is on the whitelist:&lt;br /&gt;
	if not (whitelist and (whitelist == &#039;ALL&#039; or whitelist:find(fieldname))) then&lt;br /&gt;
		-- not on the whitelist so just return what should be a nil input parameter&lt;br /&gt;
		return false, input_parm, nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- See what&#039;s on Wikidata:&lt;br /&gt;
	--local entity = mw.wikibase.getEntityObject(qid)&lt;br /&gt;
	--if entity and entity.claims then&lt;br /&gt;
	--	local props = entity.claims[property_id]&lt;br /&gt;
	--	if props and props[1] then &lt;br /&gt;
	--		return true, entity, props&lt;br /&gt;
	--	end&lt;br /&gt;
	--end&lt;br /&gt;
	-- no property on Wikidata&lt;br /&gt;
	return false, input_parm, nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _getvalue(frame, entity, props, filter, propertyID) &lt;br /&gt;
	-- onlysourced is a boolean passed to return only values sourced to other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it true&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced, true)&lt;br /&gt;
	&lt;br /&gt;
	-- noicon is a boolean passed to suppress the trailing &amp;quot;edit at Wikidata&amp;quot; icon&lt;br /&gt;
	-- for use when the value is processed further by the infobox&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local noic = parseParam(frame.args.noicon, false)&lt;br /&gt;
	&lt;br /&gt;
	-- wdlinks is a boolean passed to enable links to Wikidata when no article exists&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local wdl = parseParam(frame.args.wdlinks, false)&lt;br /&gt;
	&lt;br /&gt;
	-- sorted is a boolean passed to enable sorting of the values returned&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local sorted = parseParam(frame.args.sorted, false)&lt;br /&gt;
	&lt;br /&gt;
	-- separator is a string that is used to separate multiple returned values&lt;br /&gt;
	-- if nothing or an empty string is passed set it to the default&lt;br /&gt;
	-- any double-quotes &amp;quot; are stripped out, so that spaces may be passed&lt;br /&gt;
	-- e.g. |sep=&amp;quot; - &amp;quot;&lt;br /&gt;
	local sepdefault = &amp;quot;, &amp;quot; -- **internationalise later**&lt;br /&gt;
	local separator = frame.args.sep or &amp;quot;&amp;quot;&lt;br /&gt;
	separator = string.gsub(separator, &#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	if #separator == 0 then&lt;br /&gt;
		separator = sepdefault&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- list is a string that may be &amp;quot;&amp;quot;, &amp;quot;hlist&amp;quot; or &amp;quot;ubl&amp;quot;&lt;br /&gt;
	-- this controls whether multiple values are output as comma-separated&lt;br /&gt;
	-- as a horizontal list (hlist) or unbulleted list (ubl)&lt;br /&gt;
	local list = frame.args.list or &amp;quot;&amp;quot;&lt;br /&gt;
	if list~=&amp;quot;hlist&amp;quot; and list~=&amp;quot;ubl&amp;quot; then list = &amp;quot;&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	-- So now we have something to return: deal with (1) a Wikibase-entity; (3) a date; (3) anything else&lt;br /&gt;
	local lang = mw.language.getContentLanguage().code&lt;br /&gt;
	local thisQid = entity.id&lt;br /&gt;
	-- table &#039;out&#039; is going to to store the return value(s):&lt;br /&gt;
	local out = {}&lt;br /&gt;
	local icon = &amp;quot; [[File:Blue pencil.svg |frameless |text-top |10px |alt=Edit this on Wikidata |link=https://www.wikidata.org/wiki/&amp;quot; .. thisQid .. &amp;quot;?uselang=&amp;quot; .. lang .. &amp;quot;#&amp;quot; .. propertyID .. &amp;quot;|Edit this on Wikidata]]&amp;quot;&lt;br /&gt;
	if props[1].mainsnak.datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
		-- it&#039;s wiki-linked value, so output as link if possible&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then -- has valid refs or all values required&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local qnumber = &amp;quot;Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
					local sitelink = mw.wikibase.sitelink(qnumber)&lt;br /&gt;
					local label = labelOrId(qnumber)&lt;br /&gt;
					if sitelink then&lt;br /&gt;
						out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
					else&lt;br /&gt;
						-- no sitelink, so check first for a redirect with that label&lt;br /&gt;
						local artitle = mw.title.new(label, 0)&lt;br /&gt;
						if artitle.id &amp;gt; 0 then&lt;br /&gt;
							if artitle.isRedirect then&lt;br /&gt;
								-- no sitelink, but there&#039;s a redirect with the same title as the label&lt;br /&gt;
								-- let&#039;s link to that&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[&amp;quot; .. label .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no sitelink and not a redirect but an article exists with the same title as the label&lt;br /&gt;
								-- that&#039;s probably a dab page, so output the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						else&lt;br /&gt;
							-- no article or redirect with the same title as the label&lt;br /&gt;
							if wdl then&lt;br /&gt;
								-- show that there&#039;s a Wikidata entry available&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[:d:Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no wikidata links required, so just give the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif props[1].mainsnak.datatype == &amp;quot;time&amp;quot; then&lt;br /&gt;
		-- it&#039;s a date value, so output according to formatting preferences&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references, and count valid references&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local timestamp = v.mainsnak.datavalue.value.time&lt;br /&gt;
					-- A year can be stored like this: &amp;quot;+1872-00-00T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- which is processed here as if it were the day before &amp;quot;+1872-01-01T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- and that&#039;s the last day of 1871, so the year is wrong.&lt;br /&gt;
					-- So fix the month 0, day 0 timestamp to become 1 January instead:&lt;br /&gt;
					timestamp = timestamp:gsub(&amp;quot;%-00%-00T&amp;quot;, &amp;quot;-01-01T&amp;quot;)&lt;br /&gt;
					local dateprecision = v.mainsnak.datavalue.value.precision&lt;br /&gt;
					local dateformat = &amp;quot;y&amp;quot;&lt;br /&gt;
					local fpvdate = tonumber(timestamp:sub(2, 5))&lt;br /&gt;
					if timestamp:sub(1, 1) == &amp;quot;-&amp;quot; then&lt;br /&gt;
						fpvdate = fpvdate .. &amp;quot; BCE&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 9 then -- add month&lt;br /&gt;
						fpvdate = i18n.months[tonumber(timestamp:sub(7, 8))] .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
						dateformat = frame.args.df&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 10 then -- add day&lt;br /&gt;
							fpvdate = tonumber(timestamp:sub(10, 11)) .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
					end&lt;br /&gt;
					out[#out+1] = format_Date(fpvdate, dateformat, frame.args.bc)&lt;br /&gt;
				end -- check for unknown value&lt;br /&gt;
			end -- check for sourced&lt;br /&gt;
		end -- loop through k-v pairs&lt;br /&gt;
	else&lt;br /&gt;
		-- not a linkable article title or a date&lt;br /&gt;
		-- this needs to be expanded to cater for multiple values&lt;br /&gt;
		local reflist = &amp;quot;&amp;quot;&lt;br /&gt;
		local refs = 0&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references,&lt;br /&gt;
			-- construct a reference list for debugging&lt;br /&gt;
			-- and count valid references&lt;br /&gt;
			if v.references then&lt;br /&gt;
				for kr, vr in pairs(v.references) do&lt;br /&gt;
					local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
					reflist = reflist .. &amp;quot; &amp;lt;span style=&#039;color:#0DD;&#039;&amp;gt;&amp;quot; .. ref .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
					if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local propertyValue = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		if (refs &amp;gt; 0) or (onlysrc == false) then -- has valid refs or all values required&lt;br /&gt;
			out[#out+1] = propertyValue&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- if there&#039;s anything to return, then return a list&lt;br /&gt;
	-- comma-separated by default, but may be specified by the sep parameter&lt;br /&gt;
	-- optionally specify a hlist or &lt;br /&gt;
	if #out &amp;gt; 0 then&lt;br /&gt;
		if sorted then table.sort(out) end&lt;br /&gt;
		if list == &amp;quot;hlist&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Hlist&#039;, args = out}&lt;br /&gt;
		elseif list == &amp;quot;ubl&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Unbulleted list&#039;, args = out}&lt;br /&gt;
		else&lt;br /&gt;
			if noic then&lt;br /&gt;
				return table.concat(out, separator)&lt;br /&gt;
			else&lt;br /&gt;
				return table.concat(out, separator) .. icon&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return nil -- no items had valid reference&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Public functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
p.getValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getPreferredValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- If preferred ranks are set, it will return those values, otherwise values with normal ranks&lt;br /&gt;
--&lt;br /&gt;
p.getPreferredValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local prefflag = false&lt;br /&gt;
	for k, v in pairs(props) do&lt;br /&gt;
		if v.rank == &amp;quot;preferred&amp;quot; then &lt;br /&gt;
			prefflag = true &lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return claim.rank == &amp;quot;preferred&amp;quot; or prefflag == false&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getSourcedValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- but only values that are sourced are returned&lt;br /&gt;
-- redundant to getValue with onlysourced=true but kept for backwards compatibility&lt;br /&gt;
-- now defined via getValue&lt;br /&gt;
--&lt;br /&gt;
p.getSourcedValue = function(frame)&lt;br /&gt;
	frame.args.onlysourced = &amp;quot;yes&amp;quot;&lt;br /&gt;
	return p.getValue(frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getCoords is used to get coordinates for display in an infobox&lt;br /&gt;
-- whitelist and blacklist are implemented&lt;br /&gt;
-- optional &#039;display&#039; parameter is allowed, defaults to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.getCoords = function(frame)&lt;br /&gt;
	local propertyID = &amp;quot;P625&amp;quot;&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- if there is a &#039;display&#039; parameter supplied, use it&lt;br /&gt;
	-- otherwise default to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	local disp = frame.args.display&lt;br /&gt;
	if (not disp) or (#disp == 0) then&lt;br /&gt;
		disp = &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity = parseInput(frame, input_parm, property_id)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		local lat_long = {}&lt;br /&gt;
		local coords = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		-- the latitude and longitude are returned like this: nn°nn&amp;amp;#39;nn.n&amp;amp;#34;&lt;br /&gt;
		-- using html entities with hex values really screws up parsing the numbers - thanks devs&lt;br /&gt;
		local lat = mw.ustring.match(coords, &amp;quot;^[^,]*&amp;quot;)  -- everything from the start to before the comma&lt;br /&gt;
		local long = mw.ustring.match(coords, &amp;quot;[^ ]*$&amp;quot;) -- everything from after the space to the end&lt;br /&gt;
		lat = lat:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                  -- clean out the html entities&lt;br /&gt;
		long = long:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                -- clean out the html entities&lt;br /&gt;
		-- read the latitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(lat, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
  			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add the N/S&lt;br /&gt;
		lat_long[#lat_long + 1] = lat:sub(-1)&lt;br /&gt;
		-- read the longitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(long, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add E/W for long&lt;br /&gt;
		lat_long[#lat_long + 1] = long:sub(-1)&lt;br /&gt;
		-- add named parameter for display&lt;br /&gt;
		lat_long[&amp;quot;display&amp;quot;] = disp&lt;br /&gt;
		-- invoke template Coord with the values stored in the table&lt;br /&gt;
		return frame:expandTemplate{title = &#039;coord&#039;, args = lat_long}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getQualifierValue is used to get a formatted value of a qualifier&lt;br /&gt;
-- &lt;br /&gt;
-- The call needs:	a property (the unnamed parameter or 1=)&lt;br /&gt;
-- 					a target value for that property (pval=)&lt;br /&gt;
--					a qualifier for that target value (qual=)&lt;br /&gt;
-- The usual whitelisting and blacklisting of the property is implemented&lt;br /&gt;
-- The boolean onlysourced= parameter can be set to return nothing&lt;br /&gt;
-- when the property is unsourced (or only sourced to Iranpedia)&lt;br /&gt;
-- &lt;br /&gt;
p.getQualifierValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- The PropertyID of the target value of the property&lt;br /&gt;
	-- whose qualifier is to be returned is passed in named parameter |pval=&lt;br /&gt;
	local propvalue = frame.args.pval&lt;br /&gt;
	&lt;br /&gt;
	-- The PropertyID of the qualifier&lt;br /&gt;
	-- whose value is to be returned is passed in named parameter |qual=&lt;br /&gt;
	local qualifierID = frame.args.qual&lt;br /&gt;
&lt;br /&gt;
	-- onlysourced is a boolean passed to return qualifiers&lt;br /&gt;
	-- only when property values are sourced to something other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or 0 is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced,false)&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame,nil, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		-- Scan through the values of the property&lt;br /&gt;
		-- we want something like property is P793, significant event (in propertyID)&lt;br /&gt;
		-- whose value is something like Q385378, construction (in propvalue)&lt;br /&gt;
		-- then we can return the value(s) of a qualifier such as P580, start time (in qualifierID)&lt;br /&gt;
		for k1, v1 in pairs(props) do&lt;br /&gt;
			if v1.mainsnak.snaktype == &amp;quot;value&amp;quot; and v1.mainsnak.datavalue.type == &amp;quot;wikibase-entityid&amp;quot; then&lt;br /&gt;
				-- It&#039;s a wiki-linked value, so check if it&#039;s the target (in propvalue)&lt;br /&gt;
				-- and if it has qualifiers&lt;br /&gt;
				if v1.mainsnak.datavalue.value.id == propvalue and v1.qualifiers then&lt;br /&gt;
					if (onlysrc == true) and not sourced(v1) then&lt;br /&gt;
						return&lt;br /&gt;
					end&lt;br /&gt;
					-- if we&#039;ve got this far, we have a (sourced) claim with qualifiers&lt;br /&gt;
					-- which matches the target, so find the value(s) of the qualifier we want&lt;br /&gt;
					local quals = v1.qualifiers[qualifierID]&lt;br /&gt;
					local out = {}&lt;br /&gt;
					if quals then&lt;br /&gt;
						if quals[1].datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
							for k2, v2 in pairs(quals) do&lt;br /&gt;
								local valueID = v2.datavalue.value.id&lt;br /&gt;
								local sitelink = mw.wikibase.sitelink(valueID)&lt;br /&gt;
								local label = labelOrId(valueID)&lt;br /&gt;
								if sitelink then&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
								else&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[:d:&amp;quot; .. valueID .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
							return table.concat(out, &amp;quot;, &amp;quot;)&lt;br /&gt;
						else&lt;br /&gt;
							return mw.wikibase.renderSnaks(quals)&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end -- of loop through values of propertyID&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLink returns the label for a Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
--&lt;br /&gt;
p.getLink = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	local sitelink = mw.wikibase.sitelink(itemID)&lt;br /&gt;
	local label = labelOrId(itemID)&lt;br /&gt;
	if sitelink then&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return label&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLabel returns the label for a Qid&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid&lt;br /&gt;
--&lt;br /&gt;
p.getLabel = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return labelOrId(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getAT returns the article title for a Qid&lt;br /&gt;
-- or nothing if it doesn&#039;t exist&lt;br /&gt;
--&lt;br /&gt;
p.getAT = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return mw.wikibase.sitelink(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate is a wrapper to export the private function format_Date&lt;br /&gt;
--&lt;br /&gt;
p.formatDate = function(frame)&lt;br /&gt;
	return format_Date(frame.args[1], frame.args.df, frame.args.bc)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- checkBlacklist allows a test to check whether a named field is suppressed&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Joe |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;blacklisted&amp;quot;&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Jim |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;not blacklisted&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.checkBlacklist = function(frame)&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist and fieldname then&lt;br /&gt;
		if blacklist:find(fieldname) then return nil end&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36209</id>
		<title>پودمان:WikidataIB</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36209"/>
		<updated>2019-03-20T10:22:47Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Module to try out use of a blacklist and whitelist for infobox fields&lt;br /&gt;
-- can take a named parameter |qid which is the Wikidata ID for the article. This will not normally be used&lt;br /&gt;
-- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances&lt;br /&gt;
-- Fields in whitelist return local value if it exists or the Wikidata value otherwise&lt;br /&gt;
-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
-- The name is compulsory when blacklist or whitelist is used, so the module returns nil if it is not supplied&lt;br /&gt;
-- blacklist is passed in named parameter |suppressfields&lt;br /&gt;
-- whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local i18n =&lt;br /&gt;
{&lt;br /&gt;
    [&amp;quot;errors&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
        [&amp;quot;property-not-found&amp;quot;] = &amp;quot;Property not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;entity-not-found&amp;quot;] = &amp;quot;Wikidata entity not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;Unknown claim type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;Unknown entity type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;Qualifier not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;site-not-found&amp;quot;] = &amp;quot;Wikimedia project not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;Unknown datetime format.&amp;quot;,&lt;br /&gt;
		[&amp;quot;local-article-not-found&amp;quot;] = &amp;quot;Article is available on Wikidata, but not on Iranpedia&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    [&amp;quot;months&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
    	&amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;, &amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Private functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate takes a datetime of the usual format from mw.wikibase.entity:formatPropertyValues&lt;br /&gt;
-- like &amp;quot;1 August 30 BCE&amp;quot; as parameter 1 and formats it according to the df (date format) and bc parameters&lt;br /&gt;
-- df = [&amp;quot;dmy&amp;quot; / &amp;quot;mdy&amp;quot; / &amp;quot;y&amp;quot;] default will be &amp;quot;dmy&amp;quot;&lt;br /&gt;
-- bc = [&amp;quot;BC&amp;quot; / &amp;quot;BCE&amp;quot;] default will be &amp;quot;BCE&amp;quot;&lt;br /&gt;
-- first the local version&lt;br /&gt;
local format_Date = function(datetime, dateformat, bc)&lt;br /&gt;
	local datetime = datetime or &amp;quot;1 August 30 BCE&amp;quot; -- in case of nil value&lt;br /&gt;
	-- chop off multiple vales and/or any hours, mins, etc.&lt;br /&gt;
	-- keep anything before punctuation - we just want a single date:&lt;br /&gt;
	local dateval = string.match( datetime, &amp;quot;[%w ]+&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local dateformat = string.lower(dateformat or &amp;quot;dmy&amp;quot;) -- default to dmy&lt;br /&gt;
	&lt;br /&gt;
	local bc = string.upper(bc or &amp;quot;&amp;quot;) -- can&#039;t use nil for bc&lt;br /&gt;
	-- we only want to accept two possibilities: BC or default to BCE&lt;br /&gt;
	if bc==&amp;quot;BC&amp;quot; then&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BC&amp;quot; -- prepend the space. **internationalise later**&lt;br /&gt;
	else&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BCE&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local postchrist = true -- start by assuming no BCE&lt;br /&gt;
	local dateparts = {}&lt;br /&gt;
	for word in string.gmatch(dateval, &amp;quot;%w+&amp;quot;) do&lt;br /&gt;
		if word == &amp;quot;BCE&amp;quot; or word == &amp;quot;BC&amp;quot; then -- **internationalise later**&lt;br /&gt;
			postchrist = false&lt;br /&gt;
		else&lt;br /&gt;
			-- we&#039;ll keep the parts that are not &#039;BCE&#039; in a table&lt;br /&gt;
			dateparts[#dateparts + 1] =  word&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if postchrist then bc = &amp;quot;&amp;quot; end -- set AD dates to no suffix **internationalise later**&lt;br /&gt;
	&lt;br /&gt;
	local sep = &amp;quot;&amp;amp;nbsp;&amp;quot; -- separator is nbsp&lt;br /&gt;
	local fdate = table.concat(dateparts, &amp;quot;&amp;amp;nbsp;&amp;quot;) -- formatted date defaults to same order as input&lt;br /&gt;
	&lt;br /&gt;
	-- if we have day month year, check dateformat&lt;br /&gt;
	if #dateparts == 3 then&lt;br /&gt;
		if dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
			fdate = dateparts[3]&lt;br /&gt;
		elseif dateformat == &amp;quot;mdy&amp;quot; then&lt;br /&gt;
			fdate = dateparts[2] .. sep .. dateparts[1] .. &amp;quot;,&amp;quot; .. sep .. dateparts[3]&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dateparts == 2 and dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
		fdate = dateparts[2]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return fdate .. bc&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- parseParam takes a (string) parameter, e.g. from the list of frame arguments,&lt;br /&gt;
-- and makes &amp;quot;false&amp;quot;, &amp;quot;no&amp;quot;, and &amp;quot;0&amp;quot; into the (boolean) false&lt;br /&gt;
-- it makes the empty string and nil into the (boolean) value passed as default&lt;br /&gt;
-- allowing the parameter to be true or false by default.&lt;br /&gt;
local parseParam = function(param, default)&lt;br /&gt;
	if param and (#param &amp;gt; 0) then&lt;br /&gt;
		param = param:lower()&lt;br /&gt;
		if (param == &amp;quot;false&amp;quot;) or (param == &amp;quot;no&amp;quot;) or (param == &amp;quot;0&amp;quot;) then&lt;br /&gt;
			return false&lt;br /&gt;
		else&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return default&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- The label in a Wikidata item is subject to vulnerabilities &lt;br /&gt;
-- that an attacker might try to exploit.&lt;br /&gt;
-- It needs to be &#039;sanitised&#039; by removing any wikitext before use.&lt;br /&gt;
-- If it doesn&#039;t exist, just return the id for the item&lt;br /&gt;
local labelOrId = function (id)&lt;br /&gt;
	local label = mw.wikibase.label(id)&lt;br /&gt;
	if label then&lt;br /&gt;
		return mw.text.nowiki(label)&lt;br /&gt;
	else&lt;br /&gt;
		return id&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- sourced takes a table representing a statement that may or may not have references&lt;br /&gt;
-- it counts how many references are sourced to something not contianing the word &amp;quot;iranpedia&amp;quot;&lt;br /&gt;
-- the reference string &amp;quot;ref&amp;quot; is available for debugging&lt;br /&gt;
-- it returns a boolean = true if there are any sourced references.&lt;br /&gt;
local sourced = function(claim)&lt;br /&gt;
	local refs = 0&lt;br /&gt;
	if claim.references then&lt;br /&gt;
		for kr, vr in pairs(claim.references) do&lt;br /&gt;
			local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
			if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return refs &amp;gt; 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- parseInput processes the Q-id , the blacklist and the whitelist&lt;br /&gt;
-- if an input parameter is supplied, it returns that and ends the call.&lt;br /&gt;
-- it returns a boolean indicating whether or not the call should continue&lt;br /&gt;
-- and an object containing all of the Wikidata for the Qid supplied or the current page&lt;br /&gt;
local parseInput = function(frame, input_parm, property_id)&lt;br /&gt;
	-- can take a named parameter |qid which is the Wikidata ID for the article.&lt;br /&gt;
	-- This will not normally be used because it&#039;s an expensive call.&lt;br /&gt;
	local qid = frame.args.qid&lt;br /&gt;
	if qid and (#qid == 0) then qid = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- The blacklist is passed in named parameter |suppressfields&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	&lt;br /&gt;
	-- The whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
	local whitelist = frame.args.fetchwikidata&lt;br /&gt;
	&lt;br /&gt;
	-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist then&lt;br /&gt;
		-- The name is compulsory when blacklist is used, so return nil if it is not supplied&lt;br /&gt;
		if not fieldname or (#fieldname == 0) then return false, nil, nil end&lt;br /&gt;
		-- If this field is on the blacklist, then return nil&lt;br /&gt;
		if blacklist:find(fieldname) then return false, nil, nil end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- If we got this far then we&#039;re not on the blacklist&lt;br /&gt;
	-- The blacklist overrides any locally supplied parameter as well&lt;br /&gt;
	-- If a non-blank input parameter was supplied return it&lt;br /&gt;
	if input_parm then return false, input_parm, nil end&lt;br /&gt;
	&lt;br /&gt;
	-- Otherwise see if this field is on the whitelist:&lt;br /&gt;
	if not (whitelist and (whitelist == &#039;ALL&#039; or whitelist:find(fieldname))) then&lt;br /&gt;
		-- not on the whitelist so just return what should be a nil input parameter&lt;br /&gt;
		return false, input_parm, nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- See what&#039;s on Wikidata:&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(qid)&lt;br /&gt;
	if entity and entity.claims then&lt;br /&gt;
		local props = entity.claims[property_id]&lt;br /&gt;
		if props and props[1] then &lt;br /&gt;
			return true, entity, props&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- no property on Wikidata&lt;br /&gt;
	return false, input_parm, nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _getvalue(frame, entity, props, filter, propertyID) &lt;br /&gt;
	-- onlysourced is a boolean passed to return only values sourced to other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it true&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced, true)&lt;br /&gt;
	&lt;br /&gt;
	-- noicon is a boolean passed to suppress the trailing &amp;quot;edit at Wikidata&amp;quot; icon&lt;br /&gt;
	-- for use when the value is processed further by the infobox&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local noic = parseParam(frame.args.noicon, false)&lt;br /&gt;
	&lt;br /&gt;
	-- wdlinks is a boolean passed to enable links to Wikidata when no article exists&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local wdl = parseParam(frame.args.wdlinks, false)&lt;br /&gt;
	&lt;br /&gt;
	-- sorted is a boolean passed to enable sorting of the values returned&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local sorted = parseParam(frame.args.sorted, false)&lt;br /&gt;
	&lt;br /&gt;
	-- separator is a string that is used to separate multiple returned values&lt;br /&gt;
	-- if nothing or an empty string is passed set it to the default&lt;br /&gt;
	-- any double-quotes &amp;quot; are stripped out, so that spaces may be passed&lt;br /&gt;
	-- e.g. |sep=&amp;quot; - &amp;quot;&lt;br /&gt;
	local sepdefault = &amp;quot;, &amp;quot; -- **internationalise later**&lt;br /&gt;
	local separator = frame.args.sep or &amp;quot;&amp;quot;&lt;br /&gt;
	separator = string.gsub(separator, &#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	if #separator == 0 then&lt;br /&gt;
		separator = sepdefault&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- list is a string that may be &amp;quot;&amp;quot;, &amp;quot;hlist&amp;quot; or &amp;quot;ubl&amp;quot;&lt;br /&gt;
	-- this controls whether multiple values are output as comma-separated&lt;br /&gt;
	-- as a horizontal list (hlist) or unbulleted list (ubl)&lt;br /&gt;
	local list = frame.args.list or &amp;quot;&amp;quot;&lt;br /&gt;
	if list~=&amp;quot;hlist&amp;quot; and list~=&amp;quot;ubl&amp;quot; then list = &amp;quot;&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	-- So now we have something to return: deal with (1) a Wikibase-entity; (3) a date; (3) anything else&lt;br /&gt;
	local lang = mw.language.getContentLanguage().code&lt;br /&gt;
	local thisQid = entity.id&lt;br /&gt;
	-- table &#039;out&#039; is going to to store the return value(s):&lt;br /&gt;
	local out = {}&lt;br /&gt;
	local icon = &amp;quot; [[File:Blue pencil.svg |frameless |text-top |10px |alt=Edit this on Wikidata |link=https://www.wikidata.org/wiki/&amp;quot; .. thisQid .. &amp;quot;?uselang=&amp;quot; .. lang .. &amp;quot;#&amp;quot; .. propertyID .. &amp;quot;|Edit this on Wikidata]]&amp;quot;&lt;br /&gt;
	if props[1].mainsnak.datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
		-- it&#039;s wiki-linked value, so output as link if possible&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then -- has valid refs or all values required&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local qnumber = &amp;quot;Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
					local sitelink = mw.wikibase.sitelink(qnumber)&lt;br /&gt;
					local label = labelOrId(qnumber)&lt;br /&gt;
					if sitelink then&lt;br /&gt;
						out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
					else&lt;br /&gt;
						-- no sitelink, so check first for a redirect with that label&lt;br /&gt;
						local artitle = mw.title.new(label, 0)&lt;br /&gt;
						if artitle.id &amp;gt; 0 then&lt;br /&gt;
							if artitle.isRedirect then&lt;br /&gt;
								-- no sitelink, but there&#039;s a redirect with the same title as the label&lt;br /&gt;
								-- let&#039;s link to that&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[&amp;quot; .. label .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no sitelink and not a redirect but an article exists with the same title as the label&lt;br /&gt;
								-- that&#039;s probably a dab page, so output the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						else&lt;br /&gt;
							-- no article or redirect with the same title as the label&lt;br /&gt;
							if wdl then&lt;br /&gt;
								-- show that there&#039;s a Wikidata entry available&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[:d:Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no wikidata links required, so just give the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif props[1].mainsnak.datatype == &amp;quot;time&amp;quot; then&lt;br /&gt;
		-- it&#039;s a date value, so output according to formatting preferences&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references, and count valid references&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local timestamp = v.mainsnak.datavalue.value.time&lt;br /&gt;
					-- A year can be stored like this: &amp;quot;+1872-00-00T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- which is processed here as if it were the day before &amp;quot;+1872-01-01T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- and that&#039;s the last day of 1871, so the year is wrong.&lt;br /&gt;
					-- So fix the month 0, day 0 timestamp to become 1 January instead:&lt;br /&gt;
					timestamp = timestamp:gsub(&amp;quot;%-00%-00T&amp;quot;, &amp;quot;-01-01T&amp;quot;)&lt;br /&gt;
					local dateprecision = v.mainsnak.datavalue.value.precision&lt;br /&gt;
					local dateformat = &amp;quot;y&amp;quot;&lt;br /&gt;
					local fpvdate = tonumber(timestamp:sub(2, 5))&lt;br /&gt;
					if timestamp:sub(1, 1) == &amp;quot;-&amp;quot; then&lt;br /&gt;
						fpvdate = fpvdate .. &amp;quot; BCE&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 9 then -- add month&lt;br /&gt;
						fpvdate = i18n.months[tonumber(timestamp:sub(7, 8))] .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
						dateformat = frame.args.df&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 10 then -- add day&lt;br /&gt;
							fpvdate = tonumber(timestamp:sub(10, 11)) .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
					end&lt;br /&gt;
					out[#out+1] = format_Date(fpvdate, dateformat, frame.args.bc)&lt;br /&gt;
				end -- check for unknown value&lt;br /&gt;
			end -- check for sourced&lt;br /&gt;
		end -- loop through k-v pairs&lt;br /&gt;
	else&lt;br /&gt;
		-- not a linkable article title or a date&lt;br /&gt;
		-- this needs to be expanded to cater for multiple values&lt;br /&gt;
		local reflist = &amp;quot;&amp;quot;&lt;br /&gt;
		local refs = 0&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references,&lt;br /&gt;
			-- construct a reference list for debugging&lt;br /&gt;
			-- and count valid references&lt;br /&gt;
			if v.references then&lt;br /&gt;
				for kr, vr in pairs(v.references) do&lt;br /&gt;
					local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
					reflist = reflist .. &amp;quot; &amp;lt;span style=&#039;color:#0DD;&#039;&amp;gt;&amp;quot; .. ref .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
					if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local propertyValue = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		if (refs &amp;gt; 0) or (onlysrc == false) then -- has valid refs or all values required&lt;br /&gt;
			out[#out+1] = propertyValue&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- if there&#039;s anything to return, then return a list&lt;br /&gt;
	-- comma-separated by default, but may be specified by the sep parameter&lt;br /&gt;
	-- optionally specify a hlist or &lt;br /&gt;
	if #out &amp;gt; 0 then&lt;br /&gt;
		if sorted then table.sort(out) end&lt;br /&gt;
		if list == &amp;quot;hlist&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Hlist&#039;, args = out}&lt;br /&gt;
		elseif list == &amp;quot;ubl&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Unbulleted list&#039;, args = out}&lt;br /&gt;
		else&lt;br /&gt;
			if noic then&lt;br /&gt;
				return table.concat(out, separator)&lt;br /&gt;
			else&lt;br /&gt;
				return table.concat(out, separator) .. icon&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return nil -- no items had valid reference&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Public functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
p.getValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getPreferredValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- If preferred ranks are set, it will return those values, otherwise values with normal ranks&lt;br /&gt;
--&lt;br /&gt;
p.getPreferredValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local prefflag = false&lt;br /&gt;
	for k, v in pairs(props) do&lt;br /&gt;
		if v.rank == &amp;quot;preferred&amp;quot; then &lt;br /&gt;
			prefflag = true &lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return claim.rank == &amp;quot;preferred&amp;quot; or prefflag == false&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getSourcedValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- but only values that are sourced are returned&lt;br /&gt;
-- redundant to getValue with onlysourced=true but kept for backwards compatibility&lt;br /&gt;
-- now defined via getValue&lt;br /&gt;
--&lt;br /&gt;
p.getSourcedValue = function(frame)&lt;br /&gt;
	frame.args.onlysourced = &amp;quot;yes&amp;quot;&lt;br /&gt;
	return p.getValue(frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getCoords is used to get coordinates for display in an infobox&lt;br /&gt;
-- whitelist and blacklist are implemented&lt;br /&gt;
-- optional &#039;display&#039; parameter is allowed, defaults to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.getCoords = function(frame)&lt;br /&gt;
	local propertyID = &amp;quot;P625&amp;quot;&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- if there is a &#039;display&#039; parameter supplied, use it&lt;br /&gt;
	-- otherwise default to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	local disp = frame.args.display&lt;br /&gt;
	if (not disp) or (#disp == 0) then&lt;br /&gt;
		disp = &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity = parseInput(frame, input_parm, property_id)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		local lat_long = {}&lt;br /&gt;
		local coords = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		-- the latitude and longitude are returned like this: nn°nn&amp;amp;#39;nn.n&amp;amp;#34;&lt;br /&gt;
		-- using html entities with hex values really screws up parsing the numbers - thanks devs&lt;br /&gt;
		local lat = mw.ustring.match(coords, &amp;quot;^[^,]*&amp;quot;)  -- everything from the start to before the comma&lt;br /&gt;
		local long = mw.ustring.match(coords, &amp;quot;[^ ]*$&amp;quot;) -- everything from after the space to the end&lt;br /&gt;
		lat = lat:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                  -- clean out the html entities&lt;br /&gt;
		long = long:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                -- clean out the html entities&lt;br /&gt;
		-- read the latitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(lat, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
  			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add the N/S&lt;br /&gt;
		lat_long[#lat_long + 1] = lat:sub(-1)&lt;br /&gt;
		-- read the longitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(long, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add E/W for long&lt;br /&gt;
		lat_long[#lat_long + 1] = long:sub(-1)&lt;br /&gt;
		-- add named parameter for display&lt;br /&gt;
		lat_long[&amp;quot;display&amp;quot;] = disp&lt;br /&gt;
		-- invoke template Coord with the values stored in the table&lt;br /&gt;
		return frame:expandTemplate{title = &#039;coord&#039;, args = lat_long}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getQualifierValue is used to get a formatted value of a qualifier&lt;br /&gt;
-- &lt;br /&gt;
-- The call needs:	a property (the unnamed parameter or 1=)&lt;br /&gt;
-- 					a target value for that property (pval=)&lt;br /&gt;
--					a qualifier for that target value (qual=)&lt;br /&gt;
-- The usual whitelisting and blacklisting of the property is implemented&lt;br /&gt;
-- The boolean onlysourced= parameter can be set to return nothing&lt;br /&gt;
-- when the property is unsourced (or only sourced to Iranpedia)&lt;br /&gt;
-- &lt;br /&gt;
p.getQualifierValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- The PropertyID of the target value of the property&lt;br /&gt;
	-- whose qualifier is to be returned is passed in named parameter |pval=&lt;br /&gt;
	local propvalue = frame.args.pval&lt;br /&gt;
	&lt;br /&gt;
	-- The PropertyID of the qualifier&lt;br /&gt;
	-- whose value is to be returned is passed in named parameter |qual=&lt;br /&gt;
	local qualifierID = frame.args.qual&lt;br /&gt;
&lt;br /&gt;
	-- onlysourced is a boolean passed to return qualifiers&lt;br /&gt;
	-- only when property values are sourced to something other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or 0 is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced,false)&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame,nil, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		-- Scan through the values of the property&lt;br /&gt;
		-- we want something like property is P793, significant event (in propertyID)&lt;br /&gt;
		-- whose value is something like Q385378, construction (in propvalue)&lt;br /&gt;
		-- then we can return the value(s) of a qualifier such as P580, start time (in qualifierID)&lt;br /&gt;
		for k1, v1 in pairs(props) do&lt;br /&gt;
			if v1.mainsnak.snaktype == &amp;quot;value&amp;quot; and v1.mainsnak.datavalue.type == &amp;quot;wikibase-entityid&amp;quot; then&lt;br /&gt;
				-- It&#039;s a wiki-linked value, so check if it&#039;s the target (in propvalue)&lt;br /&gt;
				-- and if it has qualifiers&lt;br /&gt;
				if v1.mainsnak.datavalue.value.id == propvalue and v1.qualifiers then&lt;br /&gt;
					if (onlysrc == true) and not sourced(v1) then&lt;br /&gt;
						return&lt;br /&gt;
					end&lt;br /&gt;
					-- if we&#039;ve got this far, we have a (sourced) claim with qualifiers&lt;br /&gt;
					-- which matches the target, so find the value(s) of the qualifier we want&lt;br /&gt;
					local quals = v1.qualifiers[qualifierID]&lt;br /&gt;
					local out = {}&lt;br /&gt;
					if quals then&lt;br /&gt;
						if quals[1].datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
							for k2, v2 in pairs(quals) do&lt;br /&gt;
								local valueID = v2.datavalue.value.id&lt;br /&gt;
								local sitelink = mw.wikibase.sitelink(valueID)&lt;br /&gt;
								local label = labelOrId(valueID)&lt;br /&gt;
								if sitelink then&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
								else&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[:d:&amp;quot; .. valueID .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
							return table.concat(out, &amp;quot;, &amp;quot;)&lt;br /&gt;
						else&lt;br /&gt;
							return mw.wikibase.renderSnaks(quals)&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end -- of loop through values of propertyID&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLink returns the label for a Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
--&lt;br /&gt;
p.getLink = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	local sitelink = mw.wikibase.sitelink(itemID)&lt;br /&gt;
	local label = labelOrId(itemID)&lt;br /&gt;
	if sitelink then&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return label&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLabel returns the label for a Qid&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid&lt;br /&gt;
--&lt;br /&gt;
p.getLabel = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return labelOrId(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getAT returns the article title for a Qid&lt;br /&gt;
-- or nothing if it doesn&#039;t exist&lt;br /&gt;
--&lt;br /&gt;
p.getAT = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return mw.wikibase.sitelink(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate is a wrapper to export the private function format_Date&lt;br /&gt;
--&lt;br /&gt;
p.formatDate = function(frame)&lt;br /&gt;
	return format_Date(frame.args[1], frame.args.df, frame.args.bc)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- checkBlacklist allows a test to check whether a named field is suppressed&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Joe |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;blacklisted&amp;quot;&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Jim |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;not blacklisted&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.checkBlacklist = function(frame)&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist and fieldname then&lt;br /&gt;
		if blacklist:find(fieldname) then return nil end&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Infobox&amp;diff=36207</id>
		<title>پودمان:Infobox</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Infobox&amp;diff=36207"/>
		<updated>2019-03-20T10:22:47Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Infobox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
&lt;br /&gt;
local args = {}&lt;br /&gt;
local origArgs&lt;br /&gt;
local root&lt;br /&gt;
&lt;br /&gt;
local function notempty( s ) return s and s:match( &#039;%S&#039; ) end&lt;br /&gt;
&lt;br /&gt;
local function fixChildBoxes(sval, tt)&lt;br /&gt;
	if notempty(sval) then&lt;br /&gt;
		local marker = &#039;&amp;lt;span class=special_infobox_marker&amp;gt;&#039;&lt;br /&gt;
		local s = sval&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Rr])&#039;, marker .. &#039;%1&#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Tt][Rr]%s*&amp;gt;)&#039;, &#039;%1&#039; .. marker)&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*&#039; .. marker, &#039;&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]|-[^\r\n]*[\r\n])%s*&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*([\r\n]|-)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Aa][Bb][Ll][Ee][^&amp;lt;&amp;gt;]*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;^(%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*&amp;lt;/[Tt][Aa][Bb][Ll][Ee]%s*&amp;gt;)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*\n|%})&#039;, &#039;%1&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			local subcells = mw.text.split(s, marker)&lt;br /&gt;
			s = &#039;&#039;&lt;br /&gt;
			for k = 1, #subcells do&lt;br /&gt;
				if k == 1 then&lt;br /&gt;
					s = s .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
				elseif k == #subcells then&lt;br /&gt;
					local rowstyle = &#039; style=&amp;quot;display:none&amp;quot;&#039;&lt;br /&gt;
					if notempty(subcells[k]) then rowstyle = &#039;&#039;	end&lt;br /&gt;
					s = s .. &#039;&amp;lt;tr&#039; .. rowstyle ..&#039;&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. subcells[k]&lt;br /&gt;
				elseif notempty(subcells[k]) then&lt;br /&gt;
					if (k % 2) == 0 then&lt;br /&gt;
						s = s .. subcells[k]&lt;br /&gt;
					else&lt;br /&gt;
						s = s .. &#039;&amp;lt;tr&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- the next two lines add a newline at the end of lists for the PHP parser&lt;br /&gt;
		-- https://en.iranpedia.org/w/index.php?title=Template_talk:Infobox_musical_artist&amp;amp;oldid=849054481&lt;br /&gt;
		-- remove when [[:phab:T191516]] is fixed or OBE&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;([\r\n][%*#;:][^\r\n]*)$&#039;, &#039;%1\n&#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;^([%*#;:][^\r\n]*)$&#039;, &#039;%1\n&#039;)&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return sval&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
    -- Returns the union of the values of two tables, as a sequence.&lt;br /&gt;
    local vals = {}&lt;br /&gt;
    for k, v in pairs(t1) do&lt;br /&gt;
        vals[v] = true&lt;br /&gt;
    end&lt;br /&gt;
    for k, v in pairs(t2) do&lt;br /&gt;
        vals[v] = true&lt;br /&gt;
    end&lt;br /&gt;
    local ret = {}&lt;br /&gt;
    for k, v in pairs(vals) do&lt;br /&gt;
        table.insert(ret, k)&lt;br /&gt;
    end&lt;br /&gt;
    return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(prefix)&lt;br /&gt;
    -- Returns a table containing the numbers of the arguments that exist&lt;br /&gt;
    -- for the specified prefix. For example, if the prefix was &#039;data&#039;, and&lt;br /&gt;
    -- &#039;data1&#039;, &#039;data2&#039;, and &#039;data5&#039; exist, it would return {1, 2, 5}.&lt;br /&gt;
    local nums = {}&lt;br /&gt;
    for k, v in pairs(args) do&lt;br /&gt;
        local num = tostring(k):match(&#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&lt;br /&gt;
        if num then table.insert(nums, tonumber(num)) end&lt;br /&gt;
    end&lt;br /&gt;
    table.sort(nums)&lt;br /&gt;
    return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addRow(rowArgs)&lt;br /&gt;
    -- Adds a row to the infobox, with either a header cell&lt;br /&gt;
    -- or a label/data cell combination.&lt;br /&gt;
    if rowArgs.header then&lt;br /&gt;
        root&lt;br /&gt;
            :tag(&#039;tr&#039;)&lt;br /&gt;
                :addClass(rowArgs.rowclass)&lt;br /&gt;
                :cssText(rowArgs.rowstyle)&lt;br /&gt;
                :attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.headerid)&lt;br /&gt;
                    :addClass(rowArgs.class)&lt;br /&gt;
                    :addClass(args.headerclass)&lt;br /&gt;
                    :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                    :cssText(args.headerstyle)&lt;br /&gt;
                    :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
                    :wikitext(fixChildBoxes(rowArgs.header, &#039;th&#039;))&lt;br /&gt;
    elseif rowArgs.data then&lt;br /&gt;
        local row = root:tag(&#039;tr&#039;)&lt;br /&gt;
        row:addClass(rowArgs.rowclass)&lt;br /&gt;
        row:cssText(rowArgs.rowstyle)&lt;br /&gt;
        row:attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
        if rowArgs.label then&lt;br /&gt;
            row&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.labelid)&lt;br /&gt;
                    :cssText(args.labelstyle)&lt;br /&gt;
                    :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
                    :wikitext(rowArgs.label)&lt;br /&gt;
                    :done()&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        local dataCell = row:tag(&#039;td&#039;)&lt;br /&gt;
        if not rowArgs.label then &lt;br /&gt;
            dataCell&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;) &lt;br /&gt;
        end&lt;br /&gt;
        dataCell&lt;br /&gt;
            :attr(&#039;id&#039;, rowArgs.dataid)&lt;br /&gt;
            :addClass(rowArgs.class)&lt;br /&gt;
            :cssText(rowArgs.datastyle)&lt;br /&gt;
            :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
            :newline()&lt;br /&gt;
            :wikitext(fixChildBoxes(rowArgs.data, &#039;td&#039;))&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTitle()&lt;br /&gt;
    if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;caption&#039;)&lt;br /&gt;
            :addClass(args.titleclass)&lt;br /&gt;
            :cssText(args.titlestyle)&lt;br /&gt;
            :wikitext(args.title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow()&lt;br /&gt;
    if not args.above then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;th&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :addClass(args.aboveclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :css(&#039;font-size&#039;, &#039;125%&#039;)&lt;br /&gt;
                :css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
                :cssText(args.abovestyle)&lt;br /&gt;
                :wikitext(fixChildBoxes(args.above,&#039;th&#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow()&lt;br /&gt;
    if not args.below then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :addClass(args.belowclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :cssText(args.belowstyle)&lt;br /&gt;
                :newline()&lt;br /&gt;
                :wikitext(fixChildBoxes(args.below,&#039;td&#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderSubheaders()&lt;br /&gt;
    if args.subheader then&lt;br /&gt;
        args.subheader1 = args.subheader&lt;br /&gt;
    end&lt;br /&gt;
    if args.subheaderrowclass then&lt;br /&gt;
        args.subheaderrowclass1 = args.subheaderrowclass&lt;br /&gt;
    end&lt;br /&gt;
    local subheadernums = getArgNums(&#039;subheader&#039;)&lt;br /&gt;
    for k, num in ipairs(subheadernums) do&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = args[&#039;subheader&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.subheaderstyle,&lt;br /&gt;
            rowcellstyle = args[&#039;subheaderstyle&#039; .. tostring(num)],&lt;br /&gt;
            class = args.subheaderclass,&lt;br /&gt;
            rowclass = args[&#039;subheaderrowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderImages()&lt;br /&gt;
    if args.image then&lt;br /&gt;
        args.image1 = args.image&lt;br /&gt;
    end&lt;br /&gt;
    if args.caption then&lt;br /&gt;
        args.caption1 = args.caption&lt;br /&gt;
    end&lt;br /&gt;
    local imagenums = getArgNums(&#039;image&#039;)&lt;br /&gt;
    for k, num in ipairs(imagenums) do&lt;br /&gt;
        local caption = args[&#039;caption&#039; .. tostring(num)]&lt;br /&gt;
        local data = mw.html.create():wikitext(args[&#039;image&#039; .. tostring(num)])&lt;br /&gt;
        if caption then&lt;br /&gt;
            data&lt;br /&gt;
                :tag(&#039;div&#039;)&lt;br /&gt;
                    :cssText(args.captionstyle)&lt;br /&gt;
                    :wikitext(caption)&lt;br /&gt;
        end&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = tostring(data),&lt;br /&gt;
            datastyle = args.imagestyle,&lt;br /&gt;
            class = args.imageclass,&lt;br /&gt;
            rowclass = args[&#039;imagerowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRows()&lt;br /&gt;
    -- Gets the union of the header and data argument numbers,&lt;br /&gt;
    -- and renders them all in order using addRow.&lt;br /&gt;
    local rownums = union(getArgNums(&#039;header&#039;), getArgNums(&#039;data&#039;))&lt;br /&gt;
    table.sort(rownums)&lt;br /&gt;
    for k, num in ipairs(rownums) do&lt;br /&gt;
        addRow({&lt;br /&gt;
            header = args[&#039;header&#039; .. tostring(num)],&lt;br /&gt;
            label = args[&#039;label&#039; .. tostring(num)],&lt;br /&gt;
            data = args[&#039;data&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.datastyle,&lt;br /&gt;
            class = args[&#039;class&#039; .. tostring(num)],&lt;br /&gt;
            rowclass = args[&#039;rowclass&#039; .. tostring(num)],&lt;br /&gt;
            rowstyle = args[&#039;rowstyle&#039; .. tostring(num)],&lt;br /&gt;
            rowcellstyle = args[&#039;rowcellstyle&#039; .. tostring(num)],&lt;br /&gt;
            dataid = args[&#039;dataid&#039; .. tostring(num)],&lt;br /&gt;
            labelid = args[&#039;labelid&#039; .. tostring(num)],&lt;br /&gt;
            headerid = args[&#039;headerid&#039; .. tostring(num)],&lt;br /&gt;
            rowid = args[&#039;rowid&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar()&lt;br /&gt;
    if not args.name then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;left&#039;)&lt;br /&gt;
                :wikitext(navbar{&lt;br /&gt;
                    args.name,&lt;br /&gt;
                    mini = 1,&lt;br /&gt;
                })&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderItalicTitle()&lt;br /&gt;
    local italicTitle = args[&#039;italic title&#039;] and mw.ustring.lower(args[&#039;italic title&#039;])&lt;br /&gt;
    if italicTitle == &#039;&#039; or italicTitle == &#039;force&#039; or italicTitle == &#039;yes&#039; then&lt;br /&gt;
        root:wikitext(mw.getCurrentFrame():expandTemplate({title = &#039;italic title&#039;}))&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories()&lt;br /&gt;
    if args.decat ~= &#039;yes&#039; then&lt;br /&gt;
    	if args.child == &#039;yes&#039; then&lt;br /&gt;
        	if args.title then&lt;br /&gt;
            	root:wikitext(&#039;[[Category:Pages which use embedded infobox templates with the title parameter]]&#039;)&lt;br /&gt;
        	end&lt;br /&gt;
        elseif #(getArgNums(&#039;data&#039;)) == 0 and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
            root:wikitext(&#039;[[Category:Articles which use infobox templates with no data rows]]&#039;)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _infobox()&lt;br /&gt;
    -- Specify the overall layout of the infobox, with special settings&lt;br /&gt;
    -- if the infobox is used as a &#039;child&#039; inside another infobox.&lt;br /&gt;
    if args.child ~= &#039;yes&#039; then&lt;br /&gt;
        root = mw.html.create(&#039;table&#039;)&lt;br /&gt;
        &lt;br /&gt;
        root&lt;br /&gt;
            :addClass((args.subbox ~= &#039;yes&#039;) and &#039;infobox&#039; or nil)&lt;br /&gt;
            :addClass(args.bodyclass)&lt;br /&gt;
            &lt;br /&gt;
            if args.subbox == &#039;yes&#039; then&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;padding&#039;, &#039;0&#039;)&lt;br /&gt;
                    :css(&#039;border&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;margin&#039;, &#039;-3px&#039;)&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;auto&#039;)&lt;br /&gt;
                    :css(&#039;min-width&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;font-size&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;clear&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;float&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;background-color&#039;, &#039;transparent&#039;)&lt;br /&gt;
            else&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;22em&#039;)&lt;br /&gt;
            end&lt;br /&gt;
        root&lt;br /&gt;
            :cssText(args.bodystyle)&lt;br /&gt;
    &lt;br /&gt;
        renderTitle()&lt;br /&gt;
        renderAboveRow()&lt;br /&gt;
    else&lt;br /&gt;
        root = mw.html.create()&lt;br /&gt;
        &lt;br /&gt;
        root&lt;br /&gt;
            :wikitext(args.title)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    renderSubheaders()&lt;br /&gt;
    renderImages() &lt;br /&gt;
    renderRows() &lt;br /&gt;
    renderBelowRow()  &lt;br /&gt;
    renderNavBar()&lt;br /&gt;
    renderItalicTitle()&lt;br /&gt;
    renderTrackingCategories()&lt;br /&gt;
    &lt;br /&gt;
    return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessSingleArg(argName)&lt;br /&gt;
    -- If the argument exists and isn&#039;t blank, add it to the argument table.&lt;br /&gt;
    -- Blank arguments are treated as nil to match the behaviour of ParserFunctions.&lt;br /&gt;
    if origArgs[argName] and origArgs[argName] ~= &#039;&#039; then&lt;br /&gt;
        args[argName] = origArgs[argName]&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessArgs(prefixTable, step)&lt;br /&gt;
    -- Assign the parameters with the given prefixes to the args table, in order, in batches&lt;br /&gt;
    -- of the step size specified. This is to prevent references etc. from appearing in the&lt;br /&gt;
    -- wrong order. The prefixTable should be an array containing tables, each of which has&lt;br /&gt;
    -- two possible fields, a &amp;quot;prefix&amp;quot; string and a &amp;quot;depend&amp;quot; table. The function always parses&lt;br /&gt;
    -- parameters containing the &amp;quot;prefix&amp;quot; string, but only parses parameters in the &amp;quot;depend&amp;quot;&lt;br /&gt;
    -- table if the prefix parameter is present and non-blank.&lt;br /&gt;
    if type(prefixTable) ~= &#039;table&#039; then&lt;br /&gt;
        error(&amp;quot;Non-table value detected for the prefix table&amp;quot;, 2)&lt;br /&gt;
    end&lt;br /&gt;
    if type(step) ~= &#039;number&#039; then&lt;br /&gt;
        error(&amp;quot;Invalid step value detected&amp;quot;, 2)&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Get arguments without a number suffix, and check for bad input.&lt;br /&gt;
    for i,v in ipairs(prefixTable) do&lt;br /&gt;
        if type(v) ~= &#039;table&#039; or type(v.prefix) ~= &amp;quot;string&amp;quot; or (v.depend and type(v.depend) ~= &#039;table&#039;) then&lt;br /&gt;
            error(&#039;Invalid input detected to preprocessArgs prefix table&#039;, 2)&lt;br /&gt;
        end&lt;br /&gt;
        preprocessSingleArg(v.prefix)&lt;br /&gt;
        -- Only parse the depend parameter if the prefix parameter is present and not blank.&lt;br /&gt;
        if args[v.prefix] and v.depend then&lt;br /&gt;
            for j, dependValue in ipairs(v.depend) do&lt;br /&gt;
                if type(dependValue) ~= &#039;string&#039; then&lt;br /&gt;
                    error(&#039;Invalid &amp;quot;depend&amp;quot; parameter value detected in preprocessArgs&#039;)&lt;br /&gt;
                end&lt;br /&gt;
                preprocessSingleArg(dependValue)&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Get arguments with number suffixes.&lt;br /&gt;
    local a = 1 -- Counter variable.&lt;br /&gt;
    local moreArgumentsExist = true&lt;br /&gt;
    while moreArgumentsExist == true do&lt;br /&gt;
        moreArgumentsExist = false&lt;br /&gt;
        for i = a, a + step - 1 do&lt;br /&gt;
            for j,v in ipairs(prefixTable) do&lt;br /&gt;
                local prefixArgName = v.prefix .. tostring(i)&lt;br /&gt;
                if origArgs[prefixArgName] then&lt;br /&gt;
                    moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
                    preprocessSingleArg(prefixArgName)&lt;br /&gt;
                end&lt;br /&gt;
                -- Process the depend table if the prefix argument is present and not blank, or&lt;br /&gt;
                -- we are processing &amp;quot;prefix1&amp;quot; and &amp;quot;prefix&amp;quot; is present and not blank, and&lt;br /&gt;
                -- if the depend table is present.&lt;br /&gt;
                if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then&lt;br /&gt;
                    for j,dependValue in ipairs(v.depend) do&lt;br /&gt;
                        local dependArgName = dependValue .. tostring(i)&lt;br /&gt;
                        preprocessSingleArg(dependArgName)&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        a = a + step&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.infobox(frame)&lt;br /&gt;
    -- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
    -- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
    if frame == mw.getCurrentFrame() then&lt;br /&gt;
        origArgs = frame:getParent().args&lt;br /&gt;
    else&lt;br /&gt;
        origArgs = frame&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Parse the data parameters in the same order that the old {{infobox}} did, so that&lt;br /&gt;
    -- references etc. will display in the expected places. Parameters that depend on&lt;br /&gt;
    -- another parameter are only processed if that parameter is present, to avoid&lt;br /&gt;
    -- phantom references appearing in article reference lists.&lt;br /&gt;
    preprocessSingleArg(&#039;child&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodyclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subbox&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodystyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;title&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titleclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titlestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;above&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;aboveclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;abovestyle&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;subheader&#039;, depend = {&#039;subheaderstyle&#039;, &#039;subheaderrowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;image&#039;, depend = {&#039;caption&#039;, &#039;imagerowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;captionstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imagestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imageclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;header&#039;},&lt;br /&gt;
        {prefix = &#039;data&#039;, depend = {&#039;label&#039;}},&lt;br /&gt;
        {prefix = &#039;rowclass&#039;},&lt;br /&gt;
        {prefix = &#039;rowstyle&#039;},&lt;br /&gt;
        {prefix = &#039;rowcellstyle&#039;},&lt;br /&gt;
        {prefix = &#039;class&#039;},&lt;br /&gt;
        {prefix = &#039;dataid&#039;},&lt;br /&gt;
        {prefix = &#039;labelid&#039;},&lt;br /&gt;
        {prefix = &#039;headerid&#039;},&lt;br /&gt;
        {prefix = &#039;rowid&#039;}&lt;br /&gt;
    }, 50)&lt;br /&gt;
    preprocessSingleArg(&#039;headerclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;headerstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;labelstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;datastyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;below&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;name&#039;)&lt;br /&gt;
    args[&#039;italic title&#039;] = origArgs[&#039;italic title&#039;] -- different behaviour if blank or absent&lt;br /&gt;
    preprocessSingleArg(&#039;decat&#039;)&lt;br /&gt;
 &lt;br /&gt;
    return _infobox()&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36205</id>
		<title>پودمان:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36205"/>
		<updated>2019-03-20T10:22:47Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[پرونده:Sandbox.svg|50px|جایگزین=|پیوند=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین الگو]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین پودمان]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;صفحهٔ تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;اینجا $1 برای $2 است،&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;اینجا $1 برای $2 هست ($3).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;نمونه‌های آزمایشی&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید ($2).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;]&lt;br /&gt;
-- A category to add to all template sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;صفحه تمرین الگوها&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[پرونده:Test Template Info-Icon - Version (2).svg|50px|پیوند=|جایگزین=نماد توضیحات|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;توضیحات الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;توضیحات پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;خلاصه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;نمایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;تاریخچه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;پاکسازی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;[[ایران‌پدیا:مستندسازی الگوها|توضیحات]] بالا [[ایران‌پدیا:تراگنجانش|تراگنجانده‌شده]] از $1 است.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;در صورت تمایل یک صفحهٔ توضیحات برای این [[ایران‌پدیا:لوآ|پودمان اسکریبونتو]] $1 کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این الگو را آزمایش کنند.&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این پودمان را آزمایش کنند.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;نسخه تمرین $1 را ایجاد کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;آینه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;الگو:توضیحات/آینه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;لطفاً رده‌ها را به زیرصفحهٔ $1 بیفزایید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;زیرصفحه‌های این $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;صفحه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-docpage-preload&#039;]&lt;br /&gt;
-- Preload file for documentation page in the file namespace.&lt;br /&gt;
cfg[&#039;file-docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-فضای-پرونده&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-توضیحات-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Print version configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage used for print versions.&lt;br /&gt;
cfg[&#039;print-subpage&#039;] = &#039;چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /Print subpage.&lt;br /&gt;
cfg[&#039;print-link-display&#039;] = &#039;/چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-blurb&#039;]&lt;br /&gt;
-- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg[&#039;print-link-display&#039;].&lt;br /&gt;
cfg[&#039;print-blurb&#039;] = &#039;یک [[:en:Help:Books/for experts#Improving the book layout|نسخه چاپی]] از این الگو در $1 موجود است.&#039;&lt;br /&gt;
	.. &#039; اگر تغییری در این الگو ایجاد می‌کنید، خواهشمند است نسخه چاپی را هم به‌روز کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-print-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;print-category&#039;] if a /Print subpage exists.&lt;br /&gt;
-- This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-print-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-print-category&#039;] is set to true, and a /Print subpage exists.&lt;br /&gt;
cfg[&#039;print-category&#039;] = &#039;الگوهایی با نسخه‌های چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-id&#039;]&lt;br /&gt;
-- The &amp;quot;id&amp;quot; attribute of the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-id&#039;] = &#039;template-documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- The CSS classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;template-documentation iezoomfix&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-linkclasses&#039;]&lt;br /&gt;
-- The CSS classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
cfg[&#039;start-box-linkclasses&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-id&#039;]&lt;br /&gt;
-- The HTML &amp;quot;id&amp;quot; attribute for the links in the start box.&lt;br /&gt;
cfg[&#039;start-box-link-id&#039;] = &#039;doc_editlinks&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- {{fmbox}} template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-id&#039;]&lt;br /&gt;
-- The id sent to the &amp;quot;id&amp;quot; parameter of the {{fmbox}} template.&lt;br /&gt;
cfg[&#039;fmbox-id&#039;] = &#039;documentation-meta-data&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-style&#039;]&lt;br /&gt;
-- The value sent to the style parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-style&#039;] = &#039;background-color: #ecfcf4&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-textstyle&#039;]&lt;br /&gt;
-- The value sent to the &amp;quot;textstyle parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-textstyle&#039;] = &#039;font-style: italic&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;صفحات ایران‌پدیا با کاربرد عجیب «توضیحات»&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Coordinates&amp;diff=36203</id>
		<title>پودمان:Coordinates</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Coordinates&amp;diff=36203"/>
		<updated>2019-03-20T10:22:46Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- بخش‌هایی از این پودمان جهت فارسی‌سازی بهتر تغییر یافته‌است. لطفاً هنگام به‌روزرسانی کاملاً دقت کنید.&lt;br /&gt;
--نسخه درست&lt;br /&gt;
--[[&lt;br /&gt;
This module is intended to replace the functionality of {{Coord}} and related&lt;br /&gt;
templates.  It provides several methods, including&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | coord }} : General function formatting and displaying&lt;br /&gt;
coordinate values.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dec2dms }} : Simple function for converting decimal&lt;br /&gt;
degree values to DMS format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dms2dec }} : Simple function for converting DMS format&lt;br /&gt;
to decimal degree format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | link }} : Export the link used to reach the tools&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
-- خط زیر برای بومی‌سازی ضروری است&lt;br /&gt;
local convert = require( &amp;quot;Module:Numeral converter&amp;quot; ).convert;&lt;br /&gt;
local math_mod = require(&amp;quot;Module:Math&amp;quot;)&lt;br /&gt;
local coordinates = {};&lt;br /&gt;
&lt;br /&gt;
local current_page = mw.title.getCurrentTitle()&lt;br /&gt;
local page_name = mw.uri.encode( current_page.prefixedText, &#039;WIKI&#039; );&lt;br /&gt;
local coord_link = &#039;//tools.wmflabs.org/geohack/geohack.php?language=fa&amp;amp;pagename=&#039; .. page_name .. &#039;&amp;amp;params=&#039;&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, replacement for {{coord/display/title}} ]]&lt;br /&gt;
local function displaytitle(s, notes)&lt;br /&gt;
	local l = &amp;quot;[[دستگاه مختصات جغرافیایی|مختصات]]: &amp;quot; .. s&lt;br /&gt;
	local co = &#039;&amp;lt;span id=&amp;quot;coordinates&amp;quot;&amp;gt;&#039; .. l .. notes .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
	return &#039;&amp;lt;span style=&amp;quot;font-size: small;&amp;quot;&amp;gt;&#039; .. co .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, Replacement for {{coord/display/inline}} ]]&lt;br /&gt;
local function displayinline(s, notes)&lt;br /&gt;
	return s .. notes	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, used in detecting DMS formatting ]]&lt;br /&gt;
local function dmsTest(first, second)&lt;br /&gt;
	if type(first) ~= &#039;string&#039; or type(second) ~= &#039;string&#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local s = (first .. second):upper()&lt;br /&gt;
	return s:find(&#039;^[NS][EW]$&#039;) or s:find(&#039;^[EW][NS]$&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ Wrapper function to grab args, see Module:Arguments for this function&#039;s documentation. ]]&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {&lt;br /&gt;
			wrappers = &#039;الگو:Coord&#039;&lt;br /&gt;
		})&lt;br /&gt;
		return coordinates[funcName](args, frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, handle optional args. ]]&lt;br /&gt;
local function optionalArg(arg, supplement)&lt;br /&gt;
	return arg and arg .. supplement or &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Formats any error messages generated for display&lt;br /&gt;
]]&lt;br /&gt;
local function errorPrinter(errors)&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	for i,v in ipairs(errors) do&lt;br /&gt;
		local errorHTML = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;مختصات: &#039; .. v[2] .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
		result = result .. errorHTML .. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Determine the required CSS class to display coordinates&lt;br /&gt;
&lt;br /&gt;
Usually geo-nondefault is hidden by CSS, unless a user has overridden this for himself&lt;br /&gt;
default is the mode as specificied by the user when calling the {{coord}} template&lt;br /&gt;
mode is the display mode (dec or dms) that we will need to determine the css class for &lt;br /&gt;
]]&lt;br /&gt;
local function displayDefault(default, mode)&lt;br /&gt;
	if default == &amp;quot;&amp;quot; then&lt;br /&gt;
		default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if default == mode then&lt;br /&gt;
		return &amp;quot;geo-default&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;geo-nondefault&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
specPrinter&lt;br /&gt;
&lt;br /&gt;
Output formatter.  Takes the structure generated by either parseDec&lt;br /&gt;
or parseDMS and formats it for inclusion on Iranpedia.&lt;br /&gt;
]]&lt;br /&gt;
local function specPrinter(args, coordinateSpec)&lt;br /&gt;
	local uriComponents = coordinateSpec[&amp;quot;param&amp;quot;]&lt;br /&gt;
	if uriComponents == &amp;quot;&amp;quot; then&lt;br /&gt;
		-- RETURN error, should never be empty or nil&lt;br /&gt;
		return &amp;quot;خطا: پارامتر خالی است&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		uriComponents = uriComponents .. &amp;quot;&amp;amp;title=&amp;quot; .. mw.uri.encode(coordinateSpec[&amp;quot;name&amp;quot;])&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local geodmshtml = &#039;&amp;lt;span class=&amp;quot;geo-dms&amp;quot; title=&amp;quot;نقشه‌ها، عکس‌های هوایی، و دیگر داده‌های این موقعیت&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. &#039;&amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;&#039; .. convert(&amp;quot;fa&amp;quot;, coordinateSpec[&amp;quot;dms-lat&amp;quot;]) .. &#039;&amp;lt;/span&amp;gt; &#039;&lt;br /&gt;
			 .. &#039;&amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;&#039; .. convert(&amp;quot;fa&amp;quot;, coordinateSpec[&amp;quot;dms-long&amp;quot;]) .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local lat = tonumber( coordinateSpec[&amp;quot;dec-lat&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclat&lt;br /&gt;
	if lat &amp;lt; 0 then&lt;br /&gt;
		-- FIXME this breaks the pre-existing precision&lt;br /&gt;
		geodeclat = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. tostring(coordinateSpec[&amp;quot;dec-lat&amp;quot;]):sub(2) .. &amp;quot;°&amp;lt;/span&amp;gt;جنوبی&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		geodeclat = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. (coordinateSpec[&amp;quot;dec-lat&amp;quot;] or 0) .. &amp;quot;°&amp;lt;/span&amp;gt;شمالی&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local long = tonumber( coordinateSpec[&amp;quot;dec-long&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclong&lt;br /&gt;
	if long &amp;lt; 0 then&lt;br /&gt;
		-- FIXME does not handle unicode minus&lt;br /&gt;
		geodeclong = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. tostring(coordinateSpec[&amp;quot;dec-long&amp;quot;]):sub(2) .. &amp;quot;°&amp;lt;/span&amp;gt;غربی&amp;quot; &lt;br /&gt;
	else&lt;br /&gt;
		geodeclong = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. (coordinateSpec[&amp;quot;dec-long&amp;quot;] or 0) .. &amp;quot;°&amp;lt;/span&amp;gt;شرقی&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local geodechtml = &#039;&amp;lt;span class=&amp;quot;geo-dec&amp;quot; title=&amp;quot;نقشه‌ها، عکس‌های هوایی، و دیگر داده‌های این موقعیت&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. convert(&amp;quot;fa&amp;quot;, geodeclat) .. &#039; &#039;&lt;br /&gt;
			 .. convert(&amp;quot;fa&amp;quot;, geodeclong)&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local geonumhtml = &#039;&amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. coordinateSpec[&amp;quot;dec-lat&amp;quot;] .. &#039;; &#039;&lt;br /&gt;
			 .. coordinateSpec[&amp;quot;dec-long&amp;quot;]&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local inner = &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dms&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039; .. geodmshtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;geo-multi-punct&amp;quot;&amp;gt;&amp;amp;#xfeff; / &amp;amp;#xfeff;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dec&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
	if not args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		inner = inner .. geodechtml &lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		inner = inner .. &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039; .. geodechtml &lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039;&lt;br /&gt;
				.. args[&amp;quot;name&amp;quot;] .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return &#039;&amp;lt;span class=&amp;quot;plainlinks nourlexpansion&amp;quot;&amp;gt;&#039; .. &lt;br /&gt;
		&#039;[&#039; .. coord_link .. uriComponents .. &#039; &#039; .. inner .. &#039;]&#039; .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees ]]&lt;br /&gt;
local function convert_dec2dms_d(coordinate)&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. math_mod._round( coordinate, 0 ) .. &amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	return d .. &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees and minutes ]]&lt;br /&gt;
local function convert_dec2dms_dm(coordinate)	&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60, 0 );&lt;br /&gt;
	local m = coordinate % 60;&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. coordinate % 360 ..&amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	return d .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d′&amp;lt;/span&amp;gt;&#039;, m )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees, minutes, and seconds ]]&lt;br /&gt;
local function convert_dec2dms_dms(coordinate)&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60 * 60, 0 );&lt;br /&gt;
	local s = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - s) / 60 );&lt;br /&gt;
	local m = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. coordinate % 360 ..&amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return d .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d′&amp;lt;/span&amp;gt;&#039;, m ) .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d″&amp;lt;/span&amp;gt;&#039;, s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Helper function, convert decimal latitude or longitude to &lt;br /&gt;
degrees, minutes, and seconds format based on the specified precision.  &lt;br /&gt;
]]&lt;br /&gt;
local function convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
	local coord = tonumber(coordinate)&lt;br /&gt;
	local postfix&lt;br /&gt;
	if coord &amp;gt;= 0 then&lt;br /&gt;
		postfix = firstPostfix&lt;br /&gt;
	else&lt;br /&gt;
		postfix = secondPostfix&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	precision = precision:lower();&lt;br /&gt;
	if precision == &amp;quot;dms&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dms( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;dm&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dm( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;d&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_d( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Convert DMS format into a N or E decimal coordinate&lt;br /&gt;
]]&lt;br /&gt;
local function convert_dms2dec(direction, degrees_str, minutes_str, seconds_str)&lt;br /&gt;
	local degrees = tonumber(degrees_str)&lt;br /&gt;
	local minutes = tonumber(minutes_str) or 0&lt;br /&gt;
	local seconds = tonumber(seconds_str) or 0&lt;br /&gt;
	&lt;br /&gt;
	local factor = 1&lt;br /&gt;
	if direction == &amp;quot;S&amp;quot; or direction == &amp;quot;W&amp;quot; then&lt;br /&gt;
		factor = -1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local precision = 0&lt;br /&gt;
	if seconds_str then&lt;br /&gt;
		precision = 5 + math.max( math_mod._precision(seconds_str), 0 );&lt;br /&gt;
	elseif minutes_str and minutes_str ~= &#039;&#039; then&lt;br /&gt;
		precision = 3 + math.max( math_mod._precision(minutes_str), 0 );&lt;br /&gt;
	else&lt;br /&gt;
		precision = math.max( math_mod._precision(degrees_str), 0 );&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local decimal = factor * (degrees+(minutes+seconds/60)/60) &lt;br /&gt;
	return string.format( &amp;quot;%.&amp;quot; .. precision .. &amp;quot;f&amp;quot;, decimal ) -- not tonumber since this whole thing is string based.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Checks input values to for out of range errors.&lt;br /&gt;
]]&lt;br /&gt;
local function validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, source, strong )&lt;br /&gt;
	local errors = {};&lt;br /&gt;
	lat_d = tonumber( lat_d ) or 0;&lt;br /&gt;
	lat_m = tonumber( lat_m ) or 0;&lt;br /&gt;
	lat_s = tonumber( lat_s ) or 0;&lt;br /&gt;
	long_d = tonumber( long_d ) or 0;&lt;br /&gt;
	long_m = tonumber( long_m ) or 0;&lt;br /&gt;
	long_s = tonumber( long_s ) or 0;&lt;br /&gt;
&lt;br /&gt;
	if strong then&lt;br /&gt;
		if lat_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;lt; ۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		if long_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;lt; ۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		--[[ &lt;br /&gt;
		#coordinates is inconsistent about whether this is an error.  If globe: is&lt;br /&gt;
		specified, it won&#039;t error on this condition, but otherwise it will.&lt;br /&gt;
		&lt;br /&gt;
		For not simply disable this check.&lt;br /&gt;
		&lt;br /&gt;
		if long_d &amp;gt; 180 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;gt; ۱۸۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		]]&lt;br /&gt;
	end	&lt;br /&gt;
		&lt;br /&gt;
	if lat_d &amp;gt; 90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;gt; ۹۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_d &amp;lt; -90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;lt; -۹۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق عرض جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق عرض جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های عرض جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های عرض جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;gt;= 360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;gt;= ۳۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;lt;= -360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;lt;= -۳۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق طول جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق طول جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های طول جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های طول جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return errors;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDec&lt;br /&gt;
&lt;br /&gt;
Transforms decimal format latitude and longitude into the&lt;br /&gt;
structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDec( lat, long, format )&lt;br /&gt;
	local coordinateSpec = {}&lt;br /&gt;
	local errors = {}&lt;br /&gt;
	&lt;br /&gt;
	if not long then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;طول جغرافیایی وارد نشده‌است&amp;quot;}}&lt;br /&gt;
	elseif not tonumber(long) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;طول جغرافیایی نمی‌تواند به عنوان یک رقم تجزیه شود: &amp;quot; .. long}}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	errors = validate( lat, nil, nil, long, nil, nil, &#039;parseDec&#039;, false );	&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = lat;&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = long;&lt;br /&gt;
&lt;br /&gt;
	local mode = coordinates.determineMode( lat, long );&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = convert_dec2dms( lat, &amp;quot;شمالی&amp;quot;, &amp;quot;جنوبی&amp;quot;, mode)  -- {{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = convert_dec2dms( long, &amp;quot;شرقی&amp;quot;, &amp;quot;غربی&amp;quot;, mode)  -- {{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}	&lt;br /&gt;
	&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDMS&lt;br /&gt;
&lt;br /&gt;
Transforms degrees, minutes, seconds format latitude and longitude &lt;br /&gt;
into the a structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDMS( lat_d, lat_m, lat_s, lat_f, long_d, long_m, long_s, long_f, format )&lt;br /&gt;
	local coordinateSpec, errors, backward = {}, {}&lt;br /&gt;
	&lt;br /&gt;
	lat_f = lat_f:upper();&lt;br /&gt;
	long_f = long_f:upper();&lt;br /&gt;
	&lt;br /&gt;
	-- Check if specified backward&lt;br /&gt;
	if lat_f == &#039;E&#039; or lat_f == &#039;W&#039; then&lt;br /&gt;
		lat_d, long_d, lat_m, long_m, lat_s, long_s, lat_f, long_f, backward = long_d, lat_d, long_m, lat_m, long_s, lat_s, long_f, lat_f, true;&lt;br /&gt;
	end	&lt;br /&gt;
	&lt;br /&gt;
	errors = validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, &#039;parseDMS&#039;, true );&lt;br /&gt;
	if not long_d then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;طول جغرافیایی وارد نشده‌است&amp;quot; }}&lt;br /&gt;
	elseif not tonumber(long_d) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;طول جغرافیایی نمی‌تواند به عنوان یک رقم تجزیه شود:&amp;quot; .. long_d }}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not lat_m and not lat_s and not long_m and not long_s and #errors == 0 then &lt;br /&gt;
		if math_mod._precision( lat_d ) &amp;gt; 0 or math_mod._precision( long_d ) &amp;gt; 0 then&lt;br /&gt;
			if lat_f:upper() == &#039;S&#039; then &lt;br /&gt;
				lat_d = &#039;-&#039; .. lat_d;&lt;br /&gt;
			end&lt;br /&gt;
			if long_f:upper() == &#039;W&#039; then &lt;br /&gt;
				long_d = &#039;-&#039; .. long_d;&lt;br /&gt;
			end	 &lt;br /&gt;
			&lt;br /&gt;
			return parseDec( lat_d, long_d, format );&lt;br /&gt;
		end		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- تابع زیر جهت فارسی‌کردن رشته‌های مربوط به شمال، غرب، جنوب، و شرق نوشته شده‌است.&lt;br /&gt;
	local function persianChars(enChar)&lt;br /&gt;
		if enChar == &amp;quot;W&amp;quot; then&lt;br /&gt;
			return &amp;quot; غربی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;N&amp;quot; then&lt;br /&gt;
			return &amp;quot; شمالی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;S&amp;quot; then&lt;br /&gt;
			return &amp;quot; جنوبی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;E&amp;quot; then&lt;br /&gt;
			return &amp;quot; شرقی&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. lat_d..&amp;quot;°&amp;quot;..optionalArg(lat_m,&amp;quot;′&amp;quot;) .. optionalArg(lat_s,&amp;quot;″&amp;quot;) .. &#039;&amp;lt;/span&amp;gt;&#039; .. persianChars(lat_f)&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. long_d..&amp;quot;°&amp;quot;..optionalArg(long_m,&amp;quot;′&amp;quot;) .. optionalArg(long_s,&amp;quot;″&amp;quot;) .. &#039;&amp;lt;/span&amp;gt;&#039; .. persianChars(long_f)&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = convert_dms2dec(lat_f, lat_d, lat_m, lat_s) -- {{coord/dms2dec|{{{4}}}|{{{1}}}|0{{{2}}}|0{{{3}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = convert_dms2dec(long_f, long_d, long_m, long_s) -- {{coord/dms2dec|{{{8}}}|{{{5}}}|0{{{6}}}|0{{{7}}}}}&lt;br /&gt;
&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dms&amp;quot;&lt;br /&gt;
	end   &lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Check the input arguments for coord to determine the kind of data being provided&lt;br /&gt;
and then make the necessary processing.&lt;br /&gt;
]]&lt;br /&gt;
local function formatTest(args)&lt;br /&gt;
	local result, errors&lt;br /&gt;
	local backward, primary = false, false&lt;br /&gt;
&lt;br /&gt;
	local function getParam(args, lim)&lt;br /&gt;
		local ret = {}&lt;br /&gt;
		for i = 1, lim do&lt;br /&gt;
			ret[i] = args[i] or &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(ret, &#039;_&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		-- no lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;عرض جغرافیایی وارد نشده‌است&amp;quot;}} )&lt;br /&gt;
	elseif not tonumber(args[1]) then&lt;br /&gt;
		-- bad lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;ناتوان در تجزیه عرض جغرافیایی به عنوان یک رقم:&amp;quot; .. args[1]}} )&lt;br /&gt;
	elseif not args[4] and not args[5] and not args[6] then&lt;br /&gt;
		-- dec logic&lt;br /&gt;
		result, errors = parseDec(args[1], args[2], args.format)&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors);&lt;br /&gt;
		end			  &lt;br /&gt;
		result.param = table.concat({args[1], &#039;N&#039;, args[2] or &#039;&#039;, &#039;E&#039;, args[3] or &#039;&#039;}, &#039;_&#039;)&lt;br /&gt;
	elseif dmsTest(args[4], args[8]) then&lt;br /&gt;
		-- dms logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], args[3], args[4], &lt;br /&gt;
			args[5], args[6], args[7], args[8], args.format)&lt;br /&gt;
		if args[10] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 9)&lt;br /&gt;
	elseif dmsTest(args[3], args[6]) then&lt;br /&gt;
		-- dm logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], nil, args[3], &lt;br /&gt;
			args[4], args[5], nil, args[6], args[&#039;format&#039;])&lt;br /&gt;
		if args[8] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 7)&lt;br /&gt;
	elseif dmsTest(args[2], args[4]) then&lt;br /&gt;
		-- d logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], nil, nil, args[2], &lt;br /&gt;
			args[3], nil, nil, args[4], args.format)&lt;br /&gt;
		if args[6] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end	&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 5)&lt;br /&gt;
	else&lt;br /&gt;
		-- Error&lt;br /&gt;
		return errorPrinter({{&amp;quot;formatTest&amp;quot;, &amp;quot;قالب‌بندی ناشناخته آرگومان&amp;quot;}})&lt;br /&gt;
	end&lt;br /&gt;
	result.name = args.name&lt;br /&gt;
	&lt;br /&gt;
	local extra_param = {&#039;dim&#039;, &#039;globe&#039;, &#039;scale&#039;, &#039;region&#039;, &#039;source&#039;, &#039;type&#039;}&lt;br /&gt;
	for _, v in ipairs(extra_param) do&lt;br /&gt;
		if args[v] then &lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامتر: «&#039; .. v .. &#039;=» باید «&#039; .. v .. &#039;:»&#039; })&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ret = specPrinter(args, result)&lt;br /&gt;
	if #errors &amp;gt; 0 then&lt;br /&gt;
		ret = ret .. &#039; &#039; .. errorPrinter(errors) .. &#039;[[رده:صفحه‌های دارای برچسب مختصات ناقص]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Generate Wikidata tracking categories.&lt;br /&gt;
]]&lt;br /&gt;
local function makeWikidataCategories()&lt;br /&gt;
	local ret&lt;br /&gt;
	if mw.wikibase and current_page.namespace == 0 then&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
		if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1] then&lt;br /&gt;
			local snaktype = entity.claims.P625[1].mainsnak.snaktype&lt;br /&gt;
			if snaktype == &#039;value&#039; then&lt;br /&gt;
				-- coordinates exist both here and on Wikidata, and can be compared.&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده&#039;&lt;br /&gt;
			elseif snaktype == &#039;somevalue&#039; then&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده که مقدار نامشخص تنظیم شده‌اند&#039;&lt;br /&gt;
			elseif snaktype == &#039;novalue&#039; then&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده که بدون مقدار تنظیم شده‌اند&#039;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- We have to either import the coordinates to Wikidata or remove them here.&lt;br /&gt;
			ret = &#039;مختصاتی که در ویکی‌داده نیستند&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if ret then&lt;br /&gt;
		return string.format(&#039;[[رده:%s]]&#039;, ret)&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
link&lt;br /&gt;
&lt;br /&gt;
Simple function to export the coordinates link for other uses.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | link }}&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.link(frame)&lt;br /&gt;
	return coord_link;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dec2dms&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dec2dms directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dec2dms | decimal_coordinate | positive_suffix | &lt;br /&gt;
		negative_suffix | precision }}&lt;br /&gt;
	&lt;br /&gt;
decimal_coordinate is converted to DMS format.  If positive, the positive_suffix&lt;br /&gt;
is appended (typical N or E), if negative, the negative suffix is appended.  The&lt;br /&gt;
specified precision is one of &#039;D&#039;, &#039;DM&#039;, or &#039;DMS&#039; to specify the level of detail&lt;br /&gt;
to use.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dec2dms = makeInvokeFunc(&#039;_dec2dms&#039;)&lt;br /&gt;
function coordinates._dec2dms(args)&lt;br /&gt;
	local coordinate = args[1]&lt;br /&gt;
	local firstPostfix = args[2] or &#039;&#039;&lt;br /&gt;
	local secondPostfix = args[3] or &#039;&#039;&lt;br /&gt;
	local precision = args[4] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	return convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to determine whether to use D, DM, or DMS&lt;br /&gt;
format depending on the precision of the decimal input.&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.determineMode( value1, value2 )&lt;br /&gt;
	local precision = math.max( math_mod._precision( value1 ), math_mod._precision( value2 ) );&lt;br /&gt;
	if precision &amp;lt;= 0 then&lt;br /&gt;
		return &#039;d&#039;&lt;br /&gt;
	elseif precision &amp;lt;= 2 then&lt;br /&gt;
		return &#039;dm&#039;;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;dms&#039;;&lt;br /&gt;
	end&lt;br /&gt;
end		&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dms2dec&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dms2dec directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dms2dec | direction_flag | degrees |&lt;br /&gt;
		minutes | seconds }}&lt;br /&gt;
	&lt;br /&gt;
Converts DMS values specified as degrees, minutes, seconds too decimal format.&lt;br /&gt;
direction_flag is one of N, S, E, W, and determines whether the output is &lt;br /&gt;
positive (i.e. N and E) or negative (i.e. S and W).&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dms2dec = makeInvokeFunc(&#039;_dms2dec&#039;)&lt;br /&gt;
function coordinates._dms2dec(args)&lt;br /&gt;
	local direction = args[1]&lt;br /&gt;
	local degrees = args[2]&lt;br /&gt;
	local minutes = args[3]&lt;br /&gt;
	local seconds = args[4]&lt;br /&gt;
&lt;br /&gt;
	return convert_dms2dec(direction, degrees, minutes, seconds)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord&lt;br /&gt;
&lt;br /&gt;
Main entry point for Lua function to replace {{coord}}&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | coord }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | long }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | lat_flag | long | long_flag }}&lt;br /&gt;
	...&lt;br /&gt;
	&lt;br /&gt;
	Refer to {{coord}} documentation page for many additional parameters and &lt;br /&gt;
	configuration options.&lt;br /&gt;
	&lt;br /&gt;
Note: This function provides the visual display elements of {{coord}}.  In&lt;br /&gt;
order to load coordinates into the database, the {{#coordinates:}} parser &lt;br /&gt;
function must also be called, this is done automatically in the Lua&lt;br /&gt;
version of {{coord}}.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.coord = makeInvokeFunc(&#039;_coord&#039;)&lt;br /&gt;
function coordinates._coord(args)&lt;br /&gt;
	if (not args[1] or not tonumber(args[1])) and not args[2] and mw.wikibase.getEntityObject() then&lt;br /&gt;
		args[3] = args[1]; args[1] = nil&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
		if entity &lt;br /&gt;
			and entity.claims&lt;br /&gt;
			and entity.claims.P625&lt;br /&gt;
			and entity.claims.P625[1].mainsnak.snaktype == &#039;value&#039;&lt;br /&gt;
		then&lt;br /&gt;
			local precision = entity.claims.P625[1].mainsnak.datavalue.value.precision&lt;br /&gt;
			args[1]=entity.claims.P625[1].mainsnak.datavalue.value.latitude&lt;br /&gt;
			args[2]=entity.claims.P625[1].mainsnak.datavalue.value.longitude&lt;br /&gt;
			if precision then&lt;br /&gt;
				precision=-math_mod._round(math.log(precision)/math.log(10),0)&lt;br /&gt;
				args[1]=math_mod._round(args[1],precision)&lt;br /&gt;
				args[2]=math_mod._round(args[2],precision)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- خطوط زیر به‌منظور بومی‌سازی و پشتیبانی از ارقام فارسی اضافه شدند&lt;br /&gt;
	if args[1] ~= nil then&lt;br /&gt;
		args[1] = convert(&amp;quot;en&amp;quot;, args[1])&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] ~= nil then&lt;br /&gt;
		args[2] = convert(&amp;quot;en&amp;quot;, args[2])&lt;br /&gt;
	end&lt;br /&gt;
	if args[3] ~= nil then&lt;br /&gt;
		args[3] = convert(&amp;quot;en&amp;quot;, args[3])&lt;br /&gt;
	end&lt;br /&gt;
	if args[4] ~= nil then&lt;br /&gt;
		args[4] = convert(&amp;quot;en&amp;quot;, args[4])&lt;br /&gt;
	end&lt;br /&gt;
	if args[5] ~= nil then&lt;br /&gt;
		args[5] = convert(&amp;quot;en&amp;quot;, args[5])&lt;br /&gt;
	end&lt;br /&gt;
	if args[6] ~= nil then&lt;br /&gt;
		args[6] = convert(&amp;quot;en&amp;quot;, args[6])&lt;br /&gt;
	end&lt;br /&gt;
	if args[7] ~= nil then&lt;br /&gt;
		args[7] = convert(&amp;quot;en&amp;quot;, args[7])&lt;br /&gt;
	end&lt;br /&gt;
	if args[8] ~= nil then&lt;br /&gt;
		args[8] = convert(&amp;quot;en&amp;quot;, args[8])&lt;br /&gt;
	end&lt;br /&gt;
	-- پایان بومی‌سازی&lt;br /&gt;
	&lt;br /&gt;
	local contents, backward = formatTest(args)&lt;br /&gt;
	local Notes = args.notes or &#039;&#039;&lt;br /&gt;
	local Display = args.display and args.display:lower() or &#039;inline&#039;&lt;br /&gt;
&lt;br /&gt;
	local function isInline(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed inline.&lt;br /&gt;
		return s:find(&#039;inline&#039;) ~= nil or s == &#039;i&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function isInTitle(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed in the title.&lt;br /&gt;
		return s:find(&#039;title&#039;) ~= nil or s == &#039;t&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function coord_wrapper(in_args)&lt;br /&gt;
		-- Calls the parser function {{#coordinates:}}.&lt;br /&gt;
		return mw.getCurrentFrame():callParserFunction(&#039;#coordinates&#039;, in_args) or &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if isInline(Display) then&lt;br /&gt;
		text = text .. displayinline(contents, Notes)&lt;br /&gt;
	end&lt;br /&gt;
	if isInTitle(Display) then&lt;br /&gt;
		text = text&lt;br /&gt;
			.. displaytitle(contents, Notes)&lt;br /&gt;
			.. makeWikidataCategories()&lt;br /&gt;
	end&lt;br /&gt;
	if not args.nosave then&lt;br /&gt;
		local page_title, count = mw.title.getCurrentTitle(), 1&lt;br /&gt;
		if backward then&lt;br /&gt;
			local tmp = {}&lt;br /&gt;
			while not string.find((args[count-1] or &#039;&#039;), &#039;[EW]&#039;) do tmp[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
			tmp.count = count; count = 2*(count-1)&lt;br /&gt;
			while count &amp;gt;= tmp.count do table.insert(tmp, 1, (args[count] or &#039;&#039;)); count = count-1 end&lt;br /&gt;
			for i, v in ipairs(tmp) do args[i] = v end&lt;br /&gt;
		else&lt;br /&gt;
			while count &amp;lt;= 9 do args[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
		end&lt;br /&gt;
		if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= &#039;doc&#039; and page_title.subpageText ~= &#039;testcases&#039; then args[10] = &#039;primary&#039; end&lt;br /&gt;
		args.notes, args.format, args.display = nil&lt;br /&gt;
		text = text .. coord_wrapper(args)&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord2text&lt;br /&gt;
&lt;br /&gt;
Extracts a single value from a transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coord2text | {{Coord}} | parameter }}&lt;br /&gt;
&lt;br /&gt;
Valid values for the second parameter are: lat (signed integer), long (signed integer), type, scale, dim, region, globe, source&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coord2text(frame)&lt;br /&gt;
	if frame.args[1] == &#039;&#039; or frame.args[2] == &#039;&#039; or not frame.args[2] then return nil end&lt;br /&gt;
	frame.args[2] = mw.text.trim(frame.args[2])&lt;br /&gt;
	&lt;br /&gt;
	if frame.args[2] == &#039;lat&#039; or frame.args[2] == &#039;long&#039; then&lt;br /&gt;
		local result, negative = mw.text.split((mw.ustring.match(frame.args[1],&#039;[%.%d]+°[NS] [%.%d]+°[EW]&#039;) or &#039;&#039;), &#039; &#039;)&lt;br /&gt;
		if frame.args[2] == &#039;lat&#039; then&lt;br /&gt;
			result, negative = result[1], &#039;S&#039;&lt;br /&gt;
		else&lt;br /&gt;
			result, negative = result[2], &#039;W&#039;&lt;br /&gt;
		end&lt;br /&gt;
		result = mw.text.split(result, &#039;°&#039;)&lt;br /&gt;
		if result[2] == negative then result[1] = &#039;-&#039;..result[1] end&lt;br /&gt;
		return result[1]&lt;br /&gt;
	else&lt;br /&gt;
		return mw.ustring.match(frame.args[1], &#039;params=.-_&#039;..frame.args[2]..&#039;:(.-)[ _]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coordinsert&lt;br /&gt;
&lt;br /&gt;
Injects some text into the Geohack link of a transclusion of {{Coord}} (if that text isn&#039;t already in the transclusion). Outputs the modified transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }}&lt;br /&gt;
&lt;br /&gt;
Do not make Geohack unhappy by inserting something which isn&#039;t mentioned in the {{Coord}} documentation.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coordinsert(frame)&lt;br /&gt;
	for i, v in ipairs(frame.args) do&lt;br /&gt;
		if i ~= 1 then&lt;br /&gt;
			if not mw.ustring.find(frame.args[1], (mw.ustring.match(frame.args[i], &#039;^(.-:)&#039;) or &#039;&#039;)) then &lt;br /&gt;
				frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(params=.-)_? &#039;, &#039;%1_&#039;..frame.args[i]..&#039; &#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if frame.args.name then&lt;br /&gt;
		if not mw.ustring.find(frame.args[1], &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039;) then&lt;br /&gt;
			local namestr = frame.args.name&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1], &lt;br /&gt;
				&#039;(&amp;lt;span class=&amp;quot;geo%-default&amp;quot;&amp;gt;)(&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;)(&amp;lt;/span&amp;gt;)&#039;, &lt;br /&gt;
				&#039;%1&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;%2&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039; .. namestr .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;%3&#039;)&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(&amp;amp;params=[^&amp;amp;&amp;quot;&amp;lt;&amp;gt;%[%] ]*) &#039;, &#039;%1&amp;amp;title=&#039; .. mw.uri.encode(namestr) .. &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return frame.args[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return coordinates&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:UF-coord&amp;diff=36201</id>
		<title>الگو:UF-coord</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:UF-coord&amp;diff=36201"/>
		<updated>2019-03-20T10:22:45Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For [[دستگاه مختصات جغرافیایی|coordinates]], use {{پیوند الگو|coord}} with &#039;&#039;display=inline,title&#039;&#039;.  Please do not be [[ایران‌پدیا:ویکی‌پروژه مختصات‌دهی|overly precise]].&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{توضیحات|content={{الگوهای پیامی میکروفرمت}}}}&lt;br /&gt;
&lt;br /&gt;
[[رده:الگو:پیامی میکروفرمت]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack/%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA&amp;diff=36199</id>
		<title>الگو:Infobox civilian attack/توضیحات</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack/%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA&amp;diff=36199"/>
		<updated>2019-03-20T10:22:44Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{زیرصفحه توضیحات}}&lt;br /&gt;
&amp;lt;!-- رده‌ها و میان‌ویکی‌ها در انتهای صفحه. --&amp;gt;&lt;br /&gt;
این الگو برای استفاد از پارامترهای انگلیسی در نظر گرفته شده است. برای استفاده از الگوی فارسی {{الگو|جعبه اطلاعات حمله به غیرنظامی}} را ببینید.&lt;br /&gt;
&lt;br /&gt;
== استفاده ==&lt;br /&gt;
{{Parameter names example|title|native_name|partof|image|image_size|alt|caption|map|map_size|map_alt|map_caption|location|coordinates|date|time|time-begin|time-end|timezone|target|type|weapon|weapons|fatalities|injuries|victims|victim|perps|perp|perpetrators|perpetrator|susperps|susperp|numparts|numpart|dfens|dfen|motive|website|notes}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title       = &lt;br /&gt;
| partof      = &lt;br /&gt;
| image       = &lt;br /&gt;
| image_size  = &lt;br /&gt;
| alt         = &lt;br /&gt;
| caption     = &lt;br /&gt;
| map         = &lt;br /&gt;
| map_size    = &lt;br /&gt;
| map_alt     = &lt;br /&gt;
| map_caption = &lt;br /&gt;
| location    = &lt;br /&gt;
| target      = &lt;br /&gt;
| coordinates = &lt;br /&gt;
| date        = &amp;lt;!-- {{تاریخ آغاز|YYYY|MM|DD}}-&amp;lt;br /&amp;gt;{{تاریخ پایان|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
| time        = &lt;br /&gt;
| timezone    = &lt;br /&gt;
| type        = &lt;br /&gt;
| fatalities  = &lt;br /&gt;
| injuries    = &lt;br /&gt;
| victims     = &amp;lt;!-- or | victim = --&amp;gt;&lt;br /&gt;
| perpetrators= &amp;lt;!-- or | perpetrator = --&amp;gt; &amp;lt;!-- alias: | perps = or | perp = --&amp;gt;&lt;br /&gt;
| assailants  = &amp;lt;!-- or | assailant = --&amp;gt;&lt;br /&gt;
| susperps    = &amp;lt;!-- or | susperp = --&amp;gt;&lt;br /&gt;
| weapons     = &lt;br /&gt;
| numparts    = &amp;lt;!-- or | numpart = --&amp;gt;&lt;br /&gt;
| dfens       = &amp;lt;!-- or | dfen = --&amp;gt;&lt;br /&gt;
| motive      = &lt;br /&gt;
| inquiry     = &lt;br /&gt;
| coroner     = &lt;br /&gt;
| accused     = &lt;br /&gt;
| convicted   = &lt;br /&gt;
| verdict     = &lt;br /&gt;
| convictions = &lt;br /&gt;
| charges     = &lt;br /&gt;
| litigation  = &lt;br /&gt;
| website     = &amp;lt;!-- {{نشانی وب|example.com}} --&amp;gt;&lt;br /&gt;
| module      =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== نمونه==&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title = 1993 World Trade Center bombing&lt;br /&gt;
| image = WTC 1993 ATF Commons.jpg&lt;br /&gt;
| caption = Underground damage after the bombing&lt;br /&gt;
| location = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]], New York City, United States&lt;br /&gt;
| coordinates = {{Coord|40.711452|N|74.011919|W|region:US-NY_type:event|display=title,inline}}&lt;br /&gt;
| target = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]]&lt;br /&gt;
| date = February 26, 1993&lt;br /&gt;
| time = 12:17:37 p.m.&lt;br /&gt;
| timezone = [[یوتی‌سی ۵:۰۰-]]&lt;br /&gt;
| type = [[خودرو انفجاری|Truck bombing]], [[کشتار جمعی]]&lt;br /&gt;
| fatalities = 6&lt;br /&gt;
| injuries = 1,042&lt;br /&gt;
| perp = [[القاعده]]&lt;br /&gt;
| assailants = [[Ramzi Yousef]], [[Eyad Ismoil]], and co-conspirators&lt;br /&gt;
| motive = [[بنیادگرایی اسلامی]], [[سیاست خارجی ایالات متحده آمریکا]], [[Israel–United States military relations#Military aid and procurement|U.S. support for Israel]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title = 1993 World Trade Center bombing&lt;br /&gt;
| image = WTC 1993 ATF Commons.jpg&lt;br /&gt;
| caption = Underground damage after the bombing&lt;br /&gt;
| location = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]], New York City, United States&lt;br /&gt;
| coordinates = {{Coord|40.711452|N|74.011919|W|region:US-NY_type:event|display=title,inline}}&lt;br /&gt;
| target = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]]&lt;br /&gt;
| date = February 26, 1993&lt;br /&gt;
| time = 12:17:37 p.m.&lt;br /&gt;
| timezone = [[یوتی‌سی ۵:۰۰-]]&lt;br /&gt;
| type = [[خودرو انفجاری|Truck bombing]], [[کشتار جمعی]]&lt;br /&gt;
| fatalities = 6&lt;br /&gt;
| injuries = 1,042&lt;br /&gt;
| perp = [[القاعده]]&lt;br /&gt;
| assailants = [[Ramzi Yousef]], [[Eyad Ismoil]], and co-conspirators&lt;br /&gt;
| motive = [[بنیادگرایی اسلامی]], [[سیاست خارجی ایالات متحده آمریکا]], [[Israel–United States military relations#Military aid and procurement|U.S. support for Israel]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For all fields, no wikilinks are automatically incorporated into the infobox. Therefore, if you want anything to be linked to something else, they must be added when including the template.&lt;br /&gt;
&lt;br /&gt;
== Required fields ==&lt;br /&gt;
{{چپ‌چین}}&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; – A title for the attack; most likely this will match the article title, but you can change it to something slightly different if the title is a little over-descriptive&lt;br /&gt;
* &#039;&#039;&#039;location&#039;&#039;&#039; – The physical place, perhaps a specific airplane or building (multiple targets are allowed, of course), including the city, where the attack occurred; including the country is preferred for cities; including the province or state is discouraged unless necessary or well-known:&lt;br /&gt;
:* &#039;&#039;&#039;Major, international cities:&#039;&#039;&#039; Tokyo is okay, but Tokyo, Japan is preferred unless it compromises stylistic appearance&lt;br /&gt;
:* &#039;&#039;&#039;Major cities in well-known provinces:&#039;&#039;&#039; [[تورنتو]], [[انتاریو]], [[کانادا]] is unnecessarily specific; [[تورنتو]], Ontario or [[تورنتو]], Canada is preferred (although Toronto is okay)&lt;br /&gt;
:* &#039;&#039;&#039;Cities with relative international anonymity:&#039;&#039;&#039; [[بسلان]] is not good due to the city&#039;s relative anonymity; [[بسلان]], Russia is preferred; [[بسلان]], [[اوستیای شمالی-آلانیا]] is discouraged; [[بسلان]], [[اوستیای شمالی-آلانیا]], Russia is unnecessarily specific&lt;br /&gt;
:* &#039;&#039;&#039;Cities with common names:&#039;&#039;&#039; [[پورتلند، اورگن|Portland]] is not good; [[پورتلند، اورگن|Portland]], U.S. is not good either; [[پورتلند، اورگن]] (well-known state) or [[پورتلند، اورگن]], U.S. is preferred&lt;br /&gt;
:  Will be fetched from Wikidata ({{Wikidata entity link|P276}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;date&#039;&#039;&#039; – The date of the attack; use {{پیوند الگو|start date}} to allow for users&#039; date preferences to go into effect and include the date in the hCalendar microformat (see below; use {{پیوند الگو|end date}} for multi-day events). Will be fetched from Wikidata ({{Wikidata entity link|P585}}, if available) if not locally set&lt;br /&gt;
{{پایان چپ‌چین}}&lt;br /&gt;
== Optional fields ==&lt;br /&gt;
{{چپ‌چین}}&lt;br /&gt;
* &#039;&#039;&#039;native_name&#039;&#039;&#039; – the native name of the event, if different&lt;br /&gt;
* &#039;&#039;&#039;native_name_lang&#039;&#039;&#039; – [[ایزو ۲–۶۳۹]] code for the native name e.g. &#039;fr&#039; for French.  For an event with more than one native name, use {{الگوب|lang|XX|...}} for each name with {{پیوند الگو|plainlist}} or {{پیوند الگو|unbulleted list}} separating the names.&lt;br /&gt;
* &#039;&#039;&#039;partof&#039;&#039;&#039; – a terror campaign containing the civilian attack event described in the article.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; – An image associated with the event; do not precede the image name with &#039;&#039;Image:&#039;&#039; or &#039;&#039;File:&#039;&#039;. Will be fetched from Wikidata ({{Wikidata entity link|P18}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;image_size&#039;&#039;&#039; – Size of main image in pixels (&#039;&#039;&#039;Do not include &amp;quot;px&amp;quot;&#039;&#039;&#039;). Default 250. Example format — image_size = 150&lt;br /&gt;
* &#039;&#039;&#039;alt&#039;&#039;&#039; – Alt text for the image, for visually impaired readers. See [[ایران‌پدیا:متن جایگزین برای تصاویر]]. This should be specified if &#039;&#039;&#039;image&#039;&#039;&#039; is specified.&lt;br /&gt;
* &#039;&#039;&#039;caption&#039;&#039;&#039; – A caption for the image. Will be fetched from Wikidata ({{Wikidata entity link|P2096}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;map&#039;&#039;&#039; – A {{پیوند الگو|location map}} or map image&lt;br /&gt;
* &#039;&#039;&#039;map_caption&#039;&#039;&#039; – A caption for the map&lt;br /&gt;
* &#039;&#039;&#039;target&#039;&#039;&#039; – The target and/or purpose of the attack&lt;br /&gt;
* &#039;&#039;&#039;coordinates&#039;&#039;&#039; – geographical coordinates. Use {{پیوند الگو|coord}} with &#039;&#039;|display=inline,title&#039;&#039;.  Will be fetched from Wikidata ({{Wikidata entity link|P625}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;time&#039;&#039;&#039; – The time of the attack, or of multiple attacks if they all occurred at the same time (&#039;&#039;&#039;do not use this along with &#039;&#039;time-begin&#039;&#039; and &#039;&#039;time-end&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;time-begin&#039;&#039;&#039; and &#039;&#039;&#039;time-end&#039;&#039;&#039; – The start and end times, respectively, if a series of attacks (&#039;&#039;&#039;do not use this along with &#039;&#039;time&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;timezone&#039;&#039;&#039; – The timezone of the location of the attack(s); UTC+X, UTC−X, or UTC (i.e. offset from [[ساعت هماهنگ جهانی]]) preferred&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; – The type of attack (e.g. [[حمله انتحاری]], [[تیراندازی کور]], etc.)&lt;br /&gt;
* &#039;&#039;&#039;weapons&#039;&#039;&#039; – Weapons used in attacks (this field should not be over-used)&lt;br /&gt;
* &#039;&#039;&#039;fatalities&#039;&#039;&#039; – Number of people killed during attack(s); optionally, you can split this into different types of people (e.g. &#039;&#039;121 passengers, 21 crew&#039;&#039; or &#039;&#039;3 soldiers, 1 civilian&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;injuries&#039;&#039;&#039; – Number of people injured (excludes those killed) during attack(s)&lt;br /&gt;
* &#039;&#039;&#039;victims&#039;&#039;&#039; – i.e. hostages, etc. (use &#039;&#039;&#039;victim&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;perpetrators&#039;&#039;&#039; – The group that brings about or carries out a harmful, illegal, or immoral act (use &#039;&#039;&#039;perpetrator&#039;&#039;&#039; in case of a single group). Aliases: &#039;&#039;&#039;perp&#039;&#039;&#039; and &#039;&#039;&#039;perps&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;assailants&#039;&#039;&#039; – Those responsible for physically attacking others. (use &#039;&#039;&#039;assailant&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;susperps&#039;&#039;&#039; – Those who are currently believed to have committed the attack(s) (use &#039;&#039;&#039;susperp&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;numparts&#039;&#039;&#039; – Number of participants in the attack on the part of the perps (use &#039;&#039;&#039;numpart&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;dfens&#039;&#039;&#039; – Those who defended or repelled the attack, or were responsible for the immediate aftermath (use &#039;&#039;&#039;defen&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;motive&#039;&#039;&#039; – The motive, the reason why the attack was carried out&lt;br /&gt;
* &#039;&#039;&#039;website&#039;&#039;&#039; – Official websites (e.g. inquests/ inquiries, trials, commemoration or memorials) only. Use {{پیوند الگو|URL}}&lt;br /&gt;
* &#039;&#039;&#039;module&#039;&#039;&#039; – See [[#Embedding other templates|Embedding other templates]]&lt;br /&gt;
* &#039;&#039;&#039;inquiry&#039;&#039;&#039; - May be an [[inquest]] or other official inquiry&lt;br /&gt;
* &#039;&#039;&#039;coroner&#039;&#039;&#039; - Where coronial, the coroner appointed&lt;br /&gt;
* &#039;&#039;&#039;accused&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;convicted&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;verdict&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;convictions&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;charges&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;litigation&#039;&#039;&#039;&lt;br /&gt;
{{پایان چپ‌چین}}&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
{{UF-coord}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- رده‌ها و میان‌ویکی در اینجا: --&amp;gt;&lt;br /&gt;
[[رده:الگو:جعبه اطلاعات حقوق|Civilian attack]]&lt;br /&gt;
[[رده:الگو:جعبه اطلاعات رویداد|Civilian attack]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36197</id>
		<title>پودمان:WikidataIB</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:WikidataIB&amp;diff=36197"/>
		<updated>2019-03-20T10:22:00Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Module to try out use of a blacklist and whitelist for infobox fields&lt;br /&gt;
-- can take a named parameter |qid which is the Wikidata ID for the article. This will not normally be used&lt;br /&gt;
-- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances&lt;br /&gt;
-- Fields in whitelist return local value if it exists or the Wikidata value otherwise&lt;br /&gt;
-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
-- The name is compulsory when blacklist or whitelist is used, so the module returns nil if it is not supplied&lt;br /&gt;
-- blacklist is passed in named parameter |suppressfields&lt;br /&gt;
-- whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local i18n =&lt;br /&gt;
{&lt;br /&gt;
    [&amp;quot;errors&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
        [&amp;quot;property-not-found&amp;quot;] = &amp;quot;Property not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;entity-not-found&amp;quot;] = &amp;quot;Wikidata entity not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;Unknown claim type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;Unknown entity type.&amp;quot;,&lt;br /&gt;
        [&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;Qualifier not found.&amp;quot;,&lt;br /&gt;
        [&amp;quot;site-not-found&amp;quot;] = &amp;quot;Wikimedia project not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;Unknown datetime format.&amp;quot;,&lt;br /&gt;
		[&amp;quot;local-article-not-found&amp;quot;] = &amp;quot;Article is available on Wikidata, but not on Iranpedia&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    [&amp;quot;months&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
    	&amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;, &amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Private functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate takes a datetime of the usual format from mw.wikibase.entity:formatPropertyValues&lt;br /&gt;
-- like &amp;quot;1 August 30 BCE&amp;quot; as parameter 1 and formats it according to the df (date format) and bc parameters&lt;br /&gt;
-- df = [&amp;quot;dmy&amp;quot; / &amp;quot;mdy&amp;quot; / &amp;quot;y&amp;quot;] default will be &amp;quot;dmy&amp;quot;&lt;br /&gt;
-- bc = [&amp;quot;BC&amp;quot; / &amp;quot;BCE&amp;quot;] default will be &amp;quot;BCE&amp;quot;&lt;br /&gt;
-- first the local version&lt;br /&gt;
local format_Date = function(datetime, dateformat, bc)&lt;br /&gt;
	local datetime = datetime or &amp;quot;1 August 30 BCE&amp;quot; -- in case of nil value&lt;br /&gt;
	-- chop off multiple vales and/or any hours, mins, etc.&lt;br /&gt;
	-- keep anything before punctuation - we just want a single date:&lt;br /&gt;
	local dateval = string.match( datetime, &amp;quot;[%w ]+&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local dateformat = string.lower(dateformat or &amp;quot;dmy&amp;quot;) -- default to dmy&lt;br /&gt;
	&lt;br /&gt;
	local bc = string.upper(bc or &amp;quot;&amp;quot;) -- can&#039;t use nil for bc&lt;br /&gt;
	-- we only want to accept two possibilities: BC or default to BCE&lt;br /&gt;
	if bc==&amp;quot;BC&amp;quot; then&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BC&amp;quot; -- prepend the space. **internationalise later**&lt;br /&gt;
	else&lt;br /&gt;
		bc = &amp;quot;&amp;amp;nbsp;BCE&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local postchrist = true -- start by assuming no BCE&lt;br /&gt;
	local dateparts = {}&lt;br /&gt;
	for word in string.gmatch(dateval, &amp;quot;%w+&amp;quot;) do&lt;br /&gt;
		if word == &amp;quot;BCE&amp;quot; or word == &amp;quot;BC&amp;quot; then -- **internationalise later**&lt;br /&gt;
			postchrist = false&lt;br /&gt;
		else&lt;br /&gt;
			-- we&#039;ll keep the parts that are not &#039;BCE&#039; in a table&lt;br /&gt;
			dateparts[#dateparts + 1] =  word&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if postchrist then bc = &amp;quot;&amp;quot; end -- set AD dates to no suffix **internationalise later**&lt;br /&gt;
	&lt;br /&gt;
	local sep = &amp;quot;&amp;amp;nbsp;&amp;quot; -- separator is nbsp&lt;br /&gt;
	local fdate = table.concat(dateparts, &amp;quot;&amp;amp;nbsp;&amp;quot;) -- formatted date defaults to same order as input&lt;br /&gt;
	&lt;br /&gt;
	-- if we have day month year, check dateformat&lt;br /&gt;
	if #dateparts == 3 then&lt;br /&gt;
		if dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
			fdate = dateparts[3]&lt;br /&gt;
		elseif dateformat == &amp;quot;mdy&amp;quot; then&lt;br /&gt;
			fdate = dateparts[2] .. sep .. dateparts[1] .. &amp;quot;,&amp;quot; .. sep .. dateparts[3]&lt;br /&gt;
		end&lt;br /&gt;
	elseif #dateparts == 2 and dateformat == &amp;quot;y&amp;quot; then&lt;br /&gt;
		fdate = dateparts[2]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return fdate .. bc&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- parseParam takes a (string) parameter, e.g. from the list of frame arguments,&lt;br /&gt;
-- and makes &amp;quot;false&amp;quot;, &amp;quot;no&amp;quot;, and &amp;quot;0&amp;quot; into the (boolean) false&lt;br /&gt;
-- it makes the empty string and nil into the (boolean) value passed as default&lt;br /&gt;
-- allowing the parameter to be true or false by default.&lt;br /&gt;
local parseParam = function(param, default)&lt;br /&gt;
	if param and (#param &amp;gt; 0) then&lt;br /&gt;
		param = param:lower()&lt;br /&gt;
		if (param == &amp;quot;false&amp;quot;) or (param == &amp;quot;no&amp;quot;) or (param == &amp;quot;0&amp;quot;) then&lt;br /&gt;
			return false&lt;br /&gt;
		else&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return default&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- The label in a Wikidata item is subject to vulnerabilities &lt;br /&gt;
-- that an attacker might try to exploit.&lt;br /&gt;
-- It needs to be &#039;sanitised&#039; by removing any wikitext before use.&lt;br /&gt;
-- If it doesn&#039;t exist, just return the id for the item&lt;br /&gt;
local labelOrId = function (id)&lt;br /&gt;
	local label = mw.wikibase.label(id)&lt;br /&gt;
	if label then&lt;br /&gt;
		return mw.text.nowiki(label)&lt;br /&gt;
	else&lt;br /&gt;
		return id&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- sourced takes a table representing a statement that may or may not have references&lt;br /&gt;
-- it counts how many references are sourced to something not contianing the word &amp;quot;iranpedia&amp;quot;&lt;br /&gt;
-- the reference string &amp;quot;ref&amp;quot; is available for debugging&lt;br /&gt;
-- it returns a boolean = true if there are any sourced references.&lt;br /&gt;
local sourced = function(claim)&lt;br /&gt;
	local refs = 0&lt;br /&gt;
	if claim.references then&lt;br /&gt;
		for kr, vr in pairs(claim.references) do&lt;br /&gt;
			local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
			if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return refs &amp;gt; 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- parseInput processes the Q-id , the blacklist and the whitelist&lt;br /&gt;
-- if an input parameter is supplied, it returns that and ends the call.&lt;br /&gt;
-- it returns a boolean indicating whether or not the call should continue&lt;br /&gt;
-- and an object containing all of the Wikidata for the Qid supplied or the current page&lt;br /&gt;
local parseInput = function(frame, input_parm, property_id)&lt;br /&gt;
	-- can take a named parameter |qid which is the Wikidata ID for the article.&lt;br /&gt;
	-- This will not normally be used because it&#039;s an expensive call.&lt;br /&gt;
	local qid = frame.args.qid&lt;br /&gt;
	if qid and (#qid == 0) then qid = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- The blacklist is passed in named parameter |suppressfields&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	&lt;br /&gt;
	-- The whitelist is passed in named parameter |fetchwikidata&lt;br /&gt;
	local whitelist = frame.args.fetchwikidata&lt;br /&gt;
	&lt;br /&gt;
	-- The name of the field that this function is called from is passed in named parameter |name&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist then&lt;br /&gt;
		-- The name is compulsory when blacklist is used, so return nil if it is not supplied&lt;br /&gt;
		if not fieldname or (#fieldname == 0) then return false, nil, nil end&lt;br /&gt;
		-- If this field is on the blacklist, then return nil&lt;br /&gt;
		if blacklist:find(fieldname) then return false, nil, nil end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- If we got this far then we&#039;re not on the blacklist&lt;br /&gt;
	-- The blacklist overrides any locally supplied parameter as well&lt;br /&gt;
	-- If a non-blank input parameter was supplied return it&lt;br /&gt;
	if input_parm then return false, input_parm, nil end&lt;br /&gt;
	&lt;br /&gt;
	-- Otherwise see if this field is on the whitelist:&lt;br /&gt;
	if not (whitelist and (whitelist == &#039;ALL&#039; or whitelist:find(fieldname))) then&lt;br /&gt;
		-- not on the whitelist so just return what should be a nil input parameter&lt;br /&gt;
		return false, input_parm, nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- See what&#039;s on Wikidata:&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(qid)&lt;br /&gt;
	if entity and entity.claims then&lt;br /&gt;
		local props = entity.claims[property_id]&lt;br /&gt;
		if props and props[1] then &lt;br /&gt;
			return true, entity, props&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- no property on Wikidata&lt;br /&gt;
	return false, input_parm, nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _getvalue(frame, entity, props, filter, propertyID) &lt;br /&gt;
	-- onlysourced is a boolean passed to return only values sourced to other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it true&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced, true)&lt;br /&gt;
	&lt;br /&gt;
	-- noicon is a boolean passed to suppress the trailing &amp;quot;edit at Wikidata&amp;quot; icon&lt;br /&gt;
	-- for use when the value is processed further by the infobox&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local noic = parseParam(frame.args.noicon, false)&lt;br /&gt;
	&lt;br /&gt;
	-- wdlinks is a boolean passed to enable links to Wikidata when no article exists&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local wdl = parseParam(frame.args.wdlinks, false)&lt;br /&gt;
	&lt;br /&gt;
	-- sorted is a boolean passed to enable sorting of the values returned&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or &amp;quot;0&amp;quot; is passed set it false&lt;br /&gt;
	local sorted = parseParam(frame.args.sorted, false)&lt;br /&gt;
	&lt;br /&gt;
	-- separator is a string that is used to separate multiple returned values&lt;br /&gt;
	-- if nothing or an empty string is passed set it to the default&lt;br /&gt;
	-- any double-quotes &amp;quot; are stripped out, so that spaces may be passed&lt;br /&gt;
	-- e.g. |sep=&amp;quot; - &amp;quot;&lt;br /&gt;
	local sepdefault = &amp;quot;, &amp;quot; -- **internationalise later**&lt;br /&gt;
	local separator = frame.args.sep or &amp;quot;&amp;quot;&lt;br /&gt;
	separator = string.gsub(separator, &#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	if #separator == 0 then&lt;br /&gt;
		separator = sepdefault&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- list is a string that may be &amp;quot;&amp;quot;, &amp;quot;hlist&amp;quot; or &amp;quot;ubl&amp;quot;&lt;br /&gt;
	-- this controls whether multiple values are output as comma-separated&lt;br /&gt;
	-- as a horizontal list (hlist) or unbulleted list (ubl)&lt;br /&gt;
	local list = frame.args.list or &amp;quot;&amp;quot;&lt;br /&gt;
	if list~=&amp;quot;hlist&amp;quot; and list~=&amp;quot;ubl&amp;quot; then list = &amp;quot;&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	-- So now we have something to return: deal with (1) a Wikibase-entity; (3) a date; (3) anything else&lt;br /&gt;
	local lang = mw.language.getContentLanguage().code&lt;br /&gt;
	local thisQid = entity.id&lt;br /&gt;
	-- table &#039;out&#039; is going to to store the return value(s):&lt;br /&gt;
	local out = {}&lt;br /&gt;
	local icon = &amp;quot; [[File:Blue pencil.svg |frameless |text-top |10px |alt=Edit this on Wikidata |link=https://www.wikidata.org/wiki/&amp;quot; .. thisQid .. &amp;quot;?uselang=&amp;quot; .. lang .. &amp;quot;#&amp;quot; .. propertyID .. &amp;quot;|Edit this on Wikidata]]&amp;quot;&lt;br /&gt;
	if props[1].mainsnak.datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
		-- it&#039;s wiki-linked value, so output as link if possible&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then -- has valid refs or all values required&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local qnumber = &amp;quot;Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
					local sitelink = mw.wikibase.sitelink(qnumber)&lt;br /&gt;
					local label = labelOrId(qnumber)&lt;br /&gt;
					if sitelink then&lt;br /&gt;
						out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
					else&lt;br /&gt;
						-- no sitelink, so check first for a redirect with that label&lt;br /&gt;
						local artitle = mw.title.new(label, 0)&lt;br /&gt;
						if artitle.id &amp;gt; 0 then&lt;br /&gt;
							if artitle.isRedirect then&lt;br /&gt;
								-- no sitelink, but there&#039;s a redirect with the same title as the label&lt;br /&gt;
								-- let&#039;s link to that&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[&amp;quot; .. label .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no sitelink and not a redirect but an article exists with the same title as the label&lt;br /&gt;
								-- that&#039;s probably a dab page, so output the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						else&lt;br /&gt;
							-- no article or redirect with the same title as the label&lt;br /&gt;
							if wdl then&lt;br /&gt;
								-- show that there&#039;s a Wikidata entry available&lt;br /&gt;
								out[#out + 1] = &amp;quot;[[:d:Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;] .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
							else&lt;br /&gt;
								-- no wikidata links required, so just give the plain label&lt;br /&gt;
								out[#out + 1] = label&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif props[1].mainsnak.datatype == &amp;quot;time&amp;quot; then&lt;br /&gt;
		-- it&#039;s a date value, so output according to formatting preferences&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references, and count valid references&lt;br /&gt;
			if filter(v) and ((onlysrc == false) or sourced(v)) then&lt;br /&gt;
				if v.mainsnak.snaktype == &amp;quot;somevalue&amp;quot; then -- check for value is unknown&lt;br /&gt;
					out[#out + 1] = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
				elseif v.mainsnak.snaktype == &amp;quot;novalue&amp;quot; then -- check for value is none&lt;br /&gt;
					-- out[#out + 1] = &amp;quot;No value&amp;quot; -- don&#039;t return a value for this&lt;br /&gt;
				else&lt;br /&gt;
					local timestamp = v.mainsnak.datavalue.value.time&lt;br /&gt;
					-- A year can be stored like this: &amp;quot;+1872-00-00T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- which is processed here as if it were the day before &amp;quot;+1872-01-01T00:00:00Z&amp;quot;,&lt;br /&gt;
					-- and that&#039;s the last day of 1871, so the year is wrong.&lt;br /&gt;
					-- So fix the month 0, day 0 timestamp to become 1 January instead:&lt;br /&gt;
					timestamp = timestamp:gsub(&amp;quot;%-00%-00T&amp;quot;, &amp;quot;-01-01T&amp;quot;)&lt;br /&gt;
					local dateprecision = v.mainsnak.datavalue.value.precision&lt;br /&gt;
					local dateformat = &amp;quot;y&amp;quot;&lt;br /&gt;
					local fpvdate = tonumber(timestamp:sub(2, 5))&lt;br /&gt;
					if timestamp:sub(1, 1) == &amp;quot;-&amp;quot; then&lt;br /&gt;
						fpvdate = fpvdate .. &amp;quot; BCE&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 9 then -- add month&lt;br /&gt;
						fpvdate = i18n.months[tonumber(timestamp:sub(7, 8))] .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
						dateformat = frame.args.df&lt;br /&gt;
					end&lt;br /&gt;
					if dateprecision &amp;gt; 10 then -- add day&lt;br /&gt;
							fpvdate = tonumber(timestamp:sub(10, 11)) .. &amp;quot; &amp;quot; .. fpvdate&lt;br /&gt;
					end&lt;br /&gt;
					out[#out+1] = format_Date(fpvdate, dateformat, frame.args.bc)&lt;br /&gt;
				end -- check for unknown value&lt;br /&gt;
			end -- check for sourced&lt;br /&gt;
		end -- loop through k-v pairs&lt;br /&gt;
	else&lt;br /&gt;
		-- not a linkable article title or a date&lt;br /&gt;
		-- this needs to be expanded to cater for multiple values&lt;br /&gt;
		local reflist = &amp;quot;&amp;quot;&lt;br /&gt;
		local refs = 0&lt;br /&gt;
		for k, v in pairs(props) do&lt;br /&gt;
			-- check for references,&lt;br /&gt;
			-- construct a reference list for debugging&lt;br /&gt;
			-- and count valid references&lt;br /&gt;
			if v.references then&lt;br /&gt;
				for kr, vr in pairs(v.references) do&lt;br /&gt;
					local ref = mw.wikibase.renderSnaks(vr.snaks)&lt;br /&gt;
					reflist = reflist .. &amp;quot; &amp;lt;span style=&#039;color:#0DD;&#039;&amp;gt;&amp;quot; .. ref .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
					if not ref:find(&amp;quot;Iranpedia&amp;quot;) then refs = refs + 1 end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local propertyValue = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		if (refs &amp;gt; 0) or (onlysrc == false) then -- has valid refs or all values required&lt;br /&gt;
			out[#out+1] = propertyValue&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- if there&#039;s anything to return, then return a list&lt;br /&gt;
	-- comma-separated by default, but may be specified by the sep parameter&lt;br /&gt;
	-- optionally specify a hlist or &lt;br /&gt;
	if #out &amp;gt; 0 then&lt;br /&gt;
		if sorted then table.sort(out) end&lt;br /&gt;
		if list == &amp;quot;hlist&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Hlist&#039;, args = out}&lt;br /&gt;
		elseif list == &amp;quot;ubl&amp;quot; then&lt;br /&gt;
			return frame:expandTemplate{title = &#039;Unbulleted list&#039;, args = out}&lt;br /&gt;
		else&lt;br /&gt;
			if noic then&lt;br /&gt;
				return table.concat(out, separator)&lt;br /&gt;
			else&lt;br /&gt;
				return table.concat(out, separator) .. icon&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return nil -- no items had valid reference&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Public functions&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
p.getValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getPreferredValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- If preferred ranks are set, it will return those values, otherwise values with normal ranks&lt;br /&gt;
--&lt;br /&gt;
p.getPreferredValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- There may be a local parameter supplied, if it&#039;s blank, set it to nil&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame, input_parm, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		entity = errorOrEntity&lt;br /&gt;
	end&lt;br /&gt;
	local prefflag = false&lt;br /&gt;
	for k, v in pairs(props) do&lt;br /&gt;
		if v.rank == &amp;quot;preferred&amp;quot; then &lt;br /&gt;
			prefflag = true &lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local function filter(claim)&lt;br /&gt;
		return claim.rank == &amp;quot;preferred&amp;quot; or prefflag == false&lt;br /&gt;
	end&lt;br /&gt;
	return _getvalue(frame, entity, props, filter, propertyID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getSourcedValue is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- but only values that are sourced are returned&lt;br /&gt;
-- redundant to getValue with onlysourced=true but kept for backwards compatibility&lt;br /&gt;
-- now defined via getValue&lt;br /&gt;
--&lt;br /&gt;
p.getSourcedValue = function(frame)&lt;br /&gt;
	frame.args.onlysourced = &amp;quot;yes&amp;quot;&lt;br /&gt;
	return p.getValue(frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getCoords is used to get coordinates for display in an infobox&lt;br /&gt;
-- whitelist and blacklist are implemented&lt;br /&gt;
-- optional &#039;display&#039; parameter is allowed, defaults to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.getCoords = function(frame)&lt;br /&gt;
	local propertyID = &amp;quot;P625&amp;quot;&lt;br /&gt;
	local input_parm =  mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm and (#input_parm == 0) then input_parm = nil end&lt;br /&gt;
	&lt;br /&gt;
	-- if there is a &#039;display&#039; parameter supplied, use it&lt;br /&gt;
	-- otherwise default to &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	local disp = frame.args.display&lt;br /&gt;
	if (not disp) or (#disp == 0) then&lt;br /&gt;
		disp = &amp;quot;inline, title&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity = parseInput(frame, input_parm, property_id)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		local lat_long = {}&lt;br /&gt;
		local coords = entity:formatPropertyValues(propertyID).value&lt;br /&gt;
		-- the latitude and longitude are returned like this: nn°nn&amp;amp;#39;nn.n&amp;amp;#34;&lt;br /&gt;
		-- using html entities with hex values really screws up parsing the numbers - thanks devs&lt;br /&gt;
		local lat = mw.ustring.match(coords, &amp;quot;^[^,]*&amp;quot;)  -- everything from the start to before the comma&lt;br /&gt;
		local long = mw.ustring.match(coords, &amp;quot;[^ ]*$&amp;quot;) -- everything from after the space to the end&lt;br /&gt;
		lat = lat:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                  -- clean out the html entities&lt;br /&gt;
		long = long:gsub(&amp;quot;&amp;amp;#%d%d;&amp;quot;, &amp;quot;:&amp;quot;)                -- clean out the html entities&lt;br /&gt;
		-- read the latitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(lat, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
  			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add the N/S&lt;br /&gt;
		lat_long[#lat_long + 1] = lat:sub(-1)&lt;br /&gt;
		-- read the longitude numbers into a table&lt;br /&gt;
		for num in mw.ustring.gmatch(long, &amp;quot;%d+%.?%d*&amp;quot;) do&lt;br /&gt;
			lat_long[#lat_long + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		-- add E/W for long&lt;br /&gt;
		lat_long[#lat_long + 1] = long:sub(-1)&lt;br /&gt;
		-- add named parameter for display&lt;br /&gt;
		lat_long[&amp;quot;display&amp;quot;] = disp&lt;br /&gt;
		-- invoke template Coord with the values stored in the table&lt;br /&gt;
		return frame:expandTemplate{title = &#039;coord&#039;, args = lat_long}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getQualifierValue is used to get a formatted value of a qualifier&lt;br /&gt;
-- &lt;br /&gt;
-- The call needs:	a property (the unnamed parameter or 1=)&lt;br /&gt;
-- 					a target value for that property (pval=)&lt;br /&gt;
--					a qualifier for that target value (qual=)&lt;br /&gt;
-- The usual whitelisting and blacklisting of the property is implemented&lt;br /&gt;
-- The boolean onlysourced= parameter can be set to return nothing&lt;br /&gt;
-- when the property is unsourced (or only sourced to Iranpedia)&lt;br /&gt;
-- &lt;br /&gt;
p.getQualifierValue = function(frame)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- The PropertyID of the target value of the property&lt;br /&gt;
	-- whose qualifier is to be returned is passed in named parameter |pval=&lt;br /&gt;
	local propvalue = frame.args.pval&lt;br /&gt;
	&lt;br /&gt;
	-- The PropertyID of the qualifier&lt;br /&gt;
	-- whose value is to be returned is passed in named parameter |qual=&lt;br /&gt;
	local qualifierID = frame.args.qual&lt;br /&gt;
&lt;br /&gt;
	-- onlysourced is a boolean passed to return qualifiers&lt;br /&gt;
	-- only when property values are sourced to something other than Iranpedia&lt;br /&gt;
	-- if nothing or an empty string is passed set it false&lt;br /&gt;
	-- if &amp;quot;false&amp;quot; or &amp;quot;no&amp;quot; or 0 is passed set it false&lt;br /&gt;
	local onlysrc = parseParam(frame.args.onlysourced,false)&lt;br /&gt;
	&lt;br /&gt;
	local success, errorOrEntity, props = parseInput(frame,nil, propertyID)&lt;br /&gt;
	if not success then&lt;br /&gt;
		return errorOrEntity&lt;br /&gt;
	else&lt;br /&gt;
		local entity = errorOrEntity&lt;br /&gt;
		-- Scan through the values of the property&lt;br /&gt;
		-- we want something like property is P793, significant event (in propertyID)&lt;br /&gt;
		-- whose value is something like Q385378, construction (in propvalue)&lt;br /&gt;
		-- then we can return the value(s) of a qualifier such as P580, start time (in qualifierID)&lt;br /&gt;
		for k1, v1 in pairs(props) do&lt;br /&gt;
			if v1.mainsnak.snaktype == &amp;quot;value&amp;quot; and v1.mainsnak.datavalue.type == &amp;quot;wikibase-entityid&amp;quot; then&lt;br /&gt;
				-- It&#039;s a wiki-linked value, so check if it&#039;s the target (in propvalue)&lt;br /&gt;
				-- and if it has qualifiers&lt;br /&gt;
				if v1.mainsnak.datavalue.value.id == propvalue and v1.qualifiers then&lt;br /&gt;
					if (onlysrc == true) and not sourced(v1) then&lt;br /&gt;
						return&lt;br /&gt;
					end&lt;br /&gt;
					-- if we&#039;ve got this far, we have a (sourced) claim with qualifiers&lt;br /&gt;
					-- which matches the target, so find the value(s) of the qualifier we want&lt;br /&gt;
					local quals = v1.qualifiers[qualifierID]&lt;br /&gt;
					local out = {}&lt;br /&gt;
					if quals then&lt;br /&gt;
						if quals[1].datatype == &amp;quot;wikibase-item&amp;quot; then&lt;br /&gt;
							for k2, v2 in pairs(quals) do&lt;br /&gt;
								local valueID = v2.datavalue.value.id&lt;br /&gt;
								local sitelink = mw.wikibase.sitelink(valueID)&lt;br /&gt;
								local label = labelOrId(valueID)&lt;br /&gt;
								if sitelink then&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
								else&lt;br /&gt;
									out[#out + 1] = &amp;quot;[[:d:&amp;quot; .. valueID .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;amp;nbsp;&amp;lt;span title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[[File:Wikidata-logo.svg|16px|alt=|link=]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
							return table.concat(out, &amp;quot;, &amp;quot;)&lt;br /&gt;
						else&lt;br /&gt;
							return mw.wikibase.renderSnaks(quals)&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end -- of loop through values of propertyID&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLink returns the label for a Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid wiki-linked to the local article (if the article exists)&lt;br /&gt;
--&lt;br /&gt;
p.getLink = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	local sitelink = mw.wikibase.sitelink(itemID)&lt;br /&gt;
	local label = labelOrId(itemID)&lt;br /&gt;
	if sitelink then&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return label&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getLabel returns the label for a Qid&lt;br /&gt;
-- if label doesn&#039;t exist, it returns the Qid&lt;br /&gt;
--&lt;br /&gt;
p.getLabel = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return labelOrId(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- getAT returns the article title for a Qid&lt;br /&gt;
-- or nothing if it doesn&#039;t exist&lt;br /&gt;
--&lt;br /&gt;
p.getAT = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then return end&lt;br /&gt;
	return mw.wikibase.sitelink(itemID)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- formatDate is a wrapper to export the private function format_Date&lt;br /&gt;
--&lt;br /&gt;
p.formatDate = function(frame)&lt;br /&gt;
	return format_Date(frame.args[1], frame.args.df, frame.args.bc)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- checkBlacklist allows a test to check whether a named field is suppressed&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Joe |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;blacklisted&amp;quot;&lt;br /&gt;
-- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Jim |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}}&lt;br /&gt;
-- displays &amp;quot;not blacklisted&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
p.checkBlacklist = function(frame)&lt;br /&gt;
	local blacklist = frame.args.suppressfields&lt;br /&gt;
	local fieldname = frame.args.name&lt;br /&gt;
	if blacklist and fieldname then&lt;br /&gt;
		if blacklist:find(fieldname) then return nil end&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Wikibase&amp;diff=36195</id>
		<title>پودمان:Wikibase</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Wikibase&amp;diff=36195"/>
		<updated>2019-03-20T10:22:00Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Module:Wikibase&lt;br /&gt;
local p = {}&lt;br /&gt;
 &lt;br /&gt;
-- Return the item ID of the item linked to the current page.&lt;br /&gt;
function p.id(frame)&lt;br /&gt;
        if not mw.wikibase then&lt;br /&gt;
           return &amp;quot;wikibase module not found&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
 &lt;br /&gt;
        entity = mw.wikibase.getEntityObject()&lt;br /&gt;
 &lt;br /&gt;
        if entity == nil then&lt;br /&gt;
           return &amp;quot;(no item connected)&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
 &lt;br /&gt;
        return entity.id&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
-- Return the label of a given data item.&lt;br /&gt;
function p.label(frame)&lt;br /&gt;
        if frame.args[1] == nil then&lt;br /&gt;
            entity = mw.wikibase.getEntityObject()&lt;br /&gt;
            if not entity then return nil end&lt;br /&gt;
 &lt;br /&gt;
            id = entity.id&lt;br /&gt;
        else&lt;br /&gt;
            id = frame.args[1]&lt;br /&gt;
        end&lt;br /&gt;
 &lt;br /&gt;
        return mw.wikibase.label( id )&lt;br /&gt;
end&lt;br /&gt;
-- Return commonswiki links&lt;br /&gt;
function p.linkscom(frame)&lt;br /&gt;
	    title = mw.title.getCurrentTitle()&lt;br /&gt;
	    if frame.args[2] == nil then&lt;br /&gt;
 			ahah = title.text&lt;br /&gt;
 		else&lt;br /&gt;
 			ahah = frame.args[2] end&lt;br /&gt;
 		ouput = &amp;quot;انبار|&amp;quot; .. frame.args[1] .. &amp;quot;|&amp;quot; .. ahah&lt;br /&gt;
	    if title.inNamespace( 0 ) then return ouput end&lt;br /&gt;
        entity = mw.wikibase.getEntityObject()&lt;br /&gt;
        if not entity then return ouput end&lt;br /&gt;
        if not entity.sitelinks.commonswiki.title then return ouput end&lt;br /&gt;
 		ouput = &amp;quot;انبار|&amp;quot; .. entity.sitelinks.commonswiki.title .. &amp;quot;|&amp;quot; .. ahah&lt;br /&gt;
        return ouput&lt;br /&gt;
end&lt;br /&gt;
-- Return the local page about a given data item.&lt;br /&gt;
function p.page(frame)&lt;br /&gt;
        if frame.args[1] == nil then&lt;br /&gt;
            entity = mw.wikibase.getEntityObject()&lt;br /&gt;
            if not entity then return nil end&lt;br /&gt;
 &lt;br /&gt;
            id = entity.id&lt;br /&gt;
        else&lt;br /&gt;
            id = frame.args[1]&lt;br /&gt;
        end&lt;br /&gt;
 &lt;br /&gt;
        return mw.wikibase.sitelink( id )&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Infobox&amp;diff=36193</id>
		<title>پودمان:Infobox</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Infobox&amp;diff=36193"/>
		<updated>2019-03-20T10:21:55Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Infobox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
&lt;br /&gt;
local args = {}&lt;br /&gt;
local origArgs&lt;br /&gt;
local root&lt;br /&gt;
&lt;br /&gt;
local function notempty( s ) return s and s:match( &#039;%S&#039; ) end&lt;br /&gt;
&lt;br /&gt;
local function fixChildBoxes(sval, tt)&lt;br /&gt;
	if notempty(sval) then&lt;br /&gt;
		local marker = &#039;&amp;lt;span class=special_infobox_marker&amp;gt;&#039;&lt;br /&gt;
		local s = sval&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Rr])&#039;, marker .. &#039;%1&#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Tt][Rr]%s*&amp;gt;)&#039;, &#039;%1&#039; .. marker)&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*&#039; .. marker, &#039;&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]|-[^\r\n]*[\r\n])%s*&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*([\r\n]|-)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Aa][Bb][Ll][Ee][^&amp;lt;&amp;gt;]*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;^(%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*&amp;lt;/[Tt][Aa][Bb][Ll][Ee]%s*&amp;gt;)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*\n|%})&#039;, &#039;%1&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			local subcells = mw.text.split(s, marker)&lt;br /&gt;
			s = &#039;&#039;&lt;br /&gt;
			for k = 1, #subcells do&lt;br /&gt;
				if k == 1 then&lt;br /&gt;
					s = s .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
				elseif k == #subcells then&lt;br /&gt;
					local rowstyle = &#039; style=&amp;quot;display:none&amp;quot;&#039;&lt;br /&gt;
					if notempty(subcells[k]) then rowstyle = &#039;&#039;	end&lt;br /&gt;
					s = s .. &#039;&amp;lt;tr&#039; .. rowstyle ..&#039;&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. subcells[k]&lt;br /&gt;
				elseif notempty(subcells[k]) then&lt;br /&gt;
					if (k % 2) == 0 then&lt;br /&gt;
						s = s .. subcells[k]&lt;br /&gt;
					else&lt;br /&gt;
						s = s .. &#039;&amp;lt;tr&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- the next two lines add a newline at the end of lists for the PHP parser&lt;br /&gt;
		-- https://en.iranpedia.org/w/index.php?title=Template_talk:Infobox_musical_artist&amp;amp;oldid=849054481&lt;br /&gt;
		-- remove when [[:phab:T191516]] is fixed or OBE&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;([\r\n][%*#;:][^\r\n]*)$&#039;, &#039;%1\n&#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;^([%*#;:][^\r\n]*)$&#039;, &#039;%1\n&#039;)&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return sval&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
    -- Returns the union of the values of two tables, as a sequence.&lt;br /&gt;
    local vals = {}&lt;br /&gt;
    for k, v in pairs(t1) do&lt;br /&gt;
        vals[v] = true&lt;br /&gt;
    end&lt;br /&gt;
    for k, v in pairs(t2) do&lt;br /&gt;
        vals[v] = true&lt;br /&gt;
    end&lt;br /&gt;
    local ret = {}&lt;br /&gt;
    for k, v in pairs(vals) do&lt;br /&gt;
        table.insert(ret, k)&lt;br /&gt;
    end&lt;br /&gt;
    return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(prefix)&lt;br /&gt;
    -- Returns a table containing the numbers of the arguments that exist&lt;br /&gt;
    -- for the specified prefix. For example, if the prefix was &#039;data&#039;, and&lt;br /&gt;
    -- &#039;data1&#039;, &#039;data2&#039;, and &#039;data5&#039; exist, it would return {1, 2, 5}.&lt;br /&gt;
    local nums = {}&lt;br /&gt;
    for k, v in pairs(args) do&lt;br /&gt;
        local num = tostring(k):match(&#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&lt;br /&gt;
        if num then table.insert(nums, tonumber(num)) end&lt;br /&gt;
    end&lt;br /&gt;
    table.sort(nums)&lt;br /&gt;
    return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addRow(rowArgs)&lt;br /&gt;
    -- Adds a row to the infobox, with either a header cell&lt;br /&gt;
    -- or a label/data cell combination.&lt;br /&gt;
    if rowArgs.header then&lt;br /&gt;
        root&lt;br /&gt;
            :tag(&#039;tr&#039;)&lt;br /&gt;
                :addClass(rowArgs.rowclass)&lt;br /&gt;
                :cssText(rowArgs.rowstyle)&lt;br /&gt;
                :attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.headerid)&lt;br /&gt;
                    :addClass(rowArgs.class)&lt;br /&gt;
                    :addClass(args.headerclass)&lt;br /&gt;
                    :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                    :cssText(args.headerstyle)&lt;br /&gt;
                    :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
                    :wikitext(fixChildBoxes(rowArgs.header, &#039;th&#039;))&lt;br /&gt;
    elseif rowArgs.data then&lt;br /&gt;
        local row = root:tag(&#039;tr&#039;)&lt;br /&gt;
        row:addClass(rowArgs.rowclass)&lt;br /&gt;
        row:cssText(rowArgs.rowstyle)&lt;br /&gt;
        row:attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
        if rowArgs.label then&lt;br /&gt;
            row&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.labelid)&lt;br /&gt;
                    :cssText(args.labelstyle)&lt;br /&gt;
                    :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
                    :wikitext(rowArgs.label)&lt;br /&gt;
                    :done()&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        local dataCell = row:tag(&#039;td&#039;)&lt;br /&gt;
        if not rowArgs.label then &lt;br /&gt;
            dataCell&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;) &lt;br /&gt;
        end&lt;br /&gt;
        dataCell&lt;br /&gt;
            :attr(&#039;id&#039;, rowArgs.dataid)&lt;br /&gt;
            :addClass(rowArgs.class)&lt;br /&gt;
            :cssText(rowArgs.datastyle)&lt;br /&gt;
            :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
            :newline()&lt;br /&gt;
            :wikitext(fixChildBoxes(rowArgs.data, &#039;td&#039;))&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTitle()&lt;br /&gt;
    if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;caption&#039;)&lt;br /&gt;
            :addClass(args.titleclass)&lt;br /&gt;
            :cssText(args.titlestyle)&lt;br /&gt;
            :wikitext(args.title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow()&lt;br /&gt;
    if not args.above then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;th&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :addClass(args.aboveclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :css(&#039;font-size&#039;, &#039;125%&#039;)&lt;br /&gt;
                :css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
                :cssText(args.abovestyle)&lt;br /&gt;
                :wikitext(fixChildBoxes(args.above,&#039;th&#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow()&lt;br /&gt;
    if not args.below then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :addClass(args.belowclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :cssText(args.belowstyle)&lt;br /&gt;
                :newline()&lt;br /&gt;
                :wikitext(fixChildBoxes(args.below,&#039;td&#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderSubheaders()&lt;br /&gt;
    if args.subheader then&lt;br /&gt;
        args.subheader1 = args.subheader&lt;br /&gt;
    end&lt;br /&gt;
    if args.subheaderrowclass then&lt;br /&gt;
        args.subheaderrowclass1 = args.subheaderrowclass&lt;br /&gt;
    end&lt;br /&gt;
    local subheadernums = getArgNums(&#039;subheader&#039;)&lt;br /&gt;
    for k, num in ipairs(subheadernums) do&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = args[&#039;subheader&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.subheaderstyle,&lt;br /&gt;
            rowcellstyle = args[&#039;subheaderstyle&#039; .. tostring(num)],&lt;br /&gt;
            class = args.subheaderclass,&lt;br /&gt;
            rowclass = args[&#039;subheaderrowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderImages()&lt;br /&gt;
    if args.image then&lt;br /&gt;
        args.image1 = args.image&lt;br /&gt;
    end&lt;br /&gt;
    if args.caption then&lt;br /&gt;
        args.caption1 = args.caption&lt;br /&gt;
    end&lt;br /&gt;
    local imagenums = getArgNums(&#039;image&#039;)&lt;br /&gt;
    for k, num in ipairs(imagenums) do&lt;br /&gt;
        local caption = args[&#039;caption&#039; .. tostring(num)]&lt;br /&gt;
        local data = mw.html.create():wikitext(args[&#039;image&#039; .. tostring(num)])&lt;br /&gt;
        if caption then&lt;br /&gt;
            data&lt;br /&gt;
                :tag(&#039;div&#039;)&lt;br /&gt;
                    :cssText(args.captionstyle)&lt;br /&gt;
                    :wikitext(caption)&lt;br /&gt;
        end&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = tostring(data),&lt;br /&gt;
            datastyle = args.imagestyle,&lt;br /&gt;
            class = args.imageclass,&lt;br /&gt;
            rowclass = args[&#039;imagerowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRows()&lt;br /&gt;
    -- Gets the union of the header and data argument numbers,&lt;br /&gt;
    -- and renders them all in order using addRow.&lt;br /&gt;
    local rownums = union(getArgNums(&#039;header&#039;), getArgNums(&#039;data&#039;))&lt;br /&gt;
    table.sort(rownums)&lt;br /&gt;
    for k, num in ipairs(rownums) do&lt;br /&gt;
        addRow({&lt;br /&gt;
            header = args[&#039;header&#039; .. tostring(num)],&lt;br /&gt;
            label = args[&#039;label&#039; .. tostring(num)],&lt;br /&gt;
            data = args[&#039;data&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.datastyle,&lt;br /&gt;
            class = args[&#039;class&#039; .. tostring(num)],&lt;br /&gt;
            rowclass = args[&#039;rowclass&#039; .. tostring(num)],&lt;br /&gt;
            rowstyle = args[&#039;rowstyle&#039; .. tostring(num)],&lt;br /&gt;
            rowcellstyle = args[&#039;rowcellstyle&#039; .. tostring(num)],&lt;br /&gt;
            dataid = args[&#039;dataid&#039; .. tostring(num)],&lt;br /&gt;
            labelid = args[&#039;labelid&#039; .. tostring(num)],&lt;br /&gt;
            headerid = args[&#039;headerid&#039; .. tostring(num)],&lt;br /&gt;
            rowid = args[&#039;rowid&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar()&lt;br /&gt;
    if not args.name then return end&lt;br /&gt;
    &lt;br /&gt;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;left&#039;)&lt;br /&gt;
                :wikitext(navbar{&lt;br /&gt;
                    args.name,&lt;br /&gt;
                    mini = 1,&lt;br /&gt;
                })&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderItalicTitle()&lt;br /&gt;
    local italicTitle = args[&#039;italic title&#039;] and mw.ustring.lower(args[&#039;italic title&#039;])&lt;br /&gt;
    if italicTitle == &#039;&#039; or italicTitle == &#039;force&#039; or italicTitle == &#039;yes&#039; then&lt;br /&gt;
        root:wikitext(mw.getCurrentFrame():expandTemplate({title = &#039;italic title&#039;}))&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories()&lt;br /&gt;
    if args.decat ~= &#039;yes&#039; then&lt;br /&gt;
    	if args.child == &#039;yes&#039; then&lt;br /&gt;
        	if args.title then&lt;br /&gt;
            	root:wikitext(&#039;[[Category:Pages which use embedded infobox templates with the title parameter]]&#039;)&lt;br /&gt;
        	end&lt;br /&gt;
        elseif #(getArgNums(&#039;data&#039;)) == 0 and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
            root:wikitext(&#039;[[Category:Articles which use infobox templates with no data rows]]&#039;)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _infobox()&lt;br /&gt;
    -- Specify the overall layout of the infobox, with special settings&lt;br /&gt;
    -- if the infobox is used as a &#039;child&#039; inside another infobox.&lt;br /&gt;
    if args.child ~= &#039;yes&#039; then&lt;br /&gt;
        root = mw.html.create(&#039;table&#039;)&lt;br /&gt;
        &lt;br /&gt;
        root&lt;br /&gt;
            :addClass((args.subbox ~= &#039;yes&#039;) and &#039;infobox&#039; or nil)&lt;br /&gt;
            :addClass(args.bodyclass)&lt;br /&gt;
            &lt;br /&gt;
            if args.subbox == &#039;yes&#039; then&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;padding&#039;, &#039;0&#039;)&lt;br /&gt;
                    :css(&#039;border&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;margin&#039;, &#039;-3px&#039;)&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;auto&#039;)&lt;br /&gt;
                    :css(&#039;min-width&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;font-size&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;clear&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;float&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;background-color&#039;, &#039;transparent&#039;)&lt;br /&gt;
            else&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;22em&#039;)&lt;br /&gt;
            end&lt;br /&gt;
        root&lt;br /&gt;
            :cssText(args.bodystyle)&lt;br /&gt;
    &lt;br /&gt;
        renderTitle()&lt;br /&gt;
        renderAboveRow()&lt;br /&gt;
    else&lt;br /&gt;
        root = mw.html.create()&lt;br /&gt;
        &lt;br /&gt;
        root&lt;br /&gt;
            :wikitext(args.title)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    renderSubheaders()&lt;br /&gt;
    renderImages() &lt;br /&gt;
    renderRows() &lt;br /&gt;
    renderBelowRow()  &lt;br /&gt;
    renderNavBar()&lt;br /&gt;
    renderItalicTitle()&lt;br /&gt;
    renderTrackingCategories()&lt;br /&gt;
    &lt;br /&gt;
    return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessSingleArg(argName)&lt;br /&gt;
    -- If the argument exists and isn&#039;t blank, add it to the argument table.&lt;br /&gt;
    -- Blank arguments are treated as nil to match the behaviour of ParserFunctions.&lt;br /&gt;
    if origArgs[argName] and origArgs[argName] ~= &#039;&#039; then&lt;br /&gt;
        args[argName] = origArgs[argName]&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessArgs(prefixTable, step)&lt;br /&gt;
    -- Assign the parameters with the given prefixes to the args table, in order, in batches&lt;br /&gt;
    -- of the step size specified. This is to prevent references etc. from appearing in the&lt;br /&gt;
    -- wrong order. The prefixTable should be an array containing tables, each of which has&lt;br /&gt;
    -- two possible fields, a &amp;quot;prefix&amp;quot; string and a &amp;quot;depend&amp;quot; table. The function always parses&lt;br /&gt;
    -- parameters containing the &amp;quot;prefix&amp;quot; string, but only parses parameters in the &amp;quot;depend&amp;quot;&lt;br /&gt;
    -- table if the prefix parameter is present and non-blank.&lt;br /&gt;
    if type(prefixTable) ~= &#039;table&#039; then&lt;br /&gt;
        error(&amp;quot;Non-table value detected for the prefix table&amp;quot;, 2)&lt;br /&gt;
    end&lt;br /&gt;
    if type(step) ~= &#039;number&#039; then&lt;br /&gt;
        error(&amp;quot;Invalid step value detected&amp;quot;, 2)&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Get arguments without a number suffix, and check for bad input.&lt;br /&gt;
    for i,v in ipairs(prefixTable) do&lt;br /&gt;
        if type(v) ~= &#039;table&#039; or type(v.prefix) ~= &amp;quot;string&amp;quot; or (v.depend and type(v.depend) ~= &#039;table&#039;) then&lt;br /&gt;
            error(&#039;Invalid input detected to preprocessArgs prefix table&#039;, 2)&lt;br /&gt;
        end&lt;br /&gt;
        preprocessSingleArg(v.prefix)&lt;br /&gt;
        -- Only parse the depend parameter if the prefix parameter is present and not blank.&lt;br /&gt;
        if args[v.prefix] and v.depend then&lt;br /&gt;
            for j, dependValue in ipairs(v.depend) do&lt;br /&gt;
                if type(dependValue) ~= &#039;string&#039; then&lt;br /&gt;
                    error(&#039;Invalid &amp;quot;depend&amp;quot; parameter value detected in preprocessArgs&#039;)&lt;br /&gt;
                end&lt;br /&gt;
                preprocessSingleArg(dependValue)&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Get arguments with number suffixes.&lt;br /&gt;
    local a = 1 -- Counter variable.&lt;br /&gt;
    local moreArgumentsExist = true&lt;br /&gt;
    while moreArgumentsExist == true do&lt;br /&gt;
        moreArgumentsExist = false&lt;br /&gt;
        for i = a, a + step - 1 do&lt;br /&gt;
            for j,v in ipairs(prefixTable) do&lt;br /&gt;
                local prefixArgName = v.prefix .. tostring(i)&lt;br /&gt;
                if origArgs[prefixArgName] then&lt;br /&gt;
                    moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
                    preprocessSingleArg(prefixArgName)&lt;br /&gt;
                end&lt;br /&gt;
                -- Process the depend table if the prefix argument is present and not blank, or&lt;br /&gt;
                -- we are processing &amp;quot;prefix1&amp;quot; and &amp;quot;prefix&amp;quot; is present and not blank, and&lt;br /&gt;
                -- if the depend table is present.&lt;br /&gt;
                if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then&lt;br /&gt;
                    for j,dependValue in ipairs(v.depend) do&lt;br /&gt;
                        local dependArgName = dependValue .. tostring(i)&lt;br /&gt;
                        preprocessSingleArg(dependArgName)&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        a = a + step&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.infobox(frame)&lt;br /&gt;
    -- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
    -- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
    if frame == mw.getCurrentFrame() then&lt;br /&gt;
        origArgs = frame:getParent().args&lt;br /&gt;
    else&lt;br /&gt;
        origArgs = frame&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Parse the data parameters in the same order that the old {{infobox}} did, so that&lt;br /&gt;
    -- references etc. will display in the expected places. Parameters that depend on&lt;br /&gt;
    -- another parameter are only processed if that parameter is present, to avoid&lt;br /&gt;
    -- phantom references appearing in article reference lists.&lt;br /&gt;
    preprocessSingleArg(&#039;child&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodyclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subbox&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodystyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;title&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titleclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titlestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;above&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;aboveclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;abovestyle&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;subheader&#039;, depend = {&#039;subheaderstyle&#039;, &#039;subheaderrowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;image&#039;, depend = {&#039;caption&#039;, &#039;imagerowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;captionstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imagestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imageclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;header&#039;},&lt;br /&gt;
        {prefix = &#039;data&#039;, depend = {&#039;label&#039;}},&lt;br /&gt;
        {prefix = &#039;rowclass&#039;},&lt;br /&gt;
        {prefix = &#039;rowstyle&#039;},&lt;br /&gt;
        {prefix = &#039;rowcellstyle&#039;},&lt;br /&gt;
        {prefix = &#039;class&#039;},&lt;br /&gt;
        {prefix = &#039;dataid&#039;},&lt;br /&gt;
        {prefix = &#039;labelid&#039;},&lt;br /&gt;
        {prefix = &#039;headerid&#039;},&lt;br /&gt;
        {prefix = &#039;rowid&#039;}&lt;br /&gt;
    }, 50)&lt;br /&gt;
    preprocessSingleArg(&#039;headerclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;headerstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;labelstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;datastyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;below&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;name&#039;)&lt;br /&gt;
    args[&#039;italic title&#039;] = origArgs[&#039;italic title&#039;] -- different behaviour if blank or absent&lt;br /&gt;
    preprocessSingleArg(&#039;decat&#039;)&lt;br /&gt;
 &lt;br /&gt;
    return _infobox()&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36191</id>
		<title>پودمان:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36191"/>
		<updated>2019-03-20T10:21:55Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[پرونده:Sandbox.svg|50px|جایگزین=|پیوند=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین الگو]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین پودمان]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;صفحهٔ تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;اینجا $1 برای $2 است،&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;اینجا $1 برای $2 هست ($3).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;نمونه‌های آزمایشی&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید ($2).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;]&lt;br /&gt;
-- A category to add to all template sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;صفحه تمرین الگوها&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[پرونده:Test Template Info-Icon - Version (2).svg|50px|پیوند=|جایگزین=نماد توضیحات|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;توضیحات الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;توضیحات پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;خلاصه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;نمایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;تاریخچه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;پاکسازی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;[[ایران‌پدیا:مستندسازی الگوها|توضیحات]] بالا [[ایران‌پدیا:تراگنجانش|تراگنجانده‌شده]] از $1 است.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;در صورت تمایل یک صفحهٔ توضیحات برای این [[ایران‌پدیا:لوآ|پودمان اسکریبونتو]] $1 کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این الگو را آزمایش کنند.&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این پودمان را آزمایش کنند.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;نسخه تمرین $1 را ایجاد کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;آینه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;الگو:توضیحات/آینه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;لطفاً رده‌ها را به زیرصفحهٔ $1 بیفزایید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;زیرصفحه‌های این $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;صفحه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-docpage-preload&#039;]&lt;br /&gt;
-- Preload file for documentation page in the file namespace.&lt;br /&gt;
cfg[&#039;file-docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-فضای-پرونده&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-توضیحات-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Print version configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage used for print versions.&lt;br /&gt;
cfg[&#039;print-subpage&#039;] = &#039;چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /Print subpage.&lt;br /&gt;
cfg[&#039;print-link-display&#039;] = &#039;/چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-blurb&#039;]&lt;br /&gt;
-- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg[&#039;print-link-display&#039;].&lt;br /&gt;
cfg[&#039;print-blurb&#039;] = &#039;یک [[:en:Help:Books/for experts#Improving the book layout|نسخه چاپی]] از این الگو در $1 موجود است.&#039;&lt;br /&gt;
	.. &#039; اگر تغییری در این الگو ایجاد می‌کنید، خواهشمند است نسخه چاپی را هم به‌روز کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-print-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;print-category&#039;] if a /Print subpage exists.&lt;br /&gt;
-- This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-print-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-print-category&#039;] is set to true, and a /Print subpage exists.&lt;br /&gt;
cfg[&#039;print-category&#039;] = &#039;الگوهایی با نسخه‌های چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-id&#039;]&lt;br /&gt;
-- The &amp;quot;id&amp;quot; attribute of the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-id&#039;] = &#039;template-documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- The CSS classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;template-documentation iezoomfix&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-linkclasses&#039;]&lt;br /&gt;
-- The CSS classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
cfg[&#039;start-box-linkclasses&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-id&#039;]&lt;br /&gt;
-- The HTML &amp;quot;id&amp;quot; attribute for the links in the start box.&lt;br /&gt;
cfg[&#039;start-box-link-id&#039;] = &#039;doc_editlinks&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- {{fmbox}} template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-id&#039;]&lt;br /&gt;
-- The id sent to the &amp;quot;id&amp;quot; parameter of the {{fmbox}} template.&lt;br /&gt;
cfg[&#039;fmbox-id&#039;] = &#039;documentation-meta-data&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-style&#039;]&lt;br /&gt;
-- The value sent to the style parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-style&#039;] = &#039;background-color: #ecfcf4&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-textstyle&#039;]&lt;br /&gt;
-- The value sent to the &amp;quot;textstyle parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-textstyle&#039;] = &#039;font-style: italic&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;صفحات ایران‌پدیا با کاربرد عجیب «توضیحات»&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Coordinates&amp;diff=36189</id>
		<title>پودمان:Coordinates</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Coordinates&amp;diff=36189"/>
		<updated>2019-03-20T10:21:54Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- بخش‌هایی از این پودمان جهت فارسی‌سازی بهتر تغییر یافته‌است. لطفاً هنگام به‌روزرسانی کاملاً دقت کنید.&lt;br /&gt;
--نسخه درست&lt;br /&gt;
--[[&lt;br /&gt;
This module is intended to replace the functionality of {{Coord}} and related&lt;br /&gt;
templates.  It provides several methods, including&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | coord }} : General function formatting and displaying&lt;br /&gt;
coordinate values.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dec2dms }} : Simple function for converting decimal&lt;br /&gt;
degree values to DMS format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dms2dec }} : Simple function for converting DMS format&lt;br /&gt;
to decimal degree format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | link }} : Export the link used to reach the tools&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
-- خط زیر برای بومی‌سازی ضروری است&lt;br /&gt;
local convert = require( &amp;quot;Module:Numeral converter&amp;quot; ).convert;&lt;br /&gt;
local math_mod = require(&amp;quot;Module:Math&amp;quot;)&lt;br /&gt;
local coordinates = {};&lt;br /&gt;
&lt;br /&gt;
local current_page = mw.title.getCurrentTitle()&lt;br /&gt;
local page_name = mw.uri.encode( current_page.prefixedText, &#039;WIKI&#039; );&lt;br /&gt;
local coord_link = &#039;//tools.wmflabs.org/geohack/geohack.php?language=fa&amp;amp;pagename=&#039; .. page_name .. &#039;&amp;amp;params=&#039;&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, replacement for {{coord/display/title}} ]]&lt;br /&gt;
local function displaytitle(s, notes)&lt;br /&gt;
	local l = &amp;quot;[[دستگاه مختصات جغرافیایی|مختصات]]: &amp;quot; .. s&lt;br /&gt;
	local co = &#039;&amp;lt;span id=&amp;quot;coordinates&amp;quot;&amp;gt;&#039; .. l .. notes .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
	return &#039;&amp;lt;span style=&amp;quot;font-size: small;&amp;quot;&amp;gt;&#039; .. co .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, Replacement for {{coord/display/inline}} ]]&lt;br /&gt;
local function displayinline(s, notes)&lt;br /&gt;
	return s .. notes	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, used in detecting DMS formatting ]]&lt;br /&gt;
local function dmsTest(first, second)&lt;br /&gt;
	if type(first) ~= &#039;string&#039; or type(second) ~= &#039;string&#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local s = (first .. second):upper()&lt;br /&gt;
	return s:find(&#039;^[NS][EW]$&#039;) or s:find(&#039;^[EW][NS]$&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ Wrapper function to grab args, see Module:Arguments for this function&#039;s documentation. ]]&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {&lt;br /&gt;
			wrappers = &#039;الگو:Coord&#039;&lt;br /&gt;
		})&lt;br /&gt;
		return coordinates[funcName](args, frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, handle optional args. ]]&lt;br /&gt;
local function optionalArg(arg, supplement)&lt;br /&gt;
	return arg and arg .. supplement or &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Formats any error messages generated for display&lt;br /&gt;
]]&lt;br /&gt;
local function errorPrinter(errors)&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	for i,v in ipairs(errors) do&lt;br /&gt;
		local errorHTML = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;مختصات: &#039; .. v[2] .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
		result = result .. errorHTML .. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Determine the required CSS class to display coordinates&lt;br /&gt;
&lt;br /&gt;
Usually geo-nondefault is hidden by CSS, unless a user has overridden this for himself&lt;br /&gt;
default is the mode as specificied by the user when calling the {{coord}} template&lt;br /&gt;
mode is the display mode (dec or dms) that we will need to determine the css class for &lt;br /&gt;
]]&lt;br /&gt;
local function displayDefault(default, mode)&lt;br /&gt;
	if default == &amp;quot;&amp;quot; then&lt;br /&gt;
		default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if default == mode then&lt;br /&gt;
		return &amp;quot;geo-default&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;geo-nondefault&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
specPrinter&lt;br /&gt;
&lt;br /&gt;
Output formatter.  Takes the structure generated by either parseDec&lt;br /&gt;
or parseDMS and formats it for inclusion on Iranpedia.&lt;br /&gt;
]]&lt;br /&gt;
local function specPrinter(args, coordinateSpec)&lt;br /&gt;
	local uriComponents = coordinateSpec[&amp;quot;param&amp;quot;]&lt;br /&gt;
	if uriComponents == &amp;quot;&amp;quot; then&lt;br /&gt;
		-- RETURN error, should never be empty or nil&lt;br /&gt;
		return &amp;quot;خطا: پارامتر خالی است&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		uriComponents = uriComponents .. &amp;quot;&amp;amp;title=&amp;quot; .. mw.uri.encode(coordinateSpec[&amp;quot;name&amp;quot;])&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local geodmshtml = &#039;&amp;lt;span class=&amp;quot;geo-dms&amp;quot; title=&amp;quot;نقشه‌ها، عکس‌های هوایی، و دیگر داده‌های این موقعیت&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. &#039;&amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;&#039; .. convert(&amp;quot;fa&amp;quot;, coordinateSpec[&amp;quot;dms-lat&amp;quot;]) .. &#039;&amp;lt;/span&amp;gt; &#039;&lt;br /&gt;
			 .. &#039;&amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;&#039; .. convert(&amp;quot;fa&amp;quot;, coordinateSpec[&amp;quot;dms-long&amp;quot;]) .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local lat = tonumber( coordinateSpec[&amp;quot;dec-lat&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclat&lt;br /&gt;
	if lat &amp;lt; 0 then&lt;br /&gt;
		-- FIXME this breaks the pre-existing precision&lt;br /&gt;
		geodeclat = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. tostring(coordinateSpec[&amp;quot;dec-lat&amp;quot;]):sub(2) .. &amp;quot;°&amp;lt;/span&amp;gt;جنوبی&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		geodeclat = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. (coordinateSpec[&amp;quot;dec-lat&amp;quot;] or 0) .. &amp;quot;°&amp;lt;/span&amp;gt;شمالی&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local long = tonumber( coordinateSpec[&amp;quot;dec-long&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclong&lt;br /&gt;
	if long &amp;lt; 0 then&lt;br /&gt;
		-- FIXME does not handle unicode minus&lt;br /&gt;
		geodeclong = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. tostring(coordinateSpec[&amp;quot;dec-long&amp;quot;]):sub(2) .. &amp;quot;°&amp;lt;/span&amp;gt;غربی&amp;quot; &lt;br /&gt;
	else&lt;br /&gt;
		geodeclong = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. (coordinateSpec[&amp;quot;dec-long&amp;quot;] or 0) .. &amp;quot;°&amp;lt;/span&amp;gt;شرقی&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local geodechtml = &#039;&amp;lt;span class=&amp;quot;geo-dec&amp;quot; title=&amp;quot;نقشه‌ها، عکس‌های هوایی، و دیگر داده‌های این موقعیت&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. convert(&amp;quot;fa&amp;quot;, geodeclat) .. &#039; &#039;&lt;br /&gt;
			 .. convert(&amp;quot;fa&amp;quot;, geodeclong)&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local geonumhtml = &#039;&amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			 .. coordinateSpec[&amp;quot;dec-lat&amp;quot;] .. &#039;; &#039;&lt;br /&gt;
			 .. coordinateSpec[&amp;quot;dec-long&amp;quot;]&lt;br /&gt;
			 .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local inner = &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dms&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039; .. geodmshtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;geo-multi-punct&amp;quot;&amp;gt;&amp;amp;#xfeff; / &amp;amp;#xfeff;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dec&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
	if not args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		inner = inner .. geodechtml &lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		inner = inner .. &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039; .. geodechtml &lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039;&lt;br /&gt;
				.. args[&amp;quot;name&amp;quot;] .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return &#039;&amp;lt;span class=&amp;quot;plainlinks nourlexpansion&amp;quot;&amp;gt;&#039; .. &lt;br /&gt;
		&#039;[&#039; .. coord_link .. uriComponents .. &#039; &#039; .. inner .. &#039;]&#039; .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees ]]&lt;br /&gt;
local function convert_dec2dms_d(coordinate)&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. math_mod._round( coordinate, 0 ) .. &amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	return d .. &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees and minutes ]]&lt;br /&gt;
local function convert_dec2dms_dm(coordinate)	&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60, 0 );&lt;br /&gt;
	local m = coordinate % 60;&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. coordinate % 360 ..&amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	return d .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d′&amp;lt;/span&amp;gt;&#039;, m )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees, minutes, and seconds ]]&lt;br /&gt;
local function convert_dec2dms_dms(coordinate)&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60 * 60, 0 );&lt;br /&gt;
	local s = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - s) / 60 );&lt;br /&gt;
	local m = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. coordinate % 360 ..&amp;quot;°&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return d .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d′&amp;lt;/span&amp;gt;&#039;, m ) .. string.format( &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;%02d″&amp;lt;/span&amp;gt;&#039;, s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Helper function, convert decimal latitude or longitude to &lt;br /&gt;
degrees, minutes, and seconds format based on the specified precision.  &lt;br /&gt;
]]&lt;br /&gt;
local function convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
	local coord = tonumber(coordinate)&lt;br /&gt;
	local postfix&lt;br /&gt;
	if coord &amp;gt;= 0 then&lt;br /&gt;
		postfix = firstPostfix&lt;br /&gt;
	else&lt;br /&gt;
		postfix = secondPostfix&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	precision = precision:lower();&lt;br /&gt;
	if precision == &amp;quot;dms&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dms( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;dm&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dm( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;d&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_d( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Convert DMS format into a N or E decimal coordinate&lt;br /&gt;
]]&lt;br /&gt;
local function convert_dms2dec(direction, degrees_str, minutes_str, seconds_str)&lt;br /&gt;
	local degrees = tonumber(degrees_str)&lt;br /&gt;
	local minutes = tonumber(minutes_str) or 0&lt;br /&gt;
	local seconds = tonumber(seconds_str) or 0&lt;br /&gt;
	&lt;br /&gt;
	local factor = 1&lt;br /&gt;
	if direction == &amp;quot;S&amp;quot; or direction == &amp;quot;W&amp;quot; then&lt;br /&gt;
		factor = -1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local precision = 0&lt;br /&gt;
	if seconds_str then&lt;br /&gt;
		precision = 5 + math.max( math_mod._precision(seconds_str), 0 );&lt;br /&gt;
	elseif minutes_str and minutes_str ~= &#039;&#039; then&lt;br /&gt;
		precision = 3 + math.max( math_mod._precision(minutes_str), 0 );&lt;br /&gt;
	else&lt;br /&gt;
		precision = math.max( math_mod._precision(degrees_str), 0 );&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local decimal = factor * (degrees+(minutes+seconds/60)/60) &lt;br /&gt;
	return string.format( &amp;quot;%.&amp;quot; .. precision .. &amp;quot;f&amp;quot;, decimal ) -- not tonumber since this whole thing is string based.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Checks input values to for out of range errors.&lt;br /&gt;
]]&lt;br /&gt;
local function validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, source, strong )&lt;br /&gt;
	local errors = {};&lt;br /&gt;
	lat_d = tonumber( lat_d ) or 0;&lt;br /&gt;
	lat_m = tonumber( lat_m ) or 0;&lt;br /&gt;
	lat_s = tonumber( lat_s ) or 0;&lt;br /&gt;
	long_d = tonumber( long_d ) or 0;&lt;br /&gt;
	long_m = tonumber( long_m ) or 0;&lt;br /&gt;
	long_s = tonumber( long_s ) or 0;&lt;br /&gt;
&lt;br /&gt;
	if strong then&lt;br /&gt;
		if lat_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;lt; ۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		if long_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;lt; ۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		--[[ &lt;br /&gt;
		#coordinates is inconsistent about whether this is an error.  If globe: is&lt;br /&gt;
		specified, it won&#039;t error on this condition, but otherwise it will.&lt;br /&gt;
		&lt;br /&gt;
		For not simply disable this check.&lt;br /&gt;
		&lt;br /&gt;
		if long_d &amp;gt; 180 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;gt; ۱۸۰ با پرچم نیم‌کره&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		]]&lt;br /&gt;
	end	&lt;br /&gt;
		&lt;br /&gt;
	if lat_d &amp;gt; 90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;gt; ۹۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_d &amp;lt; -90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های عرض جغرافیایی &amp;lt; -۹۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق عرض جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق عرض جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های عرض جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های عرض جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;gt;= 360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;gt;= ۳۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;lt;= -360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;درجه‌های طول جغرافیایی &amp;lt;= -۳۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق طول جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;دقایق طول جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های طول جغرافیایی &amp;gt;= ۶۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;ثانیه‌های طول جغرافیایی &amp;lt; ۰&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return errors;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDec&lt;br /&gt;
&lt;br /&gt;
Transforms decimal format latitude and longitude into the&lt;br /&gt;
structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDec( lat, long, format )&lt;br /&gt;
	local coordinateSpec = {}&lt;br /&gt;
	local errors = {}&lt;br /&gt;
	&lt;br /&gt;
	if not long then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;طول جغرافیایی وارد نشده‌است&amp;quot;}}&lt;br /&gt;
	elseif not tonumber(long) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;طول جغرافیایی نمی‌تواند به عنوان یک رقم تجزیه شود: &amp;quot; .. long}}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	errors = validate( lat, nil, nil, long, nil, nil, &#039;parseDec&#039;, false );	&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = lat;&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = long;&lt;br /&gt;
&lt;br /&gt;
	local mode = coordinates.determineMode( lat, long );&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = convert_dec2dms( lat, &amp;quot;شمالی&amp;quot;, &amp;quot;جنوبی&amp;quot;, mode)  -- {{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = convert_dec2dms( long, &amp;quot;شرقی&amp;quot;, &amp;quot;غربی&amp;quot;, mode)  -- {{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}	&lt;br /&gt;
	&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDMS&lt;br /&gt;
&lt;br /&gt;
Transforms degrees, minutes, seconds format latitude and longitude &lt;br /&gt;
into the a structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDMS( lat_d, lat_m, lat_s, lat_f, long_d, long_m, long_s, long_f, format )&lt;br /&gt;
	local coordinateSpec, errors, backward = {}, {}&lt;br /&gt;
	&lt;br /&gt;
	lat_f = lat_f:upper();&lt;br /&gt;
	long_f = long_f:upper();&lt;br /&gt;
	&lt;br /&gt;
	-- Check if specified backward&lt;br /&gt;
	if lat_f == &#039;E&#039; or lat_f == &#039;W&#039; then&lt;br /&gt;
		lat_d, long_d, lat_m, long_m, lat_s, long_s, lat_f, long_f, backward = long_d, lat_d, long_m, lat_m, long_s, lat_s, long_f, lat_f, true;&lt;br /&gt;
	end	&lt;br /&gt;
	&lt;br /&gt;
	errors = validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, &#039;parseDMS&#039;, true );&lt;br /&gt;
	if not long_d then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;طول جغرافیایی وارد نشده‌است&amp;quot; }}&lt;br /&gt;
	elseif not tonumber(long_d) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;طول جغرافیایی نمی‌تواند به عنوان یک رقم تجزیه شود:&amp;quot; .. long_d }}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not lat_m and not lat_s and not long_m and not long_s and #errors == 0 then &lt;br /&gt;
		if math_mod._precision( lat_d ) &amp;gt; 0 or math_mod._precision( long_d ) &amp;gt; 0 then&lt;br /&gt;
			if lat_f:upper() == &#039;S&#039; then &lt;br /&gt;
				lat_d = &#039;-&#039; .. lat_d;&lt;br /&gt;
			end&lt;br /&gt;
			if long_f:upper() == &#039;W&#039; then &lt;br /&gt;
				long_d = &#039;-&#039; .. long_d;&lt;br /&gt;
			end	 &lt;br /&gt;
			&lt;br /&gt;
			return parseDec( lat_d, long_d, format );&lt;br /&gt;
		end		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- تابع زیر جهت فارسی‌کردن رشته‌های مربوط به شمال، غرب، جنوب، و شرق نوشته شده‌است.&lt;br /&gt;
	local function persianChars(enChar)&lt;br /&gt;
		if enChar == &amp;quot;W&amp;quot; then&lt;br /&gt;
			return &amp;quot; غربی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;N&amp;quot; then&lt;br /&gt;
			return &amp;quot; شمالی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;S&amp;quot; then&lt;br /&gt;
			return &amp;quot; جنوبی&amp;quot;&lt;br /&gt;
		elseif enChar == &amp;quot;E&amp;quot; then&lt;br /&gt;
			return &amp;quot; شرقی&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. lat_d..&amp;quot;°&amp;quot;..optionalArg(lat_m,&amp;quot;′&amp;quot;) .. optionalArg(lat_s,&amp;quot;″&amp;quot;) .. &#039;&amp;lt;/span&amp;gt;&#039; .. persianChars(lat_f)&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = &#039;&amp;lt;span dir=&amp;quot;ltr&amp;quot;&amp;gt;&#039; .. long_d..&amp;quot;°&amp;quot;..optionalArg(long_m,&amp;quot;′&amp;quot;) .. optionalArg(long_s,&amp;quot;″&amp;quot;) .. &#039;&amp;lt;/span&amp;gt;&#039; .. persianChars(long_f)&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = convert_dms2dec(lat_f, lat_d, lat_m, lat_s) -- {{coord/dms2dec|{{{4}}}|{{{1}}}|0{{{2}}}|0{{{3}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = convert_dms2dec(long_f, long_d, long_m, long_s) -- {{coord/dms2dec|{{{8}}}|{{{5}}}|0{{{6}}}|0{{{7}}}}}&lt;br /&gt;
&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dms&amp;quot;&lt;br /&gt;
	end   &lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Check the input arguments for coord to determine the kind of data being provided&lt;br /&gt;
and then make the necessary processing.&lt;br /&gt;
]]&lt;br /&gt;
local function formatTest(args)&lt;br /&gt;
	local result, errors&lt;br /&gt;
	local backward, primary = false, false&lt;br /&gt;
&lt;br /&gt;
	local function getParam(args, lim)&lt;br /&gt;
		local ret = {}&lt;br /&gt;
		for i = 1, lim do&lt;br /&gt;
			ret[i] = args[i] or &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(ret, &#039;_&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		-- no lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;عرض جغرافیایی وارد نشده‌است&amp;quot;}} )&lt;br /&gt;
	elseif not tonumber(args[1]) then&lt;br /&gt;
		-- bad lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;ناتوان در تجزیه عرض جغرافیایی به عنوان یک رقم:&amp;quot; .. args[1]}} )&lt;br /&gt;
	elseif not args[4] and not args[5] and not args[6] then&lt;br /&gt;
		-- dec logic&lt;br /&gt;
		result, errors = parseDec(args[1], args[2], args.format)&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors);&lt;br /&gt;
		end			  &lt;br /&gt;
		result.param = table.concat({args[1], &#039;N&#039;, args[2] or &#039;&#039;, &#039;E&#039;, args[3] or &#039;&#039;}, &#039;_&#039;)&lt;br /&gt;
	elseif dmsTest(args[4], args[8]) then&lt;br /&gt;
		-- dms logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], args[3], args[4], &lt;br /&gt;
			args[5], args[6], args[7], args[8], args.format)&lt;br /&gt;
		if args[10] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 9)&lt;br /&gt;
	elseif dmsTest(args[3], args[6]) then&lt;br /&gt;
		-- dm logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], nil, args[3], &lt;br /&gt;
			args[4], args[5], nil, args[6], args[&#039;format&#039;])&lt;br /&gt;
		if args[8] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 7)&lt;br /&gt;
	elseif dmsTest(args[2], args[4]) then&lt;br /&gt;
		-- d logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], nil, nil, args[2], &lt;br /&gt;
			args[3], nil, nil, args[4], args.format)&lt;br /&gt;
		if args[6] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامترهای اضافی غیر منتظره&#039;})&lt;br /&gt;
		end	&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 5)&lt;br /&gt;
	else&lt;br /&gt;
		-- Error&lt;br /&gt;
		return errorPrinter({{&amp;quot;formatTest&amp;quot;, &amp;quot;قالب‌بندی ناشناخته آرگومان&amp;quot;}})&lt;br /&gt;
	end&lt;br /&gt;
	result.name = args.name&lt;br /&gt;
	&lt;br /&gt;
	local extra_param = {&#039;dim&#039;, &#039;globe&#039;, &#039;scale&#039;, &#039;region&#039;, &#039;source&#039;, &#039;type&#039;}&lt;br /&gt;
	for _, v in ipairs(extra_param) do&lt;br /&gt;
		if args[v] then &lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;پارامتر: «&#039; .. v .. &#039;=» باید «&#039; .. v .. &#039;:»&#039; })&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ret = specPrinter(args, result)&lt;br /&gt;
	if #errors &amp;gt; 0 then&lt;br /&gt;
		ret = ret .. &#039; &#039; .. errorPrinter(errors) .. &#039;[[رده:صفحه‌های دارای برچسب مختصات ناقص]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Generate Wikidata tracking categories.&lt;br /&gt;
]]&lt;br /&gt;
local function makeWikidataCategories()&lt;br /&gt;
	local ret&lt;br /&gt;
	if mw.wikibase and current_page.namespace == 0 then&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
		if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1] then&lt;br /&gt;
			local snaktype = entity.claims.P625[1].mainsnak.snaktype&lt;br /&gt;
			if snaktype == &#039;value&#039; then&lt;br /&gt;
				-- coordinates exist both here and on Wikidata, and can be compared.&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده&#039;&lt;br /&gt;
			elseif snaktype == &#039;somevalue&#039; then&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده که مقدار نامشخص تنظیم شده‌اند&#039;&lt;br /&gt;
			elseif snaktype == &#039;novalue&#039; then&lt;br /&gt;
				ret = &#039;مختصات در ویکی‌داده که بدون مقدار تنظیم شده‌اند&#039;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- We have to either import the coordinates to Wikidata or remove them here.&lt;br /&gt;
			ret = &#039;مختصاتی که در ویکی‌داده نیستند&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if ret then&lt;br /&gt;
		return string.format(&#039;[[رده:%s]]&#039;, ret)&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
link&lt;br /&gt;
&lt;br /&gt;
Simple function to export the coordinates link for other uses.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | link }}&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.link(frame)&lt;br /&gt;
	return coord_link;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dec2dms&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dec2dms directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dec2dms | decimal_coordinate | positive_suffix | &lt;br /&gt;
		negative_suffix | precision }}&lt;br /&gt;
	&lt;br /&gt;
decimal_coordinate is converted to DMS format.  If positive, the positive_suffix&lt;br /&gt;
is appended (typical N or E), if negative, the negative suffix is appended.  The&lt;br /&gt;
specified precision is one of &#039;D&#039;, &#039;DM&#039;, or &#039;DMS&#039; to specify the level of detail&lt;br /&gt;
to use.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dec2dms = makeInvokeFunc(&#039;_dec2dms&#039;)&lt;br /&gt;
function coordinates._dec2dms(args)&lt;br /&gt;
	local coordinate = args[1]&lt;br /&gt;
	local firstPostfix = args[2] or &#039;&#039;&lt;br /&gt;
	local secondPostfix = args[3] or &#039;&#039;&lt;br /&gt;
	local precision = args[4] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	return convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to determine whether to use D, DM, or DMS&lt;br /&gt;
format depending on the precision of the decimal input.&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.determineMode( value1, value2 )&lt;br /&gt;
	local precision = math.max( math_mod._precision( value1 ), math_mod._precision( value2 ) );&lt;br /&gt;
	if precision &amp;lt;= 0 then&lt;br /&gt;
		return &#039;d&#039;&lt;br /&gt;
	elseif precision &amp;lt;= 2 then&lt;br /&gt;
		return &#039;dm&#039;;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;dms&#039;;&lt;br /&gt;
	end&lt;br /&gt;
end		&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dms2dec&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dms2dec directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dms2dec | direction_flag | degrees |&lt;br /&gt;
		minutes | seconds }}&lt;br /&gt;
	&lt;br /&gt;
Converts DMS values specified as degrees, minutes, seconds too decimal format.&lt;br /&gt;
direction_flag is one of N, S, E, W, and determines whether the output is &lt;br /&gt;
positive (i.e. N and E) or negative (i.e. S and W).&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dms2dec = makeInvokeFunc(&#039;_dms2dec&#039;)&lt;br /&gt;
function coordinates._dms2dec(args)&lt;br /&gt;
	local direction = args[1]&lt;br /&gt;
	local degrees = args[2]&lt;br /&gt;
	local minutes = args[3]&lt;br /&gt;
	local seconds = args[4]&lt;br /&gt;
&lt;br /&gt;
	return convert_dms2dec(direction, degrees, minutes, seconds)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord&lt;br /&gt;
&lt;br /&gt;
Main entry point for Lua function to replace {{coord}}&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | coord }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | long }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | lat_flag | long | long_flag }}&lt;br /&gt;
	...&lt;br /&gt;
	&lt;br /&gt;
	Refer to {{coord}} documentation page for many additional parameters and &lt;br /&gt;
	configuration options.&lt;br /&gt;
	&lt;br /&gt;
Note: This function provides the visual display elements of {{coord}}.  In&lt;br /&gt;
order to load coordinates into the database, the {{#coordinates:}} parser &lt;br /&gt;
function must also be called, this is done automatically in the Lua&lt;br /&gt;
version of {{coord}}.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.coord = makeInvokeFunc(&#039;_coord&#039;)&lt;br /&gt;
function coordinates._coord(args)&lt;br /&gt;
	if (not args[1] or not tonumber(args[1])) and not args[2] and mw.wikibase.getEntityObject() then&lt;br /&gt;
		args[3] = args[1]; args[1] = nil&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
		if entity &lt;br /&gt;
			and entity.claims&lt;br /&gt;
			and entity.claims.P625&lt;br /&gt;
			and entity.claims.P625[1].mainsnak.snaktype == &#039;value&#039;&lt;br /&gt;
		then&lt;br /&gt;
			local precision = entity.claims.P625[1].mainsnak.datavalue.value.precision&lt;br /&gt;
			args[1]=entity.claims.P625[1].mainsnak.datavalue.value.latitude&lt;br /&gt;
			args[2]=entity.claims.P625[1].mainsnak.datavalue.value.longitude&lt;br /&gt;
			if precision then&lt;br /&gt;
				precision=-math_mod._round(math.log(precision)/math.log(10),0)&lt;br /&gt;
				args[1]=math_mod._round(args[1],precision)&lt;br /&gt;
				args[2]=math_mod._round(args[2],precision)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- خطوط زیر به‌منظور بومی‌سازی و پشتیبانی از ارقام فارسی اضافه شدند&lt;br /&gt;
	if args[1] ~= nil then&lt;br /&gt;
		args[1] = convert(&amp;quot;en&amp;quot;, args[1])&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] ~= nil then&lt;br /&gt;
		args[2] = convert(&amp;quot;en&amp;quot;, args[2])&lt;br /&gt;
	end&lt;br /&gt;
	if args[3] ~= nil then&lt;br /&gt;
		args[3] = convert(&amp;quot;en&amp;quot;, args[3])&lt;br /&gt;
	end&lt;br /&gt;
	if args[4] ~= nil then&lt;br /&gt;
		args[4] = convert(&amp;quot;en&amp;quot;, args[4])&lt;br /&gt;
	end&lt;br /&gt;
	if args[5] ~= nil then&lt;br /&gt;
		args[5] = convert(&amp;quot;en&amp;quot;, args[5])&lt;br /&gt;
	end&lt;br /&gt;
	if args[6] ~= nil then&lt;br /&gt;
		args[6] = convert(&amp;quot;en&amp;quot;, args[6])&lt;br /&gt;
	end&lt;br /&gt;
	if args[7] ~= nil then&lt;br /&gt;
		args[7] = convert(&amp;quot;en&amp;quot;, args[7])&lt;br /&gt;
	end&lt;br /&gt;
	if args[8] ~= nil then&lt;br /&gt;
		args[8] = convert(&amp;quot;en&amp;quot;, args[8])&lt;br /&gt;
	end&lt;br /&gt;
	-- پایان بومی‌سازی&lt;br /&gt;
	&lt;br /&gt;
	local contents, backward = formatTest(args)&lt;br /&gt;
	local Notes = args.notes or &#039;&#039;&lt;br /&gt;
	local Display = args.display and args.display:lower() or &#039;inline&#039;&lt;br /&gt;
&lt;br /&gt;
	local function isInline(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed inline.&lt;br /&gt;
		return s:find(&#039;inline&#039;) ~= nil or s == &#039;i&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function isInTitle(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed in the title.&lt;br /&gt;
		return s:find(&#039;title&#039;) ~= nil or s == &#039;t&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function coord_wrapper(in_args)&lt;br /&gt;
		-- Calls the parser function {{#coordinates:}}.&lt;br /&gt;
		return mw.getCurrentFrame():callParserFunction(&#039;#coordinates&#039;, in_args) or &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if isInline(Display) then&lt;br /&gt;
		text = text .. displayinline(contents, Notes)&lt;br /&gt;
	end&lt;br /&gt;
	if isInTitle(Display) then&lt;br /&gt;
		text = text&lt;br /&gt;
			.. displaytitle(contents, Notes)&lt;br /&gt;
			.. makeWikidataCategories()&lt;br /&gt;
	end&lt;br /&gt;
	if not args.nosave then&lt;br /&gt;
		local page_title, count = mw.title.getCurrentTitle(), 1&lt;br /&gt;
		if backward then&lt;br /&gt;
			local tmp = {}&lt;br /&gt;
			while not string.find((args[count-1] or &#039;&#039;), &#039;[EW]&#039;) do tmp[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
			tmp.count = count; count = 2*(count-1)&lt;br /&gt;
			while count &amp;gt;= tmp.count do table.insert(tmp, 1, (args[count] or &#039;&#039;)); count = count-1 end&lt;br /&gt;
			for i, v in ipairs(tmp) do args[i] = v end&lt;br /&gt;
		else&lt;br /&gt;
			while count &amp;lt;= 9 do args[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
		end&lt;br /&gt;
		if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= &#039;doc&#039; and page_title.subpageText ~= &#039;testcases&#039; then args[10] = &#039;primary&#039; end&lt;br /&gt;
		args.notes, args.format, args.display = nil&lt;br /&gt;
		text = text .. coord_wrapper(args)&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord2text&lt;br /&gt;
&lt;br /&gt;
Extracts a single value from a transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coord2text | {{Coord}} | parameter }}&lt;br /&gt;
&lt;br /&gt;
Valid values for the second parameter are: lat (signed integer), long (signed integer), type, scale, dim, region, globe, source&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coord2text(frame)&lt;br /&gt;
	if frame.args[1] == &#039;&#039; or frame.args[2] == &#039;&#039; or not frame.args[2] then return nil end&lt;br /&gt;
	frame.args[2] = mw.text.trim(frame.args[2])&lt;br /&gt;
	&lt;br /&gt;
	if frame.args[2] == &#039;lat&#039; or frame.args[2] == &#039;long&#039; then&lt;br /&gt;
		local result, negative = mw.text.split((mw.ustring.match(frame.args[1],&#039;[%.%d]+°[NS] [%.%d]+°[EW]&#039;) or &#039;&#039;), &#039; &#039;)&lt;br /&gt;
		if frame.args[2] == &#039;lat&#039; then&lt;br /&gt;
			result, negative = result[1], &#039;S&#039;&lt;br /&gt;
		else&lt;br /&gt;
			result, negative = result[2], &#039;W&#039;&lt;br /&gt;
		end&lt;br /&gt;
		result = mw.text.split(result, &#039;°&#039;)&lt;br /&gt;
		if result[2] == negative then result[1] = &#039;-&#039;..result[1] end&lt;br /&gt;
		return result[1]&lt;br /&gt;
	else&lt;br /&gt;
		return mw.ustring.match(frame.args[1], &#039;params=.-_&#039;..frame.args[2]..&#039;:(.-)[ _]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coordinsert&lt;br /&gt;
&lt;br /&gt;
Injects some text into the Geohack link of a transclusion of {{Coord}} (if that text isn&#039;t already in the transclusion). Outputs the modified transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }}&lt;br /&gt;
&lt;br /&gt;
Do not make Geohack unhappy by inserting something which isn&#039;t mentioned in the {{Coord}} documentation.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coordinsert(frame)&lt;br /&gt;
	for i, v in ipairs(frame.args) do&lt;br /&gt;
		if i ~= 1 then&lt;br /&gt;
			if not mw.ustring.find(frame.args[1], (mw.ustring.match(frame.args[i], &#039;^(.-:)&#039;) or &#039;&#039;)) then &lt;br /&gt;
				frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(params=.-)_? &#039;, &#039;%1_&#039;..frame.args[i]..&#039; &#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if frame.args.name then&lt;br /&gt;
		if not mw.ustring.find(frame.args[1], &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039;) then&lt;br /&gt;
			local namestr = frame.args.name&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1], &lt;br /&gt;
				&#039;(&amp;lt;span class=&amp;quot;geo%-default&amp;quot;&amp;gt;)(&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;)(&amp;lt;/span&amp;gt;)&#039;, &lt;br /&gt;
				&#039;%1&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;%2&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039; .. namestr .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;%3&#039;)&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(&amp;amp;params=[^&amp;amp;&amp;quot;&amp;lt;&amp;gt;%[%] ]*) &#039;, &#039;%1&amp;amp;title=&#039; .. mw.uri.encode(namestr) .. &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return frame.args[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return coordinates&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Wikidata_entity_link&amp;diff=36187</id>
		<title>الگو:Wikidata entity link</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Wikidata_entity_link&amp;diff=36187"/>
		<updated>2019-03-20T10:21:50Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#if: {{{1|}}}&lt;br /&gt;
| {{#switch: {{uc:{{padleft:|1|{{#if:1|{{{1}}}}}}}}}&lt;br /&gt;
  | P = [[d:Property:{{#if:1|{{{1}}}}}|{{#invoke:Wikibase|label|{{{1}}}}} &amp;lt;small&amp;gt;({{#if:1|{{{1}}}}})&amp;lt;/small&amp;gt;]]&lt;br /&gt;
  | Q = [[d:{{#if:1|{{{1}}}}}|{{#invoke:Wikibase|label|{{{1}}}}} &amp;lt;small&amp;gt;({{#if:1|{{{1}}}}})&amp;lt;/small&amp;gt;]]&lt;br /&gt;
  | #default = [[d:Q{{#if:1|{{{1}}}}}|{{#invoke:Wikibase|label|Q{{#if:1|{{{1}}}}}}} &amp;lt;small&amp;gt;(Q{{#if:1|{{{1|}}}}})&amp;lt;/small&amp;gt;]]&lt;br /&gt;
  }}&lt;br /&gt;
| {{#ifeq: {{#invoke:Wikibase|id}} | no entity&lt;br /&gt;
  | &amp;lt;small&amp;gt;(no entity)&amp;lt;/small&amp;gt;&lt;br /&gt;
  | [[d:{{#invoke:Wikibase|id}}|{{#invoke:Wikibase|label}} &amp;lt;small&amp;gt;({{#invoke:Wikibase|id}})&amp;lt;/small&amp;gt;]]&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{توضیحات}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:UF-coord&amp;diff=36185</id>
		<title>الگو:UF-coord</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:UF-coord&amp;diff=36185"/>
		<updated>2019-03-20T10:21:50Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For [[دستگاه مختصات جغرافیایی|coordinates]], use {{پیوند الگو|coord}} with &#039;&#039;display=inline,title&#039;&#039;.  Please do not be [[ایران‌پدیا:ویکی‌پروژه مختصات‌دهی|overly precise]].&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{توضیحات|content={{الگوهای پیامی میکروفرمت}}}}&lt;br /&gt;
&lt;br /&gt;
[[رده:الگو:پیامی میکروفرمت]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack/%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA&amp;diff=36183</id>
		<title>الگو:Infobox civilian attack/توضیحات</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack/%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA&amp;diff=36183"/>
		<updated>2019-03-20T10:21:40Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{زیرصفحه توضیحات}}&lt;br /&gt;
&amp;lt;!-- رده‌ها و میان‌ویکی‌ها در انتهای صفحه. --&amp;gt;&lt;br /&gt;
این الگو برای استفاد از پارامترهای انگلیسی در نظر گرفته شده است. برای استفاده از الگوی فارسی {{الگو|جعبه اطلاعات حمله به غیرنظامی}} را ببینید.&lt;br /&gt;
&lt;br /&gt;
== استفاده ==&lt;br /&gt;
{{Parameter names example|title|native_name|partof|image|image_size|alt|caption|map|map_size|map_alt|map_caption|location|coordinates|date|time|time-begin|time-end|timezone|target|type|weapon|weapons|fatalities|injuries|victims|victim|perps|perp|perpetrators|perpetrator|susperps|susperp|numparts|numpart|dfens|dfen|motive|website|notes}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title       = &lt;br /&gt;
| partof      = &lt;br /&gt;
| image       = &lt;br /&gt;
| image_size  = &lt;br /&gt;
| alt         = &lt;br /&gt;
| caption     = &lt;br /&gt;
| map         = &lt;br /&gt;
| map_size    = &lt;br /&gt;
| map_alt     = &lt;br /&gt;
| map_caption = &lt;br /&gt;
| location    = &lt;br /&gt;
| target      = &lt;br /&gt;
| coordinates = &lt;br /&gt;
| date        = &amp;lt;!-- {{تاریخ آغاز|YYYY|MM|DD}}-&amp;lt;br /&amp;gt;{{تاریخ پایان|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
| time        = &lt;br /&gt;
| timezone    = &lt;br /&gt;
| type        = &lt;br /&gt;
| fatalities  = &lt;br /&gt;
| injuries    = &lt;br /&gt;
| victims     = &amp;lt;!-- or | victim = --&amp;gt;&lt;br /&gt;
| perpetrators= &amp;lt;!-- or | perpetrator = --&amp;gt; &amp;lt;!-- alias: | perps = or | perp = --&amp;gt;&lt;br /&gt;
| assailants  = &amp;lt;!-- or | assailant = --&amp;gt;&lt;br /&gt;
| susperps    = &amp;lt;!-- or | susperp = --&amp;gt;&lt;br /&gt;
| weapons     = &lt;br /&gt;
| numparts    = &amp;lt;!-- or | numpart = --&amp;gt;&lt;br /&gt;
| dfens       = &amp;lt;!-- or | dfen = --&amp;gt;&lt;br /&gt;
| motive      = &lt;br /&gt;
| inquiry     = &lt;br /&gt;
| coroner     = &lt;br /&gt;
| accused     = &lt;br /&gt;
| convicted   = &lt;br /&gt;
| verdict     = &lt;br /&gt;
| convictions = &lt;br /&gt;
| charges     = &lt;br /&gt;
| litigation  = &lt;br /&gt;
| website     = &amp;lt;!-- {{نشانی وب|example.com}} --&amp;gt;&lt;br /&gt;
| module      =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== نمونه==&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title = 1993 World Trade Center bombing&lt;br /&gt;
| image = WTC 1993 ATF Commons.jpg&lt;br /&gt;
| caption = Underground damage after the bombing&lt;br /&gt;
| location = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]], New York City, United States&lt;br /&gt;
| coordinates = {{Coord|40.711452|N|74.011919|W|region:US-NY_type:event|display=title,inline}}&lt;br /&gt;
| target = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]]&lt;br /&gt;
| date = February 26, 1993&lt;br /&gt;
| time = 12:17:37 p.m.&lt;br /&gt;
| timezone = [[یوتی‌سی ۵:۰۰-]]&lt;br /&gt;
| type = [[خودرو انفجاری|Truck bombing]], [[کشتار جمعی]]&lt;br /&gt;
| fatalities = 6&lt;br /&gt;
| injuries = 1,042&lt;br /&gt;
| perp = [[القاعده]]&lt;br /&gt;
| assailants = [[Ramzi Yousef]], [[Eyad Ismoil]], and co-conspirators&lt;br /&gt;
| motive = [[بنیادگرایی اسلامی]], [[سیاست خارجی ایالات متحده آمریکا]], [[Israel–United States military relations#Military aid and procurement|U.S. support for Israel]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox civilian attack&lt;br /&gt;
| title = 1993 World Trade Center bombing&lt;br /&gt;
| image = WTC 1993 ATF Commons.jpg&lt;br /&gt;
| caption = Underground damage after the bombing&lt;br /&gt;
| location = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]], New York City, United States&lt;br /&gt;
| coordinates = {{Coord|40.711452|N|74.011919|W|region:US-NY_type:event|display=title,inline}}&lt;br /&gt;
| target = [[مرکز تجارت جهانی (۲۰۰۱–۱۹۷۳)|World Trade Center]]&lt;br /&gt;
| date = February 26, 1993&lt;br /&gt;
| time = 12:17:37 p.m.&lt;br /&gt;
| timezone = [[یوتی‌سی ۵:۰۰-]]&lt;br /&gt;
| type = [[خودرو انفجاری|Truck bombing]], [[کشتار جمعی]]&lt;br /&gt;
| fatalities = 6&lt;br /&gt;
| injuries = 1,042&lt;br /&gt;
| perp = [[القاعده]]&lt;br /&gt;
| assailants = [[Ramzi Yousef]], [[Eyad Ismoil]], and co-conspirators&lt;br /&gt;
| motive = [[بنیادگرایی اسلامی]], [[سیاست خارجی ایالات متحده آمریکا]], [[Israel–United States military relations#Military aid and procurement|U.S. support for Israel]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For all fields, no wikilinks are automatically incorporated into the infobox. Therefore, if you want anything to be linked to something else, they must be added when including the template.&lt;br /&gt;
&lt;br /&gt;
== Required fields ==&lt;br /&gt;
{{چپ‌چین}}&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; – A title for the attack; most likely this will match the article title, but you can change it to something slightly different if the title is a little over-descriptive&lt;br /&gt;
* &#039;&#039;&#039;location&#039;&#039;&#039; – The physical place, perhaps a specific airplane or building (multiple targets are allowed, of course), including the city, where the attack occurred; including the country is preferred for cities; including the province or state is discouraged unless necessary or well-known:&lt;br /&gt;
:* &#039;&#039;&#039;Major, international cities:&#039;&#039;&#039; Tokyo is okay, but Tokyo, Japan is preferred unless it compromises stylistic appearance&lt;br /&gt;
:* &#039;&#039;&#039;Major cities in well-known provinces:&#039;&#039;&#039; [[تورنتو]], [[انتاریو]], [[کانادا]] is unnecessarily specific; [[تورنتو]], Ontario or [[تورنتو]], Canada is preferred (although Toronto is okay)&lt;br /&gt;
:* &#039;&#039;&#039;Cities with relative international anonymity:&#039;&#039;&#039; [[بسلان]] is not good due to the city&#039;s relative anonymity; [[بسلان]], Russia is preferred; [[بسلان]], [[اوستیای شمالی-آلانیا]] is discouraged; [[بسلان]], [[اوستیای شمالی-آلانیا]], Russia is unnecessarily specific&lt;br /&gt;
:* &#039;&#039;&#039;Cities with common names:&#039;&#039;&#039; [[پورتلند، اورگن|Portland]] is not good; [[پورتلند، اورگن|Portland]], U.S. is not good either; [[پورتلند، اورگن]] (well-known state) or [[پورتلند، اورگن]], U.S. is preferred&lt;br /&gt;
:  Will be fetched from Wikidata ({{Wikidata entity link|P276}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;date&#039;&#039;&#039; – The date of the attack; use {{پیوند الگو|start date}} to allow for users&#039; date preferences to go into effect and include the date in the hCalendar microformat (see below; use {{پیوند الگو|end date}} for multi-day events). Will be fetched from Wikidata ({{Wikidata entity link|P585}}, if available) if not locally set&lt;br /&gt;
{{پایان چپ‌چین}}&lt;br /&gt;
== Optional fields ==&lt;br /&gt;
{{چپ‌چین}}&lt;br /&gt;
* &#039;&#039;&#039;native_name&#039;&#039;&#039; – the native name of the event, if different&lt;br /&gt;
* &#039;&#039;&#039;native_name_lang&#039;&#039;&#039; – [[ایزو ۲–۶۳۹]] code for the native name e.g. &#039;fr&#039; for French.  For an event with more than one native name, use {{الگوب|lang|XX|...}} for each name with {{پیوند الگو|plainlist}} or {{پیوند الگو|unbulleted list}} separating the names.&lt;br /&gt;
* &#039;&#039;&#039;partof&#039;&#039;&#039; – a terror campaign containing the civilian attack event described in the article.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; – An image associated with the event; do not precede the image name with &#039;&#039;Image:&#039;&#039; or &#039;&#039;File:&#039;&#039;. Will be fetched from Wikidata ({{Wikidata entity link|P18}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;image_size&#039;&#039;&#039; – Size of main image in pixels (&#039;&#039;&#039;Do not include &amp;quot;px&amp;quot;&#039;&#039;&#039;). Default 250. Example format — image_size = 150&lt;br /&gt;
* &#039;&#039;&#039;alt&#039;&#039;&#039; – Alt text for the image, for visually impaired readers. See [[ایران‌پدیا:متن جایگزین برای تصاویر]]. This should be specified if &#039;&#039;&#039;image&#039;&#039;&#039; is specified.&lt;br /&gt;
* &#039;&#039;&#039;caption&#039;&#039;&#039; – A caption for the image. Will be fetched from Wikidata ({{Wikidata entity link|P2096}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;map&#039;&#039;&#039; – A {{پیوند الگو|location map}} or map image&lt;br /&gt;
* &#039;&#039;&#039;map_caption&#039;&#039;&#039; – A caption for the map&lt;br /&gt;
* &#039;&#039;&#039;target&#039;&#039;&#039; – The target and/or purpose of the attack&lt;br /&gt;
* &#039;&#039;&#039;coordinates&#039;&#039;&#039; – geographical coordinates. Use {{پیوند الگو|coord}} with &#039;&#039;|display=inline,title&#039;&#039;.  Will be fetched from Wikidata ({{Wikidata entity link|P625}}, if available) if not locally set&lt;br /&gt;
* &#039;&#039;&#039;time&#039;&#039;&#039; – The time of the attack, or of multiple attacks if they all occurred at the same time (&#039;&#039;&#039;do not use this along with &#039;&#039;time-begin&#039;&#039; and &#039;&#039;time-end&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;time-begin&#039;&#039;&#039; and &#039;&#039;&#039;time-end&#039;&#039;&#039; – The start and end times, respectively, if a series of attacks (&#039;&#039;&#039;do not use this along with &#039;&#039;time&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;timezone&#039;&#039;&#039; – The timezone of the location of the attack(s); UTC+X, UTC−X, or UTC (i.e. offset from [[ساعت هماهنگ جهانی]]) preferred&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; – The type of attack (e.g. [[حمله انتحاری]], [[تیراندازی کور]], etc.)&lt;br /&gt;
* &#039;&#039;&#039;weapons&#039;&#039;&#039; – Weapons used in attacks (this field should not be over-used)&lt;br /&gt;
* &#039;&#039;&#039;fatalities&#039;&#039;&#039; – Number of people killed during attack(s); optionally, you can split this into different types of people (e.g. &#039;&#039;121 passengers, 21 crew&#039;&#039; or &#039;&#039;3 soldiers, 1 civilian&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;injuries&#039;&#039;&#039; – Number of people injured (excludes those killed) during attack(s)&lt;br /&gt;
* &#039;&#039;&#039;victims&#039;&#039;&#039; – i.e. hostages, etc. (use &#039;&#039;&#039;victim&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;perpetrators&#039;&#039;&#039; – The group that brings about or carries out a harmful, illegal, or immoral act (use &#039;&#039;&#039;perpetrator&#039;&#039;&#039; in case of a single group). Aliases: &#039;&#039;&#039;perp&#039;&#039;&#039; and &#039;&#039;&#039;perps&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;assailants&#039;&#039;&#039; – Those responsible for physically attacking others. (use &#039;&#039;&#039;assailant&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;susperps&#039;&#039;&#039; – Those who are currently believed to have committed the attack(s) (use &#039;&#039;&#039;susperp&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;numparts&#039;&#039;&#039; – Number of participants in the attack on the part of the perps (use &#039;&#039;&#039;numpart&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;dfens&#039;&#039;&#039; – Those who defended or repelled the attack, or were responsible for the immediate aftermath (use &#039;&#039;&#039;defen&#039;&#039;&#039; in case of a single person)&lt;br /&gt;
* &#039;&#039;&#039;motive&#039;&#039;&#039; – The motive, the reason why the attack was carried out&lt;br /&gt;
* &#039;&#039;&#039;website&#039;&#039;&#039; – Official websites (e.g. inquests/ inquiries, trials, commemoration or memorials) only. Use {{پیوند الگو|URL}}&lt;br /&gt;
* &#039;&#039;&#039;module&#039;&#039;&#039; – See [[#Embedding other templates|Embedding other templates]]&lt;br /&gt;
* &#039;&#039;&#039;inquiry&#039;&#039;&#039; - May be an [[inquest]] or other official inquiry&lt;br /&gt;
* &#039;&#039;&#039;coroner&#039;&#039;&#039; - Where coronial, the coroner appointed&lt;br /&gt;
* &#039;&#039;&#039;accused&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;convicted&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;verdict&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;convictions&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;charges&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;litigation&#039;&#039;&#039;&lt;br /&gt;
{{پایان چپ‌چین}}&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
{{UF-coord}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- رده‌ها و میان‌ویکی در اینجا: --&amp;gt;&lt;br /&gt;
[[رده:الگو:جعبه اطلاعات حقوق|Civilian attack]]&lt;br /&gt;
[[رده:الگو:جعبه اطلاعات رویداد|Civilian attack]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack&amp;diff=36181</id>
		<title>الگو:Infobox civilian attack</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:Infobox_civilian_attack&amp;diff=36181"/>
		<updated>2019-03-20T10:21:34Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| bodyclass  = vevent&lt;br /&gt;
| aboveclass = summary&lt;br /&gt;
| abovestyle = font-size:130%;&lt;br /&gt;
| above      = {{{title|&amp;lt;includeonly&amp;gt;{{PAGENAMEBASE}}&amp;lt;/includeonly&amp;gt;}}}&lt;br /&gt;
| subheader2 = {{#if:{{{partof|}}}|بخشی‌ از {{{partof|}}}}}&lt;br /&gt;
| image      = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|}}} |size={{{image_size|}}}|sizedefault=frameless|alt={{{alt|}}}}}&lt;br /&gt;
| caption    = {{{caption|}}}&lt;br /&gt;
| image2     = {{#invoke:InfoboxImage|InfoboxImage |image={{{map|}}} |size={{{map_size|}}} |sizedefault=250px |alt={{{map_alt|}}} }}&lt;br /&gt;
| caption2   = {{{map_caption|}}}&lt;br /&gt;
| subheader  = {{{subheader|}}}&lt;br /&gt;
&lt;br /&gt;
| label1     = نام محلی&lt;br /&gt;
|  data1     = {{#if:{{{native_name|}}}|&amp;lt;span {{#if:{{{native_name_lang|}}}|lang=&amp;quot;{{{native_name_lang}}}&amp;quot;}}&amp;gt;{{{native_name}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| label2     = موقعیت&lt;br /&gt;
| class2     = location&lt;br /&gt;
| data2      = {{#invoke:WikidataIB|getValue|P276|name=location|suppressfields={{{suppressfields|}}}|fetchwikidata={{{fetchwikidata|ALL}}}|onlysourced={{{onlysourced|}}}|{{{location|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label3     = مختصات&lt;br /&gt;
| data3      = {{{coordinates|}}}&lt;br /&gt;
&lt;br /&gt;
| label4     = تاریخ&lt;br /&gt;
| data4      = {{#invoke:WikidataIB|getValue|P585|name=date|suppressfields={{{suppressfields|}}}|fetchwikidata={{{fetchwikidata|ALL}}}|onlysourced={{{onlysourced|}}}|{{{date|}}} {{#if:{{{time|}}}|&amp;lt;br/&amp;gt;{{{time}}}}}{{#if:{{{time-begin|}}}|&amp;lt;br/&amp;gt;{{{time-begin}}}&amp;amp;nbsp;– {{{time-end}}}}} {{#if:{{{timezone|}}}|({{{timezone}}})}} }}&lt;br /&gt;
&lt;br /&gt;
| label5     = هدف&lt;br /&gt;
| data5      = {{{target|}}}&lt;br /&gt;
&lt;br /&gt;
| label6     = {{Longitem|نوع هدف}}&lt;br /&gt;
| data6      = {{{type|}}}&lt;br /&gt;
&lt;br /&gt;
| label7     = اسلحه{{#if:{{{weapon|}}} | |‌ها}}&lt;br /&gt;
| data7      = {{#if:{{{weapon|}}}|{{{weapon}}}|{{{weapons|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label8     = درگذشتگان&lt;br /&gt;
| data8      = {{{fatalities|}}}&lt;br /&gt;
&lt;br /&gt;
| label9     = {{Longitem|مجروحان}}&lt;br /&gt;
| data9      = {{{injuries|}}}&lt;br /&gt;
&lt;br /&gt;
| label10    = {{#if:{{{victims|}}}|متاثرین|متاثر}}&lt;br /&gt;
| data10     = {{#if:{{{victims|}}}|{{{victims}}}|{{{victim|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label11    = {{#if:{{{perpetrators|{{{perps|}}}}}}|مرتکبان|مرتکب}}&lt;br /&gt;
| data11     = {{#if:{{{perpetrators|{{{perps|}}}}}}|{{{perpetrators|{{{perps}}}}}}|{{{perpetrator|{{{perp|}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label12    = {{#if:{{{assailants|}}}|همدستان|همدست}}&lt;br /&gt;
| data12     = {{#if:{{{assailants|}}}|{{{assailants}}}|{{{assailant|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label13    = {{Longitem|{{#if:{{{susperps|}}}|مظنون‌ها|مظنون}}}}&lt;br /&gt;
| data13     = {{#if:{{{susperps|}}}|{{{susperps}}}|{{{susperp|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label14    = {{#if:{{{numparts|}}}|{{Longitem|تعداد مرتکبان}}|مرتکب}}&lt;br /&gt;
| data14     = {{#if:{{{numparts|}}}|{{{numparts}}}|{{{numpart|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label15    = {{#if:{{{dfens|}}}|مدافعان|مدافع}}&lt;br /&gt;
| data15     = {{#if:{{{dfens|}}}|{{{dfens}}}|{{{dfen|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label16    = انگیزه&lt;br /&gt;
| data16     = {{{motive|}}}&lt;br /&gt;
&lt;br /&gt;
| label17    = {{#if:{{{inquiries|}}}|مجزوحان|مجروح}}&lt;br /&gt;
| data17     = {{#if:{{{inquiries|}}}|{{{inquiries}}}|{{{inquiry|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label18    = {{#if:{{{coroners|}}}|پزشک قانونی|پزشک قانونی}}&lt;br /&gt;
| data18     = {{#if:{{{coroners|}}}|{{{coroners}}}|{{{coroner|}}}}}&lt;br /&gt;
&lt;br /&gt;
| label19    = متهم&lt;br /&gt;
| data19     = {{{accused|}}}&lt;br /&gt;
&lt;br /&gt;
| label20    = مجرم&lt;br /&gt;
| data20     = {{{convicted|}}}&lt;br /&gt;
&lt;br /&gt;
| label21    = رأی&lt;br /&gt;
| data21     = {{{verdict|}}}&lt;br /&gt;
&lt;br /&gt;
| label22    = محکومیت&lt;br /&gt;
| data22     = {{{convictions|}}}&lt;br /&gt;
&lt;br /&gt;
| label23    = مطالبه&lt;br /&gt;
| data23     = {{{charges|}}}&lt;br /&gt;
&lt;br /&gt;
| label24    = دعوی قضایی&lt;br /&gt;
| data24     = {{{litigation|}}}&lt;br /&gt;
&lt;br /&gt;
| label25    = وبگاه&lt;br /&gt;
| data25     = {{{website|}}}&lt;br /&gt;
&lt;br /&gt;
| header26 = {{{module|}}}&lt;br /&gt;
&lt;br /&gt;
| data27     = {{#if:{{{notes|}}} |&amp;lt;div style=&amp;quot;border-top:1px solid #aaa;font-size:90%;&amp;quot;&amp;gt;{{{notes}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
}}{{#invoke:Check for unknown parameters|check|unknown={{Main other|[[Category:Pages using infobox civilian attack with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[الگو:Infobox civilian attack]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y| accused | alt | assailant | assailants | caption | charges | convicted | convictions | coordinates | coroner | coroners | date | dfen | dfens | fatalities | fetchwikidata | image | image_size | injuries | inquiries | inquiry | litigation | location | map | map_alt | map_caption | map_size | module | motive | native_name | native_name_lang | notes | numpart | numparts | onlysourced | partof | perp | perpetrator | perpetrators | perps | subheader | suppressfields | susperp | susperps | target | time | time-begin | time-end | timezone | title | type | verdict | victim | victims | weapon | weapons | website }}&amp;lt;noinclude&amp;gt;{{توضیحات}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%81%D8%A7%D8%B7%D9%85%D9%87_%D8%A7%D9%85%DB%8C%D9%86%DB%8C&amp;diff=36160</id>
		<title>فاطمه امینی</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%81%D8%A7%D8%B7%D9%85%D9%87_%D8%A7%D9%85%DB%8C%D9%86%DB%8C&amp;diff=36160"/>
		<updated>2019-03-16T19:38:29Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ابرابزار&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{جعبه زندگینامه&lt;br /&gt;
 | اندازه جعبه       =&lt;br /&gt;
 | عنوان             =&lt;br /&gt;
 | عنوان ۲           =&lt;br /&gt;
 | نام               = فاطمه امینی&lt;br /&gt;
 | تصویر             = فاطمه امینی.jpg&lt;br /&gt;
 | اندازه تصویر      =&lt;br /&gt;
 | عنوان تصویر       = فاطمه امینی&lt;br /&gt;
 | زادروز            =&lt;br /&gt;
 | زادگاه            = مشهد&lt;br /&gt;
 | تاریخ مرگ         = ۲۵مرداد ۱۳۵۴&lt;br /&gt;
 | مکان مرگ          = زندان اوین&lt;br /&gt;
 | علت مرگ           = شکنجه&lt;br /&gt;
 | آرامگاه           = بهشت‌زهرا&lt;br /&gt;
 | بناهای یادبود     =&lt;br /&gt;
 | محل زندگی         =مشهد -تهران&lt;br /&gt;
 | ملیت              = ایرانی&lt;br /&gt;
 | نام‌های دیگر       =&lt;br /&gt;
 | نژاد              =&lt;br /&gt;
 | تابعیت            =ایرانی&lt;br /&gt;
 | تحصیلات            = فارغ‌التحصیل دانشکده ادبیات دانشگاه مشهد&lt;br /&gt;
 | دانشگاه           =دانشکده ادبیات دانشگاه مشهد&lt;br /&gt;
 | پیشه              =&lt;br /&gt;
 | سال‌های فعالیت     =۱۳۴۹ تا ۱۳۵۳&lt;br /&gt;
 | کارفرما           =&lt;br /&gt;
 | نهاد              =&lt;br /&gt;
 | نماینده           =&lt;br /&gt;
 | شناخته‌شده برای    =&lt;br /&gt;
 | نقش‌های برجسته     =&lt;br /&gt;
 | سبک               =&lt;br /&gt;
 | تأثیرگذاران       =&lt;br /&gt;
 | تأثیرپذیرفتگان    =&lt;br /&gt;
 | شهر خانگی         =&lt;br /&gt;
 | دستمزد            =&lt;br /&gt;
 | Net worth         =&lt;br /&gt;
 | قد                =&lt;br /&gt;
 | وزن               =&lt;br /&gt;
 | تلویزیون          =&lt;br /&gt;
 | لقب               =&lt;br /&gt;
 | دوره              =&lt;br /&gt;
 | پس از             =&lt;br /&gt;
 | پیش از            =&lt;br /&gt;
 | حزب               =سازمان مجاهدین خلق ایران&lt;br /&gt;
 | جنبش              =&lt;br /&gt;
 | مخالفان           =&lt;br /&gt;
 | هیئت              =&lt;br /&gt;
 | دین               =اسلام&lt;br /&gt;
 | مذهب              =شیعه&lt;br /&gt;
 | اتهام             =&lt;br /&gt;
 | مجازات            =&lt;br /&gt;
 | وضعیت گناهکاری    =&lt;br /&gt;
 | منصب              =&lt;br /&gt;
 | مکتب              =&lt;br /&gt;
 | آثار              =&lt;br /&gt;
 | همسر               =&lt;br /&gt;
 | شریک زندگی        =&lt;br /&gt;
 | فرزندان           =&lt;br /&gt;
 | والدین            =&lt;br /&gt;
 | خویشاوندان سرشناس =&lt;br /&gt;
 | گفتاورد           =&lt;br /&gt;
 | جوایز             =&lt;br /&gt;
 | امضا              =&lt;br /&gt;
 | اندازه امضا       =&lt;br /&gt;
 | signature_alt     =&lt;br /&gt;
 | وبگاه             =&lt;br /&gt;
 | imdb_id           =&lt;br /&gt;
 | Soure_id          =&lt;br /&gt;
 | پانویس            =&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;فاطمه امینی&#039;&#039;&#039; (زادروز … وفات ۲۵مرداد سال ۱۳۵۴) یکی از اعضای سازمان [[مجاهدین خلق ایران]] بوذ که در ۱۶ اسفند سال ۱۳۵۳ دستگیر و در زیر شکنجه‌های فراوان کشته شد، او اولین زن مجاهدی بود که در دوران نبرد مسلحانه با رژیم شاه در زیر شکنجه کشته شد&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== زندگی‌نامه ==&lt;br /&gt;
«فاطمه امینی» در شهر مشهد متولد شد&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;سازمان مجاهدین خلق ایران - [https://event.mojahedin.org/events/5261/ شهادت مجاهد قهرمان فاطمه امینی، اولین زن شهید مجاهد خلق]&amp;lt;/ref&amp;gt; او از سال ۱۳۴۱ فعالیت‌های سیاسی خود را علیه شاه آغاز می‌کند و در فاصله کوتاهی به کمک جمعی از دوستانش انجمن زنان مترقی را تشکیل می‌دهد. در آن زمان او در دانشکده ادبیات دانشگاه مشهد تحصیل می‌کرد. وی در سال ۱۳۴۳ از دانشگاه فارغ‌التحصیل شد و به تدریس در دبیرستانهای دخترانه مشهد مشغول شد و در عین حال سعی می‌کرد آنها را با مسائل سیاسی-اجتماعی آشنا کند.&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;کمیسیون زنان شورای ملی مقاومت ایران - [http://www.women.ncr-iran.org/fa/شهدای-راه-آزادی/2123-فاطمه-امینی سمبل پایداری و استقامت]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
او در سال ۱۳۴۹ به تهران سفر می‌کند و در آنجا با فعالیت‌های سازمان [[سازمان مجاهدین خلق ایران|مجاهدین خلق ایران]] آشنا شده و بعد از مدت کوتاهی به عضویت آن در می‌آید.&lt;br /&gt;
&lt;br /&gt;
== فعالیت‌ها و دستگیری ==&lt;br /&gt;
فاطمه امینی در تهران در رابطه دور و حتی غیرمستقیم با سازمان [[مجاهدین خلق ایران]] قرار گرفت و بعد از آن فعال شد؛ و سرانجام در سال ۱۳۴۹ به عضویت سازمان مجاهدین درآمد. در این زمان او در جلسات تفسیر قرآن [[آیت‌الله طالقانی]] شرکت می‌کرد و بینش و شناخت خود را نسبت به قرآن عمق می‌بخشید. به‌دنبال ضربه شهریور ۱۳۵۰، همسر او دستگیر و به ۱۰سال زندان محکوم گردید.&amp;lt;ref name=&amp;quot;:3&amp;quot;&amp;gt;سازمان مجاهدین خلق ایران - [https://www.mojahedin.org/news/142077/فاطمه-امینی-بشارت-دهنده-کهکشانی-پرشکوه-از-فدا-و-پایداری-زنان-مجاهد فاطمه امینی بشارت دهنده کهکشانی پرشکوه از فدا و پایداری زنان مجاهد]&amp;lt;/ref&amp;gt; پس از ضربه شهریور۵۰ که بیش از ۹۰درصد اعضا و کادرهای مجاهدین دستگیر شدند، فاطمه مسئولیت سازماندهی خانواده‌های مجاهدین جهت به راه‌انداختن حرکتهای افشاگرانه و اعتراضی را به‌عهده داشت.&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
فاطمه امینی در تابستان ۱۳۵۳ زندگی مخفی_مبارزاتی خود را شروع کرد و تمام وقت و انرژی خود را صرف سازمان مجاهدین کرد. فاطمه امینی در این زمان ضمن ادامه فعالیت مخفی _ سازمانی خود در دبیرستان رفاه تهران نیز تدریس می‌کرد. او مسئول ارتباط با خانواده‌های شهدا و زندانیان مجاهد خلق و حل مسائل آنها بود. او مستقیماً تظاهرات و حرکات اعتراض‌آمیز خانواده‌ها را علیه رژیم شاه همگام با سایر خواهران رهبری می‌کرد. فاطمه در اغلب دادگاه‌های نظامی شاه شرکت کرد و اطلاعات مهمی از درون اتاقهای دربسته با خود بیرون آورد. او همچنین در ملاقات با زندانیان مجاهد، یک عامل مهم انتقال و رد و بدل اخبار جنبش میان داخل زندان و بیرون زندان بود. در چند مورد نیز بررسیها و شناسایی‌هایی در مورد امکان فرار از زندان به‌عمل آورد که به نتیجه نرسید. فاطمه امینی ضمن تماسهای گسترده‌ای که با خانواده‌ها داشت در مدت کوتاهی توانسته بود امکانات پشت جبهه تازه و وسیعی برای سازمان فراهم سازد که تأثیر به‌سزایی در تثبیت و رشد سازمان مجاهدین در شرایط بعد از ضربه شهریور ۱۳۵۴داشت. فاطمه قبل از آن‌که مخفی شود جلسات منظمی نیز برای دختران مبارز و به‌خصوص وابستگان شهدا و زندانیان مجاهد ترتیب داد. فاطمه در این جلسات به تفسیر قرآن و طرح مباحث سیاسی می‌پرداخت. در همین جلسات عناصر مستعد و آماده را برای عضوگیری به سازمان مجاهدین معرفی می‌کرد.&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اما در ۱۶ اسفند سال ۱۳۵۳ او نیز دستگیر و به زندان اوین منتقل می‌شود. روزنامه‌های رژیم شاه اعلام کردند: جسد زن جوانی به نام فاطمه امینی را در ارتفاعات توچال پیدا کرده‌اند. ظاهراً وی در یک سانحه در کوهستان از ارتفاع سقوط کرده و دچار مرگ شده‌است.&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== زندان و شکنجه ==&lt;br /&gt;
فاطمه امینی که در ۱۶ اسفند سال ۱۳۵۳ حین اجرای یک قرار دستگیر گردید. به او شوک دادند، برادرش را به اتاق بازجویی او آوردند و خواهر و برادر را جلوی هم شکنجه کردند، اما فاطمه حاضر به لو دادن اطلاعات نشد. او را به یک تخت فلزی بستند و زیرتخت، گاز پیک‌نیکی پرشعله روشن کردند. وقتی تخت داغ شد یکی از شکنجه‌گران با پاهایش روی شکم فاطمه رفت و این‌طوری پشت فاطمه سوخت. بدن سوخته‌اش عفونت کرد و دو ماه در بیمارستان بود. کمی که بهتر شد دوباره شکنجه‌ها شروع شد. اما فاطمه یک بار به منوچهری که او را شکنجه می‌کرد، گفته بود:&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&amp;lt;blockquote&amp;gt;«شماها هنوز این را نفهمیدید که اگر من می‌خواستم حرف بزنم و این حساب‌ها را بکنم، این همه شکنجه را تحمل نمی‌کردم و همان موقع که سالم بودم بجه‌ها را لو می‌دادم. می‌خواهید همرزمانمان را معرفی کنم تا شماها آنها را هم مثل من شکنجه کنید؟&amp;lt;ref&amp;gt;دیکشنری - [http://dictionary.sensagent.com/فاطمه%20امینی/fa-fa/ فاطمه امینی]&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;برادر فاطمه امینی می‌گوید:&amp;lt;blockquote&amp;gt;«پس از ملاقاتی که در اوایل اسفند ۱۳۵۳ در منزل یکی از هواداران با فاطمه داشتم قرار شد ۵ شنبه ۱۵اسفند برای مذاکراتی دربارهٔ یک سری مسائل امنیتی مجدداً با وی در خیابان بهار ملاقات نمایم. من صبح همان روز قبل از موعد قرار ملاقات در حالی‌که از منزل به‌همین منظور خارج شده بودم در خیابان به‌وسیله مأموران دستگیر شدم. آنها بلافاصله مرا به زندان اوین و یک راست به اتاق بازجویی بردند. من یک ساعت بعد با فاطمه قرار داشتم به‌علاوه قرار بود که در این ملاقات مبلغ ۲۰هزار تومان برای کمک به سازمان مجاهدین به وی بدهم که در موقع دستگیری همراهم بود. پس از ساعت قرارم را سوزاندم. مسئله پول نیز لو نرفت. تا این زمان هنوز نمی‌دانستم که چگونه و از کجا لو رفته‌ام. روز بعد از دستگیری من، فاطمه نیز دستگیر شد. در این موقع بود که سرنخی از دستگیریها را پیدا کردم. صبح روز بعد مرا از سلول به اتاق بازجویی بردند. در اتاق بازجویی [[پرویز خدایاری]] و یک بازجوی دیگر به نام فرامرزی (که بازجویی از من را به عهده داشت) و [[ازغندی]] معروف به منوچهری و چند مزدور دیگر حضور داشتند. صدای فریاد زنی از اتاق مقابل بلند بود. پرویز خدایاری خطاب به من گفت: این صدای کیست؟ همین‌که از پشت پنجره کوچک در به داخل نگاه کردم فاطمه را با دست و پای بسته مشاهده کردم که یک نفر معروف به اسفندیاری مشغول شکنجه وی بود. او را با چشمان بسته و به شکل صلیب محکم به تخت بسته بودند و با یک کابل ضخیم به سرتاسر بدن و کف پاهایش شلاق می‌زدند. پس از لحظاتی که این صحنه را تماشا کردم مرا به اتاق قبلی برگرداندند. آنگاه خدایاری به من گفت: «هر چه کردیم او حرف نزده. اجازه کشتن او را گرفته‌ایم. برو به او بگو حرف بزند، خلاصه اگر کاری نکنی که او حرف بزند وی را خواهیم کشت». پاهای فاطمه غرق خون شده بود. پس از لحظاتی فاطمه که دیگر از شدت شکنجه رمقی برایش نمانده بود از حال رفت و بیهوش شد و دو مرتبه با ریختن آب روی سر و بدنش به هوش آورده شد.&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&amp;lt;/blockquote&amp;gt;دکتر [[سیمین صالحی]] در کتاب &amp;quot;دادوبیداد&amp;quot;(۱)، در خاطره‌ای باعنوان &amp;quot;زیبای خفته&amp;quot; از &amp;quot;فاطیه امینی&amp;quot; می‌نویسد:&amp;lt;blockquote&amp;gt;[بازجو] منوچهری ([[ازغندی]]) تا مرا دید با لحنی مهربان، امّا با حالتی کلافه گفت: یکی را دستگیر کردیم حرف نمی‌زنه، ما از بالا تخت فشار هستیم. آخه هر کی دستگیر میشه یک چیزی میگه. ولو نشانی یک خانه خالی را میده. این زن اصلاً حرف نمی زنه. همه ما را دیونه کرده، ما را مجبور کرده شکنجه‌اش کنیم. بازهم حرف نمی‌زنه. تو دکتری باید خوبش کنی. نصیحتش هم بکن. باید بالاخره، یک چیزی بگه ما باید به بالاترها گزارش کنیم. حاضری زخمهایش رو معالجه کنی؟.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;چشمم را در اتاقی باز کردند. دختری لاغر و تکیده، با چشم‌های بسته دراز کشیده بود. موهای بلند شبق رنگش دور صورتش ریخته بود و مژه‌های سیاه بلندش روی چهره مهتابیش جلوه خاصی داشت. آهسته رفتم جلو تختش دستم را به علامت سکوت روی دماغم گذاشتم مبادا حرفی بزند و آن را ضبط کنند. دست دیگرم را گذاشتم روی دستش، چشمان سیاه مهربانش را به آرامی باز کرد. گفتم سیمین هستم. فامیلم را پرسید. گفتم و کنارش نشستم. پرسیدم خیلی درد داری؟ چیزی نگفت. سئوال احمقانه‌ای بود. &amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt; او فاطمه امینی بود. فاطی روح والایی داشت، همه عشق بود و عاطفه، بچه‌ها را تک‌تک با تمام قلبش رفیقانه می‌پرستید. فاطی می‌گفت که خودش پیش از پیوستن به مبارزة مسلحانه، از شکنجه وحشت داشته و به همه می‌گفته &amp;quot;چیزی جلوی من نگین که زیر شکنجه طاقت نخواهم آورد&amp;quot; اما حالا پر از اطلاعات بود. به فاطی گفتم باید راه برود وگرنه خون توی رگ‌ها لخته می‌شود. به کمک من از جا بلند شد. لنگ‌لنگان و آهسته قدم برمی‌داشت. دور دوم سرش گیج رفت. روی زمین درازش کردم یک لحظه بی‌هوش شد. بعد چشم‌های زیبا و پرمهرش را گشود و پرسید: &amp;quot;چی شد؟&amp;quot; گفتم: &amp;quot;بی‌هوش شدی.&amp;quot; آهی کشید و گفت: &amp;quot;اگه مرگ این‌طور باشه، چه راحته!&amp;quot;&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;دیدگاه‌ها - [http://www.didgah.net/maghalehMatnKamel.php?id=9677 فاطمه امینی-«زیبای خفته»]&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;هنوز زخم‌هایش را ندیده بودم. روز بعد وسایل پانسمان و مسکن و آنتی‌بیوتیک خواستم به سرعت همه‌چیز را آورند. قیچی، چاقوی تیز جراحی، داروی مسکن و… همه آن چیزهایی که یک لحظه هم دست زندانی نمی‌دهند. مات مانده بودم. فکر کردم پرستاری، نگهبانی، کسی مراقبت خواهد کرد. اما هیچ‌کس نبود. همه‌چیز را داده بودند دست من. با آن قرص‌ها می‌شد به آسانی خودکشی کرد. من از زمان دستگیری‌ام دو بار سابقة خودکشی داشتم. اما جای این فکرها نبود. اول باید زخم‌ها را پانسمان می‌کردم. فاطی را چرخاندم روی شکم. وقتی باندها را از روی لمبرِ سوخته‌اش برداشتم، خشکم زد. به زخم‌ها نگاه می‌کردم و تمام بدنم می‌لرزید. خیلی سوختگی دیده بودم؛ دختر پانزده‌ساله‌ای که خوسوزی کرده بود و از گردن به پایین همه‌جایش سوخته بود، کارگرهایی که در کارخانه می‌سوختند و به بیمارستان سینا می‌آوردند، اما زخم‌های فاطی چیز دیگری بودند، دلخراش بودند. عمیق و قرمز و برشته بودند. سوختگی درجه سه.&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;فاطی حالِ نزار مرا حس کرد، گفت: &amp;quot;شروع کن!&amp;quot; دست‌هایم می‌لرزید و قلبم تیر می‌کشید. نمی‌دانم عمقِ سوختگی بود یا عمقِ قساوت که این‌چنین مرا منقلب کرده بود. باورم نمی‌شد انسانی بتواند انسانی دیگر را به عمد این چنین بی‌رحمانه بسوزاند؟ در تمام ۹ ماهی که زیر بازجویی بودم، نعره‌های دردآلودِ بسیاری را شنیده بودم، پاهای ورم‌کرده و زخمی خودم و زندانیان دیگر را دیده بودم، دخترم را در زندان و شرایطی سخت به‌دنیا آورده بودم، دو بار دست به خودکشی زده بودم. دیگر خشونت و درد جزیی از زندگی روزمره‌ام شده بود، اما وضع فاطی حکایت دیگری بود؛ تک و تنها، تکیده و ضعیف… یک مشت آدمِ رذلِ جنون‌زده او را تا سر حد مرگ شکنجه کرده بودند. حالا که در برابر مقاومت فاطی شکست خورده بودند می‌خواستند حالش را خوب کنند تا دوباره او را شکنجه کنند.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;پوست‌های مرده را می‌چیدم، انگار تارهای قلبم را قیچی می‌کردم. متشنج بودم و دست‌هایم می‌لرزید؛ ولی اشک‌هایم خشک شده بود. فاطی صبور بود و هیچ نمی‌گفت. حتی تکان نمی‌خورد. یک طرف بدنش نیمه‌فلج شده بود. پانسمان لمبرش را تمام کردم و به پاهایش رسیدم. حالا لمبرهای سوختة فاطی آن‌چنان در ذهنم نقش بسته که بدن نیمه‌فلج و زخم پاهایش برایم به خاطره‌ای محو و کم‌رنگ تبدیل شده. روز بعد ازش پرسیدم: &amp;quot;با چی تو رو این جور سوزوندن؟&amp;quot; ساده و کوتاه گفت: &amp;quot;زیر تخت آهنی منقل گذاشته بودن. بازجو رفت رو شکمم ایستاد و پشتم به آهن‌های داغ چسبید. این جوری سوخت. حالا می‌ترسم بازم شکنجه‌ام کنن!&amp;quot;&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;من هم می‌ترسیدم. با این‌که از او چیزی نمی‌پرسیدم، ولی از فحوای کلامش فهمیدم که خیلی اطلاعات دارد. ساواک هم این را می‌دانست. چند سال بود که در مبارزه بود.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;باید کاری می‌کردیم که از حدتِ شکنجه بکاهیم و زمان را بخریم. در زندان روز به روز آموخته بودم که هیچ‌چیز در طول زمان پایدار نیست. تجربة آدم در برابر بازجویی و شکنجه بیشتر می‌شود و ترس کمتر. هم برای فاطی نگران بودم هم برای اطلاعاتش. بالاخره به او گفتم: &amp;quot;فاطی جان، طبق قرار سازمانی ما می‌تونیم بعد از ۲۴ ساعت نشونی خانة تخلیه‌شده رو بدیم. این که اشکالی ندارد، حتماً بچه‌ها خونه‌رو تخلیه کرده‌ان.&amp;quot; اما فاطی نمی‌خواست هیچ‌چیز به دست ساواک بیفتد. می‌گفت: &amp;quot;درخت کهنسالی با شاخه‌های زیبایی در اون خونه هست که نمی‌خوام به دست اینا بیفته …&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;فاطی را کشتند. از اوّل نقشه کشتن او را در سر داشتند. امّا چطوری او را کشتند؟ آیا ذرّه ذرّه زیر شکنجه و درد کشته شد؟ یا آنطور که دلش می‌خواست به طور ناگهانی؟&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;جهنمی ساخته بودند که در آن مرگ به معنای رهائی بود.»&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== بازجویی ==&lt;br /&gt;
[[پرونده:متن بازجویی فاطمه امینی.jpg|جایگزین=متن بازجویی|بندانگشتی|فاطمه امینی همراه با متن بازجویی]]&lt;br /&gt;
در یکی از صفحات صورتجلسه بازجویی فاطمه امینی که به‌عنوان یکی از اسناد زرین مقاومت ایران و قهرمانی و نستوهی زنان مجاهد خلق تا ابد ثبت شده، چنین آمده‌است:&lt;br /&gt;
&lt;br /&gt;
- هویت خود را بیان نمایید:&lt;br /&gt;
&lt;br /&gt;
- من مجاهد خلقم.&lt;br /&gt;
&lt;br /&gt;
- مشخصات پدر و مادر خود را معرفی کنید:&lt;br /&gt;
&lt;br /&gt;
- من فرزند خلقم.&lt;br /&gt;
&lt;br /&gt;
_ محل کار و سکونت پدر و سایر بستگان خود را مشخص کنید:&lt;br /&gt;
&lt;br /&gt;
همان‌طور که گفتم من فرزند خلقم و محل سکونتم نزد خلق است.&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== درگذشت ==&lt;br /&gt;
فاطمه امینی، روز ۲۵مرداد ۱۳۵۴ در زیر شکنجه درگذشت. او اولین زن مجاهد خلق بود که در دوران نبرد مسلحانه با رژیم شاه در زیر شکنجه درگذشت&amp;lt;ref name=&amp;quot;:3&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== جستارهای وابسته ==&lt;br /&gt;
== منابع ==&lt;br /&gt;
{{پانویس|۲}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36204</id>
		<title>پودمان:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36204"/>
		<updated>2019-03-09T16:14:03Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[پرونده:Sandbox.svg|50px|جایگزین=|پیوند=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین الگو]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین پودمان]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;صفحهٔ تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;اینجا $1 برای $2 است،&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;اینجا $1 برای $2 هست ($3).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;نمونه‌های آزمایشی&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید ($2).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;]&lt;br /&gt;
-- A category to add to all template sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;صفحه تمرین الگوها&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[پرونده:Test Template Info-Icon - Version (2).svg|50px|پیوند=|جایگزین=نماد توضیحات|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;توضیحات الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;توضیحات پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;خلاصه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;نمایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;تاریخچه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;پاکسازی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;[[ایران‌پدیا:مستندسازی الگوها|توضیحات]] بالا [[ایران‌پدیا:تراگنجانش|تراگنجانده‌شده]] از $1 است.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;در صورت تمایل یک صفحهٔ توضیحات برای این [[ایران‌پدیا:لوآ|پودمان اسکریبونتو]] $1 کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این الگو را آزمایش کنند.&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این پودمان را آزمایش کنند.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;نسخه تمرین $1 را ایجاد کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;آینه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;الگو:توضیحات/آینه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;لطفاً رده‌ها را به زیرصفحهٔ $1 بیفزایید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;زیرصفحه‌های این $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;صفحه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-docpage-preload&#039;]&lt;br /&gt;
-- Preload file for documentation page in the file namespace.&lt;br /&gt;
cfg[&#039;file-docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-فضای-پرونده&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-توضیحات-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Print version configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage used for print versions.&lt;br /&gt;
cfg[&#039;print-subpage&#039;] = &#039;چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /Print subpage.&lt;br /&gt;
cfg[&#039;print-link-display&#039;] = &#039;/چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-blurb&#039;]&lt;br /&gt;
-- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg[&#039;print-link-display&#039;].&lt;br /&gt;
cfg[&#039;print-blurb&#039;] = &#039;یک [[:en:Help:Books/for experts#Improving the book layout|نسخه چاپی]] از این الگو در $1 موجود است.&#039;&lt;br /&gt;
	.. &#039; اگر تغییری در این الگو ایجاد می‌کنید، خواهشمند است نسخه چاپی را هم به‌روز کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-print-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;print-category&#039;] if a /Print subpage exists.&lt;br /&gt;
-- This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-print-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-print-category&#039;] is set to true, and a /Print subpage exists.&lt;br /&gt;
cfg[&#039;print-category&#039;] = &#039;الگوهایی با نسخه‌های چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-id&#039;]&lt;br /&gt;
-- The &amp;quot;id&amp;quot; attribute of the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-id&#039;] = &#039;template-documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- The CSS classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;template-documentation iezoomfix&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-linkclasses&#039;]&lt;br /&gt;
-- The CSS classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
cfg[&#039;start-box-linkclasses&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-id&#039;]&lt;br /&gt;
-- The HTML &amp;quot;id&amp;quot; attribute for the links in the start box.&lt;br /&gt;
cfg[&#039;start-box-link-id&#039;] = &#039;doc_editlinks&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- {{fmbox}} template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-id&#039;]&lt;br /&gt;
-- The id sent to the &amp;quot;id&amp;quot; parameter of the {{fmbox}} template.&lt;br /&gt;
cfg[&#039;fmbox-id&#039;] = &#039;documentation-meta-data&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-style&#039;]&lt;br /&gt;
-- The value sent to the style parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-style&#039;] = &#039;background-color: #ecfcf4&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-textstyle&#039;]&lt;br /&gt;
-- The value sent to the &amp;quot;textstyle parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-textstyle&#039;] = &#039;font-style: italic&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;صفحات ایران‌پدیا با کاربرد عجیب «توضیحات»&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36190</id>
		<title>پودمان:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Documentation/config&amp;diff=36190"/>
		<updated>2019-03-09T16:14:03Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[پرونده:Sandbox.svg|50px|جایگزین=|پیوند=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین الگو]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;صفحهٔ [[ایران‌پدیا:تمرین و نمونه‌های آزمایشی الگو|تمرین پودمان]]&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;صفحهٔ تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;اینجا $1 برای $2 است،&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;اینجا $1 برای $2 هست ($3).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;نمونه‌های آزمایشی&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;همچنین زیرصفحه همنشین برای $1 را ببینید ($2).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;]&lt;br /&gt;
-- A category to add to all template sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;صفحه تمرین الگوها&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[پرونده:Test Template Info-Icon - Version (2).svg|50px|پیوند=|جایگزین=نماد توضیحات|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;توضیحات الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;توضیحات پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;خلاصه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;نمایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;تاریخچه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;پاکسازی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;[[ایران‌پدیا:مستندسازی الگوها|توضیحات]] بالا [[ایران‌پدیا:تراگنجانش|تراگنجانده‌شده]] از $1 است.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;در صورت تمایل یک صفحهٔ توضیحات برای این [[ایران‌پدیا:لوآ|پودمان اسکریبونتو]] $1 کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این الگو را آزمایش کنند.&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;ویرایشگران می‌توانند در صفحات $1 و $2 این پودمان را آزمایش کنند.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-تمرین-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;تمرین&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;تفاوت&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;نسخه تمرین $1 را ایجاد کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;آینه&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;الگو:توضیحات/آینه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-آزمایشی-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;آزمایشی&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;ویرایش&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;اجرا&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;ایجاد&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;لطفاً رده‌ها را به زیرصفحهٔ $1 بیفزایید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;زیرصفحه‌های این $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;الگو&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;صفحه&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;توضیحات&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-docpage-preload&#039;]&lt;br /&gt;
-- Preload file for documentation page in the file namespace.&lt;br /&gt;
cfg[&#039;file-docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-فضای-پرونده&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;الگو:توضیحات/پیش‌بارگیری-توضیحات-پودمان&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Print version configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage used for print versions.&lt;br /&gt;
cfg[&#039;print-subpage&#039;] = &#039;چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /Print subpage.&lt;br /&gt;
cfg[&#039;print-link-display&#039;] = &#039;/چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-blurb&#039;]&lt;br /&gt;
-- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg[&#039;print-link-display&#039;].&lt;br /&gt;
cfg[&#039;print-blurb&#039;] = &#039;یک [[:en:Help:Books/for experts#Improving the book layout|نسخه چاپی]] از این الگو در $1 موجود است.&#039;&lt;br /&gt;
	.. &#039; اگر تغییری در این الگو ایجاد می‌کنید، خواهشمند است نسخه چاپی را هم به‌روز کنید.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-print-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;print-category&#039;] if a /Print subpage exists.&lt;br /&gt;
-- This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-print-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-print-category&#039;] is set to true, and a /Print subpage exists.&lt;br /&gt;
cfg[&#039;print-category&#039;] = &#039;الگوهایی با نسخه‌های چاپ&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-id&#039;]&lt;br /&gt;
-- The &amp;quot;id&amp;quot; attribute of the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-id&#039;] = &#039;template-documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- The CSS classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;template-documentation iezoomfix&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-linkclasses&#039;]&lt;br /&gt;
-- The CSS classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
cfg[&#039;start-box-linkclasses&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-id&#039;]&lt;br /&gt;
-- The HTML &amp;quot;id&amp;quot; attribute for the links in the start box.&lt;br /&gt;
cfg[&#039;start-box-link-id&#039;] = &#039;doc_editlinks&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- {{fmbox}} template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-id&#039;]&lt;br /&gt;
-- The id sent to the &amp;quot;id&amp;quot; parameter of the {{fmbox}} template.&lt;br /&gt;
cfg[&#039;fmbox-id&#039;] = &#039;documentation-meta-data&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-style&#039;]&lt;br /&gt;
-- The value sent to the style parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-style&#039;] = &#039;background-color: #ecfcf4&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;fmbox-textstyle&#039;]&lt;br /&gt;
-- The value sent to the &amp;quot;textstyle parameter of {{fmbox}}.&lt;br /&gt;
cfg[&#039;fmbox-textstyle&#039;] = &#039;font-style: italic&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;صفحات ایران‌پدیا با کاربرد عجیب «توضیحات»&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35988</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35988"/>
		<updated>2019-03-08T11:31:20Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۱۰&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35987</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35987"/>
		<updated>2019-03-08T11:29:24Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۹&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35986</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35986"/>
		<updated>2019-03-08T11:28:20Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۸&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35985</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35985"/>
		<updated>2019-03-08T11:26:31Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۷&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35984</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35984"/>
		<updated>2019-03-08T10:46:34Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۶&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35982</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35982"/>
		<updated>2019-03-08T10:29:31Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۵&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35980</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35980"/>
		<updated>2019-03-08T10:14:27Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۴&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35979</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35979"/>
		<updated>2019-03-08T10:09:15Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۳&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35978</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35978"/>
		<updated>2019-03-08T10:08:01Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست ۲&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35977</id>
		<title>کاربر:Mahan/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Mahan/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35977"/>
		<updated>2019-03-08T10:07:02Z</updated>

		<summary type="html">&lt;p&gt;Mahan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;تست&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Hossein/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35973</id>
		<title>کاربر:Hossein/صفحه تمرین</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:Hossein/%D8%B5%D9%81%D8%AD%D9%87_%D8%AA%D9%85%D8%B1%DB%8C%D9%86&amp;diff=35973"/>
		<updated>2019-03-08T09:26:31Z</updated>

		<summary type="html">&lt;p&gt;Mahan: صفحه‌ای تازه حاوی «== قتل‌عام ۶۷ == قتل‌عام در لغت یک ترکیب وصفی است که معنای آن کشتن دسته‌جمعی،...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== قتل‌عام ۶۷ ==&lt;br /&gt;
قتل‌عام در لغت یک ترکیب وصفی است که معنای آن کشتن دسته‌جمعی، کشتن جماعت، کشتار دسته‌جمعی از حیوانات یا از انسان و جز آن می‌باشد این کلمه در کنار کلماتی همچون قتلهای زنجیره‌ای، قتل‌عمد، قتل‌غیرعمد، قتل سیاسی، قتل فجیع، قتل نفس، قتل و کشتار، قتل و غارت و در قیاس با آنها بکار برده می‌شود.&amp;lt;ref&amp;gt;لغتنامه [http://www.vajehyab.com/dehkhoda/قتل+عام دهخدا]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
بنابر تعریف اف‌بی‌آی کشتار جمعی به قتل چهار نفر یا بیش از آن گفته می‌شود که بدون وقفه انجام شده باشد. کشتارهای جمعی اساساً توسط دولتها و یا گروه‌های نیابتی از دولتها انجام می‌شود ولی همچنین ممکن است توسط افراد یا حتی توسط سازمان‌ها انجام شود. این کشتارها همچنین می‌تواند شامل قتل تعداد زیادی از شهرواندان توسط دولت‌های محلی و مأمورین آنها باشد. اعدامهای دسته‌جمعی از اسرای جنگی، یا اعدامهای جمعی از میان زندانیان، برجسته‌ترین انواع قتل‌عام‌هاست. تیراندازی به معترضین غیرمسلح، پرتاب نارنجک به درون زندان‌ها و اعدام تصادفی شهروندان غیرنظامی نیز از موارد کشتار جمعی محسوب می‌شود. انجام کشتار جمعی متفاوت با کشتار دوره‌ای است که در آن مرتکب در چند نوبت و در مکان‌های متفاوت و در زمانی مشخصی بین آنها دست به کشتن دو نفر یا بیشتر می‌زند و همچنین متفاوت با آدم‌کشی زنجیره‌ای است که در آن قاتل تعداد زیادی را در محدوده زمانی طولانی به قتل می‌رساند. بزرگترین کشتارهای جمعی تاریخ تلاش برای نابودی گروهی از مردم و جوامع بر اساس قومیت و مذهب بوده‌است که بعضی از این کشتارها با عنوان نسل‌کشی و بقیه با نام جنایات علیه بشریت شناخته می‌شود. قتل‌عام توسط مغولها در تاریخ ایران، مردم کرمان به دست آغامحمدخان قاجار، کشتار روندا و سربرنیتسا و قتل‌عام سال ۱۳۶۷ در زندانهای خمینی از نمونه‌های برجسته قتل‌عام می‌باشد.&lt;br /&gt;
&lt;br /&gt;
=== قتل‌عام ۶۷ ===&lt;br /&gt;
به واقعه‌ای گفته می‌شود که طی آن به فرمان روح‌الله خمینی بیش از ۳۰هزار زندانی سیاسی در زندان‌های حکومت ایران از اواخر تیرماه تا اواسط پائیز ۶۷ در تهران و در شهرستان‌ها اعدام شدند و به صورت مخفیانه در گورهای جمعی در مکان‌هایی غالباً نامعلوم دفن گردیدند. بیشترین تعداد زندانیان سیاسی اعدام شده از اعضا و هواداران سازمان مجاهدین خلق ایران بودند، در حالیکه اعدام‌ها اعضا و هواداران طیفی از نیروهای دیگر مانند احزاب و سازمان‌های مارکسیستی را هم شامل می‌شد. مقامات حکومت ایران هیچگاه این قتل‌عام را انکار نکردند و برخی از آنها به صراحت به آن اذعان نمودند. حسینعلی منتظری، بلندپایه‌ترین روحانی حکومت ایران بعد از روح‌الله خمینی که در زمان اعدام زندانیان سیاسی قائم مقام خمینی بود، از مخالفین این اعدام‌ها بود که با نوشتن چندین نامه به خمینی و دیدار با هیئت مجری و دست‌اندرکار قتل‌عام زندانیان سیاسی، مخالفت خویش را ابراز کرد. مخالفتی که به برکناری‌اش از جانشینی توسط روح‌الله خمینی و حبس خانگی تا پایان عمر منجر شد. متن فرمان روح‌الله خمینی برای قتل‌عام زندانیان سیاسی، نامه‌های حسینعلی منتظری به خمینی در مخالفت با این اعدام‌ها و فایل صوتی دیدار منتظری با اعضای هیئت مجری اعدام زندانیان سیاسی از جمله اسناد و مدارکی هستند که تردیدی در وقوع این قتل‌عام باقی نمی‌گذارند. با فراخوان به جنبش دادخواهی قتل‌عام شدگان تابستان ۶۷ از سوی مریم رجوی در مرداد ۱۳۹۵ موضوع اعدام زندنیان سیاسی در سال ۶۷ بطور گسترده به رسانه‌ها، دانشگاه‌ها، فضای مجازی و به اقصی نقاط شهرهای ایران راه یافت و به همین دلیل مقامات حکومت پس از ۲۹ سال ناگزیر به موضع‌گیری دربارهٔ قتل‌عام زندانیان سیاسی شدند. تاکنون برخی از شخصیت‌ها، سازمان‌ها و ارگان‌های بین‌المللی مانند سازمان ملل متحد، سازمان عفو بین‌الملل، گزارشگر ویژه ملل متحد برای نظارت بر وضعیت حقوق‌بشر در ایران و شماری از سازمان‌های غیردولتی دارای رتبه مشورتیِ ملل متحد، به قتل‌عام زندانیان سیاسی در تابستان ۶۷ اشاره کرده و آنرا محکوم نموده‌اند.&lt;br /&gt;
&lt;br /&gt;
==== پیشینه امر ====&lt;br /&gt;
===== شروع سرکوب پس از پیروز انقلاب ۱۳۵۷ =====&lt;br /&gt;
۱۰روز قبل از پیروزی انقلاب ضدسلطنتی در سال ۱۳۵۷، خمینی در گورستان بهشت زهرا گفت: «… دلخوش نباشید که فقط مسکن و آب و برق را مجانی می‌کنیم… ما علاوه بر این‌که زندگی مادی شما را مرفه می‌کنیم، زندگی معنوی شما را هم مرفه می‌کنیم…»، بعد هم با اشاره به شهدای ۱۷ شهریور گفت: «[شاه] ممکلت ما را خراب کرد و قبرستانهای ما را آباد…». او که از مجلس مؤسسان و حکومت مردم حرف می‌زد می‌گفت روحانیت کاری به سیاست ندارد… اما، روز ۱۷ اسفند گفت: «جمهوری اسلامی نه یک کلمه کم نه یک کلمه زیاد». هنوز چند هفته از انقلاب ضدسلطنتی نگذشته بود که دسته‌های حزب‌اللهی شعار «یا روسری یا توسری» را در خیابانها سر دادند و حمله به تجمعات زنان شروع شد. یک تظاهرات در آن ایام بر علیه حجاب اجباری ترتیب داده شد. وعده مجلس مؤسسان عملی نشد و به جایش نهادی مثل شورای نگهبان و مجلس خبرگان جایگزین شد. آیةالله طالقانی در ۱۷ شهریور ۱۳۵۸ در بهشت زهرا در اعتراض به فضای سرکوب ایجاد شده گفت: «... بگذارید مردم مسئولیت پیدا کنند. این مردم هستند که کشته دادند. این‌هایی که این‌جا خوابیده‌اند، از همین توده‌های جنوب شهر بودند… استبداد زیر پرده دین را کنار بگذارید و بیایید با مردم، با دردمندها، با محروم‌ها همصدا باشیم». در انتخابات ریاست جمهوری مسعود رجوی کاندیدای مجاهدین با دخالت خمینی علیرغم وعده‌ای که داده بود وارد سازوکار انتخابات نمی‌شود حذف شد. خمینی فتوا داد کسی که به قانون اساسی رای نداده نمی‌تواند کاندیدای ریاست جمهوری بشود. مجاهدین این حذف را ناشی از گسترش حمایت توده‌ای از مجاهدین و امکان برنده شدن در انتخابات می‌دانند و از جمله به حرفهای پاسدار قاسمی که در تاریخ ۱۸ یهمن ۸۸ از تلویزیون رژیم پخش شد استناد می‌کنند&amp;lt;ref&amp;gt;به نقل از قتل‌عام سال ۶۷ بر کتیبهٔ [https://www.mojahedin.org/i/قتل-عام-سال-۶۷-خاوران خاوران]&amp;lt;/ref&amp;gt;مجاهدین می‌گویند که در برابر همه اقدامات سرکوبگرانه آن عصر آنها تلاش کردند که همچنان جو آرامش را حفظ کنند. از جمله در اسفند ۱۳۵۸ در انتخابات مجلس شورا شرکت کردند اما علیرغم اینکه در روزهای اول پس از انتخابات، هنگام اعلام نتایج انتخابات در اخبار سراسری رادیو تلویزیون، نام مسعود رجوی در بالای لیست کاندیداهای تهران بود و بعد از آن هم سایر کاندیداهای مجاهدین قرار داشتند اما بعد از سه روز به‌ناگاه مجاهدین به انتهای لیست رفتند و در قدم بعد با طرح دو مرحله‌ای کردن انتخابات حتی یک مجاهد هم به مجلس راه پیدا نکرد.&lt;br /&gt;
&lt;br /&gt;
در این دوره اقدامات سرکوبگرانه زیادی در سطح شهر نیز بخصوص علیه سازمان مجاهدین خلق ایران و هوادارانش انجام شد که شمه‌ای از آن بعنوان نمونه از این قرار است:&lt;br /&gt;
&lt;br /&gt;
حمله مسلحانه به مرکز امداد پزشکی مجاهدین در خیابان بهار در روز جمعه ۲۳ آذر ۱۳۵۸ و مضروب و مجروح شدن چند تن از مجاهدین.&amp;lt;ref&amp;gt;(نشریه مجاهد- چه کسانی طراح حمله به مراکز مجاهدین هستند- دوشنبه ۲۶ آذر ۱۳۵۸- شماره ۱۵)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00015.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حمله سراسری به مراکز و هواداران مجاهدین خلق بعد از اعلام نامزدی ریاست جمهوری مسعود رجوی.&amp;lt;ref&amp;gt;(نشریه مجاهد- سه شنبه ۲ بهمن ۱۳۵۸- شماره ۲۰)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine_khalgh--mojahed_020_0.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن یکی از هواداران مجاهدین به نام ابوالفضل (عباس) عمانی در حین نصب پوستر و اعلامیه‌های تبلیغاتی سازمان مجاهدین خلق برای کاندیدایی مسعود رجوی، توسط گروه‌های فشار به نام چماقداران در روز شنبه ۲۹ دی ۱۳۵۸.&amp;lt;ref&amp;gt;(نشریه مجاهد- اطلاعیه سازمان مجاهدین خلق ایران درباره شهادت یکی از هواداران سازمان به دست اوباش چماقدار- سه شنبه ۹ بهمن ۱۳۵۸- شماره ۲۱)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine_khalgh--mojahed_021_0.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
روز دوشنبه ۲۲ بهمن ۱۳۵۸ مأموران کمیته انقلاب اسلامی منطقه ۱۰ تهران تعداد ۶۰٬۰۰۰ نشریه مجاهد، ارگان سازمان مجاهدین خلق ایران را به آتش کشیدند.&amp;lt;ref&amp;gt;(نشریه مجاهد- سه شنبه ۲۳ بهمن ۱۳۵۸- شماره ۲۳)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine_khalgh--mojahed_023_0.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حمله سراسری به مراکز و اجتماعات مجاهدین در روزهای دوم و سوم اسفند ۱۳۵۸ با یک کشته، ده‌ها تن مورد اصابت گلوله و هزاران مجروح و مضروب.&amp;lt;ref&amp;gt;(نشریه مجاهد-اطلاعیه مجاهدین خلق دربارهٔ یورش‌های ارتجاعی اخیر- سه‌شنبه ۷ اسفند ۱۳۵۸- شماره ۲۵)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00025-01.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
افشا کردن بخشی از مدارک به دست آمده در جریان حمله به مجاهدین خلق در قائمشهر که منجر به کشته شدن یک هوادار مجاهدین به نام عین‌الله پورعلی معلم فرح‌آباد از روستای مشک آباد و مضروب و مصدوم شدن تعدادی از هواداران سازمان مجاهدین شد.&amp;lt;ref&amp;gt;(نشریه مجاهد-اسناد و مدارک سخن می‌گویند- سه‌شنبه ۷ اسفند ۱۳۵۸- شماره ۲۵)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00025-02.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
روز سه‌شنبه ۲۸ اسفند ۱۳۵۹ مأموران کمیته انقلاب اسلامی به ناظر انتخابات وزارت کشور، شهلا حریری مطلق، که به تقلبات در حوزه انتخابیه اعتراض کرده بود، حمله کردند و او را مضروب و مجروح ساختند.&amp;lt;ref&amp;gt;(نشریه مجاهد- چهارشنبه ۲۹ اسفند ۱۳۵۸- شماره ۲۸)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00028.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در همین ایام است که آنچه که جمهوری اسلامی آن را «انقلاب فرهنگی» نام نهاده‌است اتفاق افتاد. این امر با الگو برداری از انقلاب فرهنگی چین و در آنچه که اعلام شد این کار به قصد زدودن آثار غربی و تاریخ اشتباه از فرهنگ کشور انجام شده‌است که اقدام عملی آن تعطیلی دانشگاه‌ها به این دلیل بوده‌است. در این تعطیلی که بیش از دو سال طول کشید علاوه بر تغییراتی که در کتابهای درسی انجام شد بسیاری از استادان دانشگاه و دانشجویان مورد تصفیه قرار گرفتند. مجاهدین و دیگر گروه‌های سیاسی آن زمان این اقدام را تنها برای پاکسازی دانشگاه‌ها از مجاهدین و دیگر نیروهای سیاسی که جو غالب دانشگاه‌ها به دست آنها افتاده بود ارزیابی کردند. مجاهدین آنرا «توطئه به تعطیلی کشاندن دانشگاه‌های سراسر کشور» عنوان کردند&amp;lt;ref&amp;gt;(نشریه مجاهد- شنبه ۳۰ فروردین ۱۳۵۹- شماره ۴۴)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00044.pdf]&amp;lt;/ref&amp;gt; و آنچه را که آنها «حمله سراسری به دانشگاه‌ها تحت عنوان انقلاب فرهنگی» خواندند، افشاگری کردند.&amp;lt;ref&amp;gt;(نشریه مجاهد- یکشنبه ۳۱ فروردین ۱۳۵۹- شماره ۴۵)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00045.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن فعال‌ترین هوادار مجاهدین خلق در شهر خمین بنام رضا حامدی در روز ۲۳ فروردین ۱۳۵۹ توسط رگبار مسلسل چند موتور سوار.&amp;lt;ref&amp;gt;(نشریه مجاهد- دوشنبه ۱ اردیبهشت ۱۳۵۹- شماره ۴۶)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00046.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حمله آنچه که مجاهدین به آن «یورش وحشیانه چماقداران» به مرکز مجاهدین خلق- شاخه خراسان، عنوان کردند.&amp;lt;ref&amp;gt;(نشریه مجاهد- دوشنبه ۱ اردیبهشت ۱۳۵۹- شماره ۴۶)[https://www.iran-archive.com/sites/default/files/sanad/mojahedine-khalgh-mojahed-00046.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن یکی از اعضای سازمان مجاهدین خلق به نام شکرالله مشکین‌فام در حمله به مرکز مجاهدین خلق- شاخه خراسان. (نشریه مجاهد- سه شنبه ۲ اردیبهشت ۱۳۵۹- شماره ۴۷)&lt;br /&gt;
&lt;br /&gt;
تلاش برای ترور مسعود رجوی از رهبران سازمان مجاهدین و کاندیدای اول مجاهدین خلق برای نمایندگی مجلس شورای ملی از تهران در روز ۱۱ اردیبهشت ۱۳۵۹ در مراسم روز جهانی کارگر در ترمینال خزانه تهران. (نشریه مجاهد- شنبه ۱۳ اردیبهشت ۱۳۵۹- شماره ۵۴)&lt;br /&gt;
&lt;br /&gt;
حمله آنچه که مجاهدین خلق به آن «حمله چماقداران تحت حمایت پاسداران انقلاب به مراسم روز کارگر در ترمینال خزانه» عنوان کردند با بیش از ۲۰۰ مجروح و زخمی. (نشریه مجاهد- یکشنبه ۱۴ اردیبهشت ۱۳۵۹- شماره ۵۵)&lt;br /&gt;
&lt;br /&gt;
جراحت یک دختر دانش آموز هواداران مجاهدین خلق به نام پروین صادقی و از دست دادن چشم چپ در اثر حمله چماقداران به مراسم ۲۰۰هزار نفری روز کارگر در ترمینال خزانه. (نشریه مجاهد- یکشنبه ۱۴ اردیبهشت ۱۳۵۹- شماره ۵۵)&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن یک درجه‌دار ارتش به نام سیاوش شمس در روز سه شنبه ۱۴ اردیبهشت ۱۳۵۹ در اصفهان توسط اصابت ضربات چاقوی دسته‌های فشار تحت حمایت کمیته‌ها و پاسداران انقلاب به هنگام دفاع از یک فروشنده نشریه مجاهد، که مورد ضرب و شتم مأموران کمیته انقلاب قرار گرفته بود. (نشریه مجاهد- چهارشنبه ۱۷ اردیبهشت ۱۳۵۹- شماره ۵۸)&lt;br /&gt;
&lt;br /&gt;
درگیری در دانشگاه شیراز و حمله دسته‌های فشار همراه با مأموران مسلح کمیته و پاسداران به دانشگاه شیراز منجر به مجروح شدن یکی از هواداران مجاهدین به نام نسرین رستمی شد. وی مورد اصابت گلوله پاسداران انقلاب قرار گرفت و به علت اصابت گلوله به ستون فقرات و نخاع از هر دو پا فلج گردید. (نشریه مجاهد- چهارشنبه ۲۴ اردیبهشت ۱۳۵۹- شماره ۶۴)&lt;br /&gt;
&lt;br /&gt;
حمله گروه‌های فشار با چوب و چماق به انجمن جوانان شهر بهشهر، هواداران سازمان مجاهدین خلق ایران، و ضرب و شتم یکی از اعضای مجاهدین به نام محمود باقی پور که منجر به از دست دادن چشم راستش شد. (نشریه مجاهد- چهارشنبه ۲۴ اردیبهشت ۱۳۵۹- شماره ۶۴)&lt;br /&gt;
&lt;br /&gt;
روز سه شنبه ۹ اردیبهشت ۱۳۵۹ یک دانش آموز هوادار مجاهدین خلق به نام جلیل مرادپور به هنگام فروش نشریه مجاهد مورد حمله یکی از هواداران دولت قرار می‌گیرد و پس از اصابت چاقو به قلبش به قتل می‌رسد. (نشریه مجاهد- یکشنبه ۲۸ اردیبهشت ۱۳۵۹- شماره ۶۷)&lt;br /&gt;
&lt;br /&gt;
حمله آنچه که مجاهدین به آن «چماقداران تحت حمایت پاسداران» می‌گویند به انجمن جوانان مسلمان اراک هوادار سازمان مجاهدین خلق با بیش از ۲۰۰ نفر مجروح و زخمی. (نشریه مجاهد- چهارشنبه ۳۱ اردیبهشت ۱۳۵۹- شماره ۷۰)&lt;br /&gt;
&lt;br /&gt;
حمله دسته‌های فشار تحت حمایت دولت موسوم به «حزب‌اللهی» ها به ساختمان و اعضای کانون توحیدی بشارت هوادار مجاهدین خلق با کوکتل مولوتف و مجروح نمودن اعضای کانون. (نشریه مجاهد- پنج‌شنبه ۱ خرداد ۱۳۵۹- شماره ۷۱)&lt;br /&gt;
&lt;br /&gt;
روز چهارشنبه ۷ خرداد گروهی به نام فدائیان انقلاب اسلامی با شعار حزب فقط حزب‌الله با پرتاب سنگ و کوکتل مولوتف به انجمن جوانان مسلمان اردبیل حمله کردند. مهاجمین که بعضاً به کلت و سه‌راهی مسلح بودند… در اثر این حملات و تیراندازی‌ها حدود ۶۰ الی ۷۰ نفر زخمی شدند… احد عزیزی در اثر اصابت گلوله از ناحیه ساق پا و لگن مجروح شد… محمود یحیوی از ناحیه پا و سر مورد اصابت گلوله قرار گرفت… و ۱۶۱ نفر دستگیر و بازداشت شدند. (نشریه مجاهد- شنبه ۱۰ خرداد ۱۳۵۹- شماره ۷۷)&lt;br /&gt;
&lt;br /&gt;
روز چهارشنبه ششم و پنجشنبه هفتم خرداد ۱۳۵۹ انجمن جوانان مسلمان تربت حیدریه هوادار مجاهدین خلق ایران مورد تهاجم چماقداران تحت حمایت دولت قرار گرفت. در این حملات ۷۰ نفر از هواداران مجاهدین زخمی شدند. (نشریه مجاهد- شنبه ۱۰ خرداد ۱۳۵۹- شماره ۷۷)&lt;br /&gt;
&lt;br /&gt;
احد عزیزی معلم روستاهای اردبیل که روز ۷ خرداد در حمله مهاجمین تحت حمایت دولت بر اثر اصابت گلوله مجروح شده بود، روز جمعه ۹ خرداد فوت کرد. (نشریه مجاهد- یکشنبه ۱۱ خرداد ۱۳۵۹- شماره ۷۸)&lt;br /&gt;
&lt;br /&gt;
آغاز هجوم به خوابگاه‌های دانشجویان. (نشریه مجاهد- یکشنبه ۱۸ خرداد ۱۳۵۹- شماره ۸۳)&lt;br /&gt;
&lt;br /&gt;
ارائه اسناد و شکایات هواداران سازمان مجاهدین نسبت به شکنجه آنها برای گرفتن اعتراف اجباری. (نشریه مجاهد- دوشنبه ۱۹ خرداد ۱۳۵۹- شماره ۸۴)&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن یکی از هواداران مجاهدین به نام ناصر محمدی در حمله پاسداران به انجمن جوانان مسلمان میثاق واقع در خیابان شیرو خورشید تهران. (نشریه مجاهد- سه شنبه ۲۰ خرداد ۱۳۵۹- شماره ۸۴)&lt;br /&gt;
&lt;br /&gt;
به قتل رسیدن یکی از هواداران مجاهدین به نام مصطفی ذاکری در جریان حمله و رگبار پاسداران انقلاب به جمعیت شرکت کننده در میتینگ سخنرانی مسعود رجوی تحت عنوان «چه باید کرد» در ورزشگاه امجدیه تهران. (نشریه مجاهد- شنبه ۲۴ خرداد ۱۳۵۹- شماره ۸۷)&lt;br /&gt;
&lt;br /&gt;
پس از آن جنگ ایران و عراق زمینه‌ای برای تصفیه حساب با گروه‌های سیاسی و بطور خاص مجاهدین بود. طبق گفته مجاهدین با شروع تجاوز عراق به داخل خاک ایران، مجاهدین در دفاع از میهن فعالانه به جبهه‌های جنگ شتافتند و در جنگ تعدادی شهید هم دادند. اما سپاه پاسداران که نیروهای مجاهدین را مزاحم کارهایشان می‌دیدند، به سرعت همه مجاهدین حاضر در جبهه جنگ را دستگیر، زندانی و از خوزستان اخراج کردند که تعدادی از همین دستگیرشدگان در قتل‌عام ۶۷ اعدام شدند. در حین جنگ نشریه مجاهد ارگان سازمان مجاهدین خلق ایران که تیراژش به ۶۰۰ هزار نسخه در روز (در مقایسه با پرتیراژترین روزنامه حکومتی، جمهوری اسلامی با تیراژ ۱۸۰۰۰ در روز) می‌رسید ممنوع الانتشار شد. بسیاری از نشریات دیگر نیز یا رسماً تعطیل شدند و یا اینکه دسته‌های چماقدار که از خمینی و حکومت دفاع می‌کردند مانع از انتشار و فروش آنها می‌شدند. مجاهدین معتقدند خمینی جنگ را عمداً ادامه می‌داد و حتی وقتی سرانجام در تاریخ ۲۴ مهر ۱۳۵۹ در اثر فشار دولتها و ملل متحد، رجایی نخست‌وزیر خمینی، به سازمان ملل رفت و پیشنهاد داد: «…متجاوز [یعنی طرف عراقی] به مرز خود برگردد و نیروی بی‌طرفی در مرزها مستقر شود تا دوباره تجاوزی صورت نپذیرد…» اما بعد از موافقت سازمان ملل و عراق از این طرح، خمینی و کارگزاران او از پذیرفتن طرح خود طفره رفته و همان را هم رد کردند. (سایت حکومتی تابناک ۶ مهر ۱۳۹۳) این جنگ ۸ سال ادامه پیدا کرد تا اینکه سرانجام در ۲۷ تیر ۱۳۶۷ خمینی آتش‌بس را پذیرفت. مجاهدین این پذیرش را ناشی از عملیاتهای ارتش آزادیبخش ملی ایران که در سال ۱۳۶۶ تأسیس شده بود می‌دانند که با ده‌ها رشته عملیات و نهایتاً فتح شهر مهران در عملیاتی به نام چلچراغ (نامی که مجاهدین بر آن نهادند) که در آن شعار «امروز مهران، فردا تهران» سر داده شد خمینی را مجبور به این پذیرش کرد. آنها این نقل قول را تأیید نظر خود می‌دانند: روزنامه حکومتی جوان روز ۱۹ تیر از قول پاسدار اسماعیل کوثری نوشت: «مجاهدین در مهران عملیات موفقیت‌آمیز انجام داده بودند و شعار «امروز مهران فردا تهران» هم مطرح کرده بودند و با در اختیار گرفتن انواع سلاحهای سنگین و نیمه سنگین هم‌چون نفربر و غیره، خود را سازماندهی کرده بودند. اما پذیرش قطعنامه از سوی حضرت امام تمام این توطئه‌ها را خنثی کرد». معنی این حرف این است که: «اگر امام قطعنامه را نمی‌پذیرفت، مجاهدین تهران را فتح کرده بودند».&lt;br /&gt;
&lt;br /&gt;
== پانویس ==&lt;br /&gt;
{{پانویس|۲}}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Protection_banner/config&amp;diff=35836</id>
		<title>پودمان:Protection banner/config</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Protection_banner/config&amp;diff=35836"/>
		<updated>2019-03-04T14:22:22Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides configuration data for [[Module:Protection banner]].&lt;br /&gt;
-- این پودمان بسیار حساس است به‌دقت بومی‌سازی شده‌است. هنگام به‌روزرسانی دقت کنید.&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                                BANNER DATA&lt;br /&gt;
--&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- Banner data consists of six fields:&lt;br /&gt;
-- * text - the main protection text that appears at the top of protection&lt;br /&gt;
--   banners.&lt;br /&gt;
-- * explanation - the text that appears below the main protection text, used&lt;br /&gt;
--   to explain the details of the protection.&lt;br /&gt;
-- * tooltip - the tooltip text you see when you move the mouse over a small&lt;br /&gt;
--   padlock icon.&lt;br /&gt;
-- * link - the page that the small padlock icon links to.&lt;br /&gt;
-- * alt - the alt text for the small padlock icon. This is also used as tooltip&lt;br /&gt;
--   text for the large protection banners.&lt;br /&gt;
-- * image - the padlock image used in both protection banners and small padlock&lt;br /&gt;
--   icons.&lt;br /&gt;
--&lt;br /&gt;
-- The module checks in three separate tables to find a value for each field.&lt;br /&gt;
-- First it checks the banners table, which has values specific to the reason&lt;br /&gt;
-- for the page being protected. Then the module checks the defaultBanners&lt;br /&gt;
-- table, which has values specific to each protection level. Finally, the&lt;br /&gt;
-- module checks the masterBanner table, which holds data for protection&lt;br /&gt;
-- templates to use if no data has been found in the previous two tables.&lt;br /&gt;
--&lt;br /&gt;
-- The values in the banner data can take parameters. These are specified&lt;br /&gt;
-- using ${TEXTLIKETHIS} (a dollar sign preceding a parameter name&lt;br /&gt;
-- enclosed in curly braces).&lt;br /&gt;
--&lt;br /&gt;
--                          Available parameters:&lt;br /&gt;
--&lt;br /&gt;
-- ${CURRENTVERSION} - a link to the page history or the move log, with the&lt;br /&gt;
-- display message &amp;quot;current-version-edit-display&amp;quot; or&lt;br /&gt;
-- &amp;quot;current-version-move-display&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- ${EDITREQUEST} - a link to create an edit request for the current page.&lt;br /&gt;
--&lt;br /&gt;
-- ${EXPLANATIONBLURB} - an explanation blurb, e.g. &amp;quot;Please discuss any changes&lt;br /&gt;
-- on the talk page; you may submit a request to ask an administrator to make&lt;br /&gt;
-- an edit if it is minor or supported by consensus.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
-- ${IMAGELINK} - a link to set the image to, depending on the protection&lt;br /&gt;
-- action and protection level.&lt;br /&gt;
--&lt;br /&gt;
-- ${INTROBLURB} - the PROTECTIONBLURB parameter, plus the expiry if an expiry&lt;br /&gt;
-- is set. E.g. &amp;quot;Editing of this page by new or unregistered users is currently &lt;br /&gt;
-- disabled until dd Month YYYY.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
-- ${INTROFRAGMENT} - the same as ${INTROBLURB}, but without final punctuation&lt;br /&gt;
-- so that it can be used in run-on sentences.&lt;br /&gt;
--&lt;br /&gt;
-- ${PAGETYPE} - the type of the page, e.g. &amp;quot;article&amp;quot; or &amp;quot;template&amp;quot;.&lt;br /&gt;
-- Defined in the cfg.pagetypes table.&lt;br /&gt;
--&lt;br /&gt;
-- ${PROTECTIONBLURB} - a blurb explaining the protection level of the page, e.g.&lt;br /&gt;
-- &amp;quot;Editing of this page by new or unregistered users is currently disabled&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
-- ${PROTECTIONDATE} - the protection date, if it has been supplied to the&lt;br /&gt;
-- template.&lt;br /&gt;
--&lt;br /&gt;
-- ${PROTECTIONLEVEL} - the protection level, e.g. &amp;quot;fully protected&amp;quot; or&lt;br /&gt;
-- &amp;quot;semi-protected&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- ${PROTECTIONLOG} - a link to the protection log or the pending changes log,&lt;br /&gt;
-- depending on the protection action.&lt;br /&gt;
--&lt;br /&gt;
-- ${TALKPAGE} - a link to the talk page. If a section is specified, links&lt;br /&gt;
-- straight to that talk page section.&lt;br /&gt;
--&lt;br /&gt;
-- ${TOOLTIPBLURB} - uses the PAGETYPE, PROTECTIONTYPE and EXPIRY parameters to&lt;br /&gt;
-- create a blurb like &amp;quot;This template is semi-protected&amp;quot;, or &amp;quot;This article is&lt;br /&gt;
-- move-protected until DD Month YYYY&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- ${VANDAL} - links for the specified username (or the root page name)&lt;br /&gt;
-- using Module:Vandal-m.&lt;br /&gt;
--&lt;br /&gt;
--                                 Functions&lt;br /&gt;
--&lt;br /&gt;
-- For advanced users, it is possible to use Lua functions instead of strings&lt;br /&gt;
-- in the banner config tables. Using functions gives flexibility that is not&lt;br /&gt;
-- possible just by using parameters. Functions take two arguments, the&lt;br /&gt;
-- protection object and the template arguments, and they must output a string.&lt;br /&gt;
--&lt;br /&gt;
-- For example:&lt;br /&gt;
--&lt;br /&gt;
-- text = function (protectionObj, args)&lt;br /&gt;
--     if protectionObj.level == &#039;autoconfirmed&#039; then&lt;br /&gt;
--         return &#039;foo&#039;&lt;br /&gt;
--     else&lt;br /&gt;
--         return &#039;bar&#039;&lt;br /&gt;
--     end&lt;br /&gt;
-- end&lt;br /&gt;
--&lt;br /&gt;
-- Some protection object properties and methods that may be useful:&lt;br /&gt;
-- protectionObj.action - the protection action&lt;br /&gt;
-- protectionObj.level - the protection level&lt;br /&gt;
-- protectionObj.reason - the protection reason&lt;br /&gt;
-- protectionObj.expiry - the expiry. Nil if unset, the string &amp;quot;indef&amp;quot; if set&lt;br /&gt;
--     to indefinite, and the protection time in unix time if temporary.&lt;br /&gt;
-- protectionObj.protectionDate - the protection date in unix time, or nil if&lt;br /&gt;
--     unspecified.&lt;br /&gt;
-- protectionObj.bannerConfig - the banner config found by the module. Beware&lt;br /&gt;
--     of editing the config field used by the function, as it could create an&lt;br /&gt;
--     infinite loop.&lt;br /&gt;
-- protectionObj:isProtected - returns a boolean showing whether the page is&lt;br /&gt;
--     protected.&lt;br /&gt;
-- protectionObj:isTemporary - returns a boolean showing whether the expiry is&lt;br /&gt;
--     temporary.&lt;br /&gt;
-- protectionObj:isIncorrect - returns a boolean showing whether the protection&lt;br /&gt;
--     template is incorrect.&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- The master banner data, used if no values have been found in banners or&lt;br /&gt;
-- defaultBanners.&lt;br /&gt;
masterBanner = {&lt;br /&gt;
	text = &#039;${INTROBLURB}&#039;,&lt;br /&gt;
	explanation = &#039;${EXPLANATIONBLURB}&#039;,&lt;br /&gt;
	tooltip = &#039;${TOOLTIPBLURB}&#039;,&lt;br /&gt;
	link = &#039;${IMAGELINK}&#039;,&lt;br /&gt;
	alt = &#039;صفحه ${PROTECTIONLEVEL}&#039;&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
-- The default banner data. This holds banner data for different protection&lt;br /&gt;
-- levels.&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
defaultBanners = {&lt;br /&gt;
	edit = {},&lt;br /&gt;
	move = {},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
		autoconfirmed = {&lt;br /&gt;
			alt = &#039;صفحه با تغییرات در انتظار سطح ۱ حفاظت شده‌است&#039;,&lt;br /&gt;
			tooltip = &#039;همه ویرایش‌های کاربران ثبت‌نام‌نکرده و کاربران تازه‌کار در حال انتظار برای بررسی هستند&#039;,&lt;br /&gt;
			image = &#039;Padlock-silver-light.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		default = {&lt;br /&gt;
			alt = &#039;صفحه با تغییرات در انتظار سطح ۲ حفاظت شده‌است&#039;,&lt;br /&gt;
			tooltip = &#039;همه ویرایش‌های کاربرانی که بازبین یا مدیر نیستند&#039;&lt;br /&gt;
				.. &#039; در حال انتظار برای بررسی هستند&#039;,&lt;br /&gt;
			image = &#039;Padlock-orange.svg&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	upload = {}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
-- The banner data. This holds banner data for different protection reasons.&lt;br /&gt;
-- In fact, the reasons specified in this table control which reasons are&lt;br /&gt;
-- valid inputs to the first positional parameter.&lt;br /&gt;
--&lt;br /&gt;
-- There is also a non-standard &amp;quot;description&amp;quot; field that can be used for items&lt;br /&gt;
-- in this table. This is a description of the protection reason for use in the&lt;br /&gt;
-- module documentation.&lt;br /&gt;
--&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
banners = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		blp = {&lt;br /&gt;
			description = &#039;برای صفحاتی که جهت ترویج رعایت&#039;&lt;br /&gt;
				.. &#039; سیاست [[ایران‌پدیا:زندگی‌نامه زندگان&#039;&lt;br /&gt;
				.. &#039;|زندگی‌نامه زندگان]] حفاظت شده‌اند.&#039;,&lt;br /&gt;
			text = &#039;${INTROFRAGMENT} برای ترویج رعایت&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:زندگی‌نامه زندگان&#039;&lt;br /&gt;
				.. &amp;quot;|سیاست ایران‌پدیا برای&amp;quot;&lt;br /&gt;
				.. &#039; زندگی‌نامه زندگان]].&#039;,&lt;br /&gt;
			tooltip = &#039;${TOOLTIPFRAGMENT} برای ترویج رعایت سیاست&#039;&lt;br /&gt;
				.. &#039; زندگی‌نامه زندگان&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		dmca = {&lt;br /&gt;
			description = &#039;برای صفحاتی که توسط بنیاد ویکی‌مدیا به دلیل&#039;&lt;br /&gt;
				.. &#039; حذف درخواست‌های قانون حق تکثیر ملینیوم دیجیتال حفاظت شده‌اند.&#039;,&lt;br /&gt;
			explanation = function (protectionObj, args)&lt;br /&gt;
				local ret = &#039;به دنبال اطلاع صاحب حقوق تحت&#039;&lt;br /&gt;
					.. &#039; قانون حق تکثیر ملینیوم (DMCA) در مورد برخی محتوا&#039;&lt;br /&gt;
					.. &#039; در این مقاله، بنیاد ویکی‌مدیا تحت قانون اجرایی&#039;&lt;br /&gt;
					.. &#039; و برچیدن و محتوای محدود‌شده مشکوک&#039;&lt;br /&gt;
					.. &#039; عمل کرده‌است.&#039;&lt;br /&gt;
				if args.notice then&lt;br /&gt;
					ret = ret .. &#039; یک نگارش از اخطار دریافت‌شده اینجا یافت می‌شود: &#039;&lt;br /&gt;
						.. args.notice .. &#039;.&#039;&lt;br /&gt;
				end&lt;br /&gt;
				ret = ret .. &#039; برای کسب اطلاعات بیشتر، از جمله وب‌گاه‌هایی که بر سر&#039;&lt;br /&gt;
					.. &#039; چگونگی بایگانی‌کردن یک دفاعیه در برابر اخطار بحث می‌کنند، لطفاً&#039;&lt;br /&gt;
					.. &amp;quot; [[:en:Iranpedia:Office actions]] و ${TALKPAGE} مقاله را ببینید.&amp;quot;&lt;br /&gt;
					.. &amp;quot;&#039;&#039;&#039;این الگو را از مقاله تا وقتی که&amp;quot;&lt;br /&gt;
					.. &amp;quot; از محدودیت‌ها صرف نظر نشده‌است حذف نکنید&#039;&#039;&#039;.&amp;quot;&lt;br /&gt;
				return ret&lt;br /&gt;
			end,&lt;br /&gt;
			image = &#039;Padlock-black.svg&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		dispute = {&lt;br /&gt;
			description = &#039;برای صفحاتی که به دلیل اختلافات ویرایشی حفاظت شده‌اند.&#039;,&lt;br /&gt;
			text = function (protectionObj, args)&lt;br /&gt;
				-- Find the value of &amp;quot;disputes&amp;quot;.&lt;br /&gt;
				local display = &#039;اختلافات&#039;&lt;br /&gt;
				local disputes&lt;br /&gt;
				if args.section then&lt;br /&gt;
					disputes = string.format(&lt;br /&gt;
						&#039;[[%s:%s#%s|%s]]&#039;,&lt;br /&gt;
						mw.site.namespaces[protectionObj.title.namespace].talk.name,&lt;br /&gt;
						protectionObj.title.text,&lt;br /&gt;
						args.section,&lt;br /&gt;
						display&lt;br /&gt;
					)&lt;br /&gt;
				else&lt;br /&gt;
					disputes = display&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- Make the blurb, depending on the expiry.&lt;br /&gt;
				local msg&lt;br /&gt;
				if type(protectionObj.expiry) == &#039;number&#039; then&lt;br /&gt;
					msg = &#039;${INTROFRAGMENT} یا تا ویرایش %s حل شده باشد.&#039;&lt;br /&gt;
				else&lt;br /&gt;
					msg = &#039;${INTROFRAGMENT} تا ویرایش %s حل شده باشد.&#039;&lt;br /&gt;
				end&lt;br /&gt;
				return string.format(msg, disputes)&lt;br /&gt;
			end,&lt;br /&gt;
			explanation = &amp;quot;این حفاظت تأیید بر ${CURRENTVERSION}&amp;quot;&lt;br /&gt;
				.. &amp;quot; &#039;&#039;&#039;نمی‌باشد&#039;&#039;&#039;. ${EXPLANATIONBLURB}&amp;quot;,&lt;br /&gt;
			tooltip = &#039;${TOOLTIPFRAGMENT} به دلیل اختلافات ویرایشی&#039;,&lt;br /&gt;
			},&lt;br /&gt;
			ecp = {&lt;br /&gt;
				description = &#039;برای مقالاتی در زمینه‌های موضوعی تصویب‌شده توسط&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:هیئت داوری|هیئت داوری]] یا&#039;&lt;br /&gt;
				.. &#039; برخورداری از معیارهای کاربرد جامعه&#039;,&lt;br /&gt;
				tooltip = &#039;این ${PAGETYPE} تأییدشدهٔ پایدار حفاظت شده‌است&#039;,&lt;br /&gt;
				alt = &#039;${PAGETYPE} حفاظت‌شده&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		mainpage = {&lt;br /&gt;
			description = &#039;برای صفحاتی که از نشان داده‌شدن در [[صفحهٔ اصلی]] حفاظت شده‌است.&#039;,&lt;br /&gt;
			text = &#039;این پرونده هم اکنون&#039;&lt;br /&gt;
				.. &#039; در برابر ویرایش‌شدن به دلیل هم اکنون نمایش یافتن یا به زودی نمایش داده‌شدن&#039;&lt;br /&gt;
				.. &#039; در [[صفحهٔ اصلی]]&#039;&lt;br /&gt;
				.. &#039; [[راهنما:حفاظت|حفاظت]] شده‌است.&#039;,&lt;br /&gt;
			explanation = &#039;تصاویر در صفحهٔ اصلی به دلیل دید بالا حفاظت شده‌اند.&#039;&lt;br /&gt;
				.. &#039; لطفاً دربارهٔ هر تغییر لازم در ${TALKPAGE} گفتگو کنید.&#039;&lt;br /&gt;
				.. &#039;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size:90%;&amp;quot;&amp;gt;&#039;&lt;br /&gt;
				.. &amp;quot;&#039;&#039;&#039;مدیران:&#039;&#039;&#039; هنگامی که این تصویر مطمئن هستید خارج از صفحهٔ اصلی است،&amp;quot;&lt;br /&gt;
				.. &#039; لطفاً آن را از حفاظت در آورید، یا به نیمه‌حفاظت‌شده کاهش دهید،&#039;&lt;br /&gt;
				.. &#039; اگر مناسب است.&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		office = {&lt;br /&gt;
			description = &#039;برای صفحاتی که توسط بنیاد ویکی‌مدیا حفاظت شده‌است.&#039;,&lt;br /&gt;
			text = function (protectionObj, args)&lt;br /&gt;
				local ret = &#039;این ${PAGETYPE} هم اکنون تحت&#039;&lt;br /&gt;
					.. &#039; بررسی&#039;&lt;br /&gt;
					.. &#039; [[:en:Iranpedia:Office actions|اداره بنیاد ویکی‌مدیا]] است&#039;&lt;br /&gt;
					.. &#039; و حفاظت می‌شود.&#039;&lt;br /&gt;
				if protectionObj.protectionDate then&lt;br /&gt;
					ret = ret .. &#039; این صفحه از ${PROTECTIONDATE} حفاظت می‌شود.&#039;&lt;br /&gt;
				end&lt;br /&gt;
				return ret&lt;br /&gt;
			end,&lt;br /&gt;
			explanation = &amp;quot;اگر شما می‌توانید این صفحه را ویرایش کنید، لطفاً نخست دربارهٔ همه تغییرات&amp;quot;&lt;br /&gt;
				.. &amp;quot; و اضافه بر آن در ${TALKPAGE} گفتگو کنید. &#039;&#039;&#039;حفاظت را از این صفحه&amp;quot;&lt;br /&gt;
				.. &amp;quot; حذف نکنید مگر توسط بنیاد ویکی‌مدیا برای این کار مجاز دانسته&amp;quot;&lt;br /&gt;
				.. &amp;quot; شده‌اید.&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
			image = &#039;Padlock-black.svg&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		reset = {&lt;br /&gt;
			description = &#039;برای صفحاتی که توسط بنیاد ویکی‌مدیا محافظت می‌شود و&#039;&lt;br /&gt;
				.. &#039; به نسخه‌ای کاهش‌یافته «بازنشانده شده‌است».&#039;,&lt;br /&gt;
 			text = &#039;این ${PAGETYPE} هم اکنون تحت&#039;&lt;br /&gt;
					.. &#039; بررسی دقیق&#039;&lt;br /&gt;
					.. &#039; [[:en:Iranpedia:Office actions|اداره بنیاد ویکی‌مدیا]]&#039;&lt;br /&gt;
					.. &#039; بوده و محافظت می‌شود.&#039;,&lt;br /&gt;
			explanation = function (protectionObj, args)&lt;br /&gt;
				local ret = &#039;&#039;&lt;br /&gt;
				if protectionObj.protectionDate then&lt;br /&gt;
					ret = ret .. &#039;در ${PROTECTIONDATE} این ${PAGETYPE}&#039;&lt;br /&gt;
				else&lt;br /&gt;
					ret = ret .. &#039;این ${PAGETYPE}&#039;&lt;br /&gt;
				end&lt;br /&gt;
				ret = ret .. &#039; به یک نسخهٔ&#039;&lt;br /&gt;
				.. &#039; ساده و «فقط شامل پایه و عناصر ضروری» کاهش یافته‌است که ممکن است برای&#039;&lt;br /&gt;
				.. &#039; اطمینان از تطابق با سیاست‌های [[اپ:بی‌طرف|دیدگاه بی‌طرف]] و&#039;&lt;br /&gt;
				.. &#039; [[اپ:تأیید|تأییدپذیری]] کاملاً بازنویسی شده‌باشد.&#039;&lt;br /&gt;
				.. &#039; سیاست‌های استاندارد ایران‌پدیا به بازنویسی خودش اعمال می‌شود—که&#039;&lt;br /&gt;
				.. &#039; در نهایت برای همهٔ ویراستاران باز خواهد بود—و به شدت اجرا&#039;&lt;br /&gt;
				.. &#039; خواهد شد. این ${PAGETYPE} هنگام بازسازی&#039;&lt;br /&gt;
				.. &#039; ${PROTECTIONLEVEL} شده‌است.\n\n&#039;&lt;br /&gt;
				.. &#039;درج مستقیم هر چیز از&#039;&lt;br /&gt;
				.. &#039; بازبینی‌های پیش از حفاظت از این ${PAGETYPE} حذف خواهد شد،&#039;&lt;br /&gt;
				.. &#039; همینطور هر ماده افزوده‌شده به این ${PAGETYPE} که به درستی به منبع ارجاع نشده‌است.&#039;&lt;br /&gt;
				.. &#039; صفحه(های) بحث مرتبط هم در همان تاریخ&#039;&lt;br /&gt;
				.. &amp;quot; حذف می‌شود.\n\n&amp;quot;&lt;br /&gt;
				.. &amp;quot;اگر شما می‌توانید این صفحه را ویرایش کنید، لطفاً نخست دربارهٔ همه تغییرات و&amp;quot;&lt;br /&gt;
				.. &amp;quot; اضافه بر آن در ${TALKPAGE} بحث کنید. &#039;&#039;&#039;این کار را نادیده نگیرید،&amp;quot;&lt;br /&gt;
				.. &amp;quot; و حفاظت را از این صفحه حذف نکنید،&amp;quot;&lt;br /&gt;
				.. &amp;quot; مگر برای انجامش توسط بنیاد ویکی‌مدیا مجاز دانسته شده‌اید.&amp;quot;&lt;br /&gt;
				.. &amp;quot; هیچ ویراستاری این اطلاعیه را حذف نکند.&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
				return ret&lt;br /&gt;
			end,&lt;br /&gt;
			image = &#039;Padlock-black.svg&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		sock = {&lt;br /&gt;
			description = &#039;برای صفحاتی که به دلیل&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:حساب زاپاس|حساب زاپاس] حفاظت شده‌است.&#039;,&lt;br /&gt;
			text = &#039;${INTROFRAGMENT} برای جلوگیری از [[ایران‌پدیا:قطع دسترسی|قطع دسترسی]]&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:حساب زاپاس|حساب‌های زاپاس]] یا&#039;&lt;br /&gt;
				.. &#039; جلوگیری از ویرایش آن توسط&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:سیاست تحریم|کاربران مسدودشده]].&#039;,&lt;br /&gt;
			tooltip = &#039;${TOOLTIPFRAGMENT} برای جلوگیری از قطع دسترسی حساب‌های زاپاس یا جلوگیری از&#039;&lt;br /&gt;
				.. &#039; ویرایش آن توسط کاربران مسدودشده&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		template = {&lt;br /&gt;
			description = &#039;برای الگوهای [[ایران‌پدیا:الگوهای حساس|حساس]]&#039;&lt;br /&gt;
				.. &#039; و پودمان‌های لوآ.&#039;,&lt;br /&gt;
			text = &#039;این ${PAGETYPE} به دلیل [[ایران‌پدیا:الگوهای حساس|حساسیت]]،&#039;&lt;br /&gt;
				.. &#039; به طور دائم [[راهنما:حفاظت|حفاظت‌شده]] است.&#039;,&lt;br /&gt;
			explanation = &#039;لطفاً دربارهٔ هر تغییر در ${TALKPAGE} گفتگو کنید؛ شما می‌توانید&#039;&lt;br /&gt;
				.. &#039; از یک [[ایران‌پدیا:مدیران|مدیر]] یا&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:ویرایشگر الگو|ویراستار الگو]] بخواهید&#039;&lt;br /&gt;
				.. &#039; ${EDITREQUEST} یک ویرایش انجام دهد اگر&#039;&lt;br /&gt;
				.. &#039; آن ویرایش یک ویرایش [[راهنما:ویرایش جزئی#چه هنگامی ویرایش جزئی است؟|غیر جنجالی]]&#039;&lt;br /&gt;
				.. &#039; است یا توسط&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:اجماع|اجماع]] حمایت می‌شود. شما همچنین می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه|درخواست کنید]] که آن&#039;&lt;br /&gt;
				.. &#039; صفحه از حفاظت خارج شود.&#039;,&lt;br /&gt;
			tooltip = &#039;این ${PAGETYPE} حساس به دلیل جلوگیری&#039;&lt;br /&gt;
				.. &#039; از خرابکاری به طور دائم ${PROTECTIONLEVEL} است&#039;,&lt;br /&gt;
			alt = &#039;${PAGETYPE} به طور دائم حفاظت‌شده است&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		usertalk = {&lt;br /&gt;
			description = &#039;برای صفحات حفاظت‌شده در برابر ویرایش‌های مخرب توسط یک&#039;&lt;br /&gt;
				.. &#039; کاربر ویژه.&#039;,&lt;br /&gt;
			text = &#039;${INTROFRAGMENT} برای جلوگیری از ${VANDAL} در برابر استفاده از آن برای انجام ویرایش‌های مخرب،&#039;&lt;br /&gt;
				.. &#039; چون سوء استفاده&#039;&lt;br /&gt;
				.. &#039; از الگوی &amp;amp;#123;&amp;amp;#123;[[الگو:بازکردن|بازکردن]]&amp;amp;#125;&amp;amp;#125;.&#039;,&lt;br /&gt;
			explanation = &#039;اگر نمی‌توانید این صفحهٔ بحث کاربر را ویرایش کنید و باید&#039;&lt;br /&gt;
				.. &#039; یک تغییر ایجاد کنید یا پیامی بگذارید، می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست ویرایش کنید]]،&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست عدم حفاظت کنید.]]،&#039;&lt;br /&gt;
				.. &#039; [[Special:Userlogin|وارد شوید]]،&#039;&lt;br /&gt;
				.. &#039; یا [[Special:UserLogin/signup|یک حساب کاربری بسازید]].&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		vandalism = {&lt;br /&gt;
			description = &#039;برای صفحاتی که در مقابل&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:خرابکاری|خرابکاری]] محافت شده‌است.&#039;,&lt;br /&gt;
			text = &#039;${INTROFRAGMENT} به دلیل [[ایران‌پدیا:خرابکاری|خرابکاری]].&#039;,&lt;br /&gt;
			explanation = function (protectionObj, args)&lt;br /&gt;
				local ret = &#039;&#039;&lt;br /&gt;
				if protectionObj.level == &#039;sysop&#039; then&lt;br /&gt;
					ret = ret .. &amp;quot;این حفاظت تأیید بر ${CURRENTVERSION}&amp;quot;&lt;br /&gt;
						.. &amp;quot; &#039;&#039;&#039;نمی‌باشد&#039;&#039;&#039;. &amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
				return ret .. &#039;${EXPLANATIONBLURB}&#039;&lt;br /&gt;
			end,&lt;br /&gt;
			tooltip = &#039;${TOOLTIPFRAGMENT} به دلیل خرابکاری&#039;,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		dispute = {&lt;br /&gt;
			description = &#039;برای صفحاتی که در برابر انتقال صفحه‌ها به دلیل&#039;&lt;br /&gt;
				.. &#039; اختلاف بر سر عنوان صفحه حفاظت شده‌است.&#039;,&lt;br /&gt;
			explanation = &amp;quot;این حفاظت تأیید بر ${CURRENTVERSION}&amp;quot;&lt;br /&gt;
				.. &amp;quot;&#039;&#039;&#039;نمی‌باشد&#039;&#039;&#039;. ${EXPLANATIONBLURB}&amp;quot;,&lt;br /&gt;
			image = &#039;Padlock-olive.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		vandalism = {&lt;br /&gt;
			description = &#039;برای صفحاتی که در مقابل&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:خرابکاری#خرابکاری انتقال صفحه&#039;&lt;br /&gt;
				.. &#039; |خرابکاری انتقال صفحه]] محافظت شده‌است.&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {},&lt;br /&gt;
	upload = {}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                            GENERAL DATA TABLES&lt;br /&gt;
--&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Protection blurbs&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table produces the protection blurbs available with the&lt;br /&gt;
-- ${PROTECTIONBLURB} parameter. It is sorted by protection action and&lt;br /&gt;
-- protection level, and is checked by the module in the following order:&lt;br /&gt;
-- 1. page&#039;s protection action, page&#039;s protection level&lt;br /&gt;
-- 2. page&#039;s protection action, default protection level&lt;br /&gt;
-- 3. &amp;quot;edit&amp;quot; protection action, default protection level&lt;br /&gt;
--&lt;br /&gt;
-- It is possible to use banner parameters inside this table.&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
protectionBlurbs = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		default = &#039;این ${PAGETYPE} در برابر&#039;&lt;br /&gt;
			.. &#039; ویرایش [[راهنما:حفاظت|حفاظت]] شده‌است&#039;,&lt;br /&gt;
		autoconfirmed = &#039;ویرایش این ${PAGETYPE} برای کاربران [[ایران‌پدیا:اختیارات گروه‌های&#039;&lt;br /&gt;
			.. &#039; کاربری#کاربران جدید|تازه]] یا [[ایران‌پدیا:اختیارات گروه‌های کاربری#کاربران گمنام&#039;&lt;br /&gt;
			.. &#039;|ثبت‌نام‌نکرده]] [[راهنما:حفاظت|غیر فعال]] است&#039;,&lt;br /&gt;
		extendedconfirmed = &#039;این ${PAGETYPE} در برابر ویرایش کاربران&#039;&lt;br /&gt;
			.. &#039; ${PROTECTIONLEVEL} است&#039;,&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		default = &#039;این ${PAGETYPE} در برابر [[ایران‌پدیا:انتقال صفحه‌ها|انتقال صفحه‌ها]]&#039;&lt;br /&gt;
			.. &#039; [[راهنما:حفاظت|حفاظت]] شده‌است&#039;&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
		autoconfirmed = &#039;همه ویرایش‌های صورت‌گرفته در این ${PAGETYPE} توسط کاربران&#039;&lt;br /&gt;
			.. &#039; [[ایران‌پدیا:اختیارات گروه‌های کاربری#کاربران جدید|تازه]] یا&#039;&lt;br /&gt;
			.. &#039; [[[[ایران‌پدیا:اختیارات گروه‌های کاربری#کاربران گمنام|ثبت‌نام‌نکرده]]&#039;&lt;br /&gt;
			.. &#039; [[ایران‌پدیا:تغییرات در حال انتظار|در حال انتظار برای بررسی]] هستند&#039;,&lt;br /&gt;
		default = &#039;همه ویرایش‌های صورت‌گرفته در این ${PAGETYPE} توسط کاربرانی که&#039;&lt;br /&gt;
			.. &#039; [[:en:Iranpedia:Reviewing|بازبین]] یا&#039;&lt;br /&gt;
			.. &#039; [[ایران‌پدیا:مدیران|مدیر]] نیستند&#039;&lt;br /&gt;
			.. &#039; [[ایران‌پدیا:تغییرات در حال انتظار|در حال انتظار برای بررسی]] هستند&#039;&lt;br /&gt;
	},&lt;br /&gt;
	upload = {&lt;br /&gt;
		default = &#039;بارگذاری نگارش‌های تازه از این ${PAGETYPE} غیرفعال است&#039;&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Explanation blurbs&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table produces the explanation blurbs available with the&lt;br /&gt;
-- ${EXPLANATIONBLURB} parameter. It is sorted by protection action,&lt;br /&gt;
-- protection level, and whether the page is a talk page or not. If the page is&lt;br /&gt;
-- a talk page it will have a talk key of &amp;quot;talk&amp;quot;; otherwise it will have a talk&lt;br /&gt;
-- key of &amp;quot;subject&amp;quot;. The table is checked in the following order:&lt;br /&gt;
-- 1. page&#039;s protection action, page&#039;s protection level, page&#039;s talk key&lt;br /&gt;
-- 2. page&#039;s protection action, page&#039;s protection level, default talk key&lt;br /&gt;
-- 3. page&#039;s protection action, default protection level, page&#039;s talk key&lt;br /&gt;
-- 4. page&#039;s protection action, default protection level, default talk key&lt;br /&gt;
--&lt;br /&gt;
-- It is possible to use banner parameters inside this table.&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
explanationBlurbs = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		autoconfirmed = {&lt;br /&gt;
			subject = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید. اگر نمی‌توانید&#039;&lt;br /&gt;
				.. &#039; این ${PAGETYPE} را ویرایش کنید و می‌خواهید تغییری ایجاد کنید، می‌توانید&#039;&lt;br /&gt;
				.. &#039; ${EDITREQUEST}، دربارهٔ تغییرها در ${TALKPAGE} گفتگو کنید،&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست عدم حفاظت کنید]]، [[Special:Userlogin|وارد شوید]]، یا&#039;&lt;br /&gt;
				.. &#039; [[Special:UserLogin/signup|حساب کاربری بسازید]].&#039;,&lt;br /&gt;
			default = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید. اگر نمی‌توانید&#039;&lt;br /&gt;
				.. &#039; این ${PAGETYPE} را ویرایش کنید و می‌خواهید تغییری ایجاد کنید، می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست عدم حفاظت کنید]]، [[Special:Userlogin|وارد شوید]]، یا&#039;&lt;br /&gt;
				.. &#039; [[Special:UserLogin/signup|حساب کاربری بسازید]].&#039;,&lt;br /&gt;
		},&lt;br /&gt;
		extendedconfirmed = {&lt;br /&gt;
			default = &#039;حفاظت تأییدشدهٔ پایدار از ویرایش‌های ویراستاران آی‌پی&#039;&lt;br /&gt;
				.. &#039; و کاربران ثبت‌نام‌کرده با کمتر از ۳۰ روز عمر و ۵۰۰ ویرایش جلوگیری می‌کند.&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:سیاست حفاظت از صفحه‌ها#تأییدشدهٔ پایدار|سیاست در استفاده از جامعه]]&#039;&lt;br /&gt;
				.. &#039; تعیین می‌کند که حفاظت تأییدشدهٔ پایدار قابل بکارگیری برای اختلال در مبارزه است،&#039;&lt;br /&gt;
				.. &#039; باتوجه به اینکه نیمه‌حفاظت بی‌اثر ثابت شده‌است.&#039;&lt;br /&gt;
				.. &#039; خواهشمند است برای هر تغییری در ${TALKPAGE} گفتگو کنید؛ شما می‌توانید&#039;&lt;br /&gt;
				.. &#039; برای تغییرات غیرمتعارف و در راستای [[ایران‌پدیا:اجماع|اجماع]]&#039;&lt;br /&gt;
				.. &#039; ${EDITREQUEST}.&#039;&lt;br /&gt;
		},&lt;br /&gt;
		default = {&lt;br /&gt;
			subject = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; لطفاً دربارهٔ هر تغییر در ${TALKPAGE} گفتگو کنید؛ شما&#039;&lt;br /&gt;
				.. &#039; می‌توانید از&#039;&lt;br /&gt;
				.. &#039; یک [[ایران‌پدیا:مدیران|مدیر]] ${EDITREQUEST} تا یک ویرایش انجام دهد اگر آن ویرایش&#039;&lt;br /&gt;
				.. &#039; [[راهنما:ویرایش جزئی#چه هنگامی ویرایش جزئی است؟|غیر جنجانی]] است یا توسط&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:اجماع|اجماع]] حمایت می‌شود.&#039;&lt;br /&gt;
				.. &#039; شما همچنین می‌توانید [[ایران‌پدیا:درخواست محافظت&#039;&lt;br /&gt;
				.. &#039; صفحه#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست کنید]] که این صفحه از حفاظت خارج شود.&#039;,&lt;br /&gt;
			default = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; شما می‌توانید برای این صفحه [[ایران‌پدیا:درخواست محافظت&#039;&lt;br /&gt;
				.. &#039; صفحه|درخواست&#039;&lt;br /&gt;
				.. &#039; ویرایش کنید]]، یا [[ایران‌پدیا:درخواست محافظت&#039;&lt;br /&gt;
				.. &#039; صفحه#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|بخواهید]] از حفاظت خارج شود.&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		default = {&lt;br /&gt;
			subject = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; این صفحه هنوز می‌تواند ویرایش شود اما نمی‌تواند منتقل شود&#039;&lt;br /&gt;
				.. &#039; تا هنگامی که محافظت نمی‌شود. لطفاً دربارهٔ هر انتقال پیشنهادی در&#039;&lt;br /&gt;
				.. &#039; ${TALKPAGE} یا در [[ایران‌پدیا:تابلوی اعلانات مدیران/درخواست انتقال و ادغام تاریخچه]] گفتگو کنید. شما همچنین می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه|درخواست دهید]] که این صفحه&#039;&lt;br /&gt;
				.. &#039; از محافظت خارج شود.&#039;,&lt;br /&gt;
			default = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; این صفحه هنوز می‌تواند ویرایش شود اما نمی‌تواند منتقل شود&#039;&lt;br /&gt;
				.. &#039; تا هنگامی که محافظت نمی‌شود. لطفاً دربارهٔ هر انتقال پیشنهادی در&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:تابلوی اعلانات مدیران/درخواست انتقال و ادغام تاریخچه]] گفتگو کنید. شما همچنین می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه|درخواست دهید]] که این صفحه&#039;&lt;br /&gt;
				.. &#039; از محافظت خارج شود.&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
		default = {&lt;br /&gt;
			reviewer = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; ویرایش در این ${PAGETYPE} برای خوانندگان قابل مشاهده نیست&#039;&lt;br /&gt;
				.. &#039; تا هنگامی که توسط یک بازبین یا یک مدیر پذیرفته شود.&#039;&lt;br /&gt;
				.. &#039; برای جلوگیری از نیاز بازبینی ویرایش‌هایتان، می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست عدم حفاظت کنید]]. ویراستاران با تجربه همچنین می‌توانند&#039;&lt;br /&gt;
				.. &#039; درخواست [[:en:Iranpedia:Reviewing|سطح دسترسی بازبین]] کنند.&#039;,&lt;br /&gt;
			default = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
				.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
				.. &#039; ویرایش در این ${PAGETYPE} توسط کاربران تازه‌کار و ثبت‌نام‌نکرده&#039;&lt;br /&gt;
				.. &#039; برای خوانندگان قابل مشاهده نیست تا هنگامی که توسط&#039;&lt;br /&gt;
				.. &#039; یک بازبین پذیرفته شود. برای جلوگیری از نیاز بازبینی ویرایش‌هایتان،&#039;&lt;br /&gt;
				.. &#039; می‌توانید&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه&#039;&lt;br /&gt;
				.. &#039;#درخواست‌های خروج از محافظت&#039;&lt;br /&gt;
				.. &#039;|درخواست عدم حفاظت کنید]]، [[Special:Userlogin|وارد شوید]]، یا&#039;&lt;br /&gt;
				.. &#039; [[Special:UserLogin/signup|حساب کاربری بسازید]].&#039;&lt;br /&gt;
		},&lt;br /&gt;
		},&lt;br /&gt;
	upload = {&lt;br /&gt;
		default = {&lt;br /&gt;
			default = &#039;برای اطلاعات بیشتر [[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|&#039;&lt;br /&gt;
				.. &#039;سیاست حفاظت از صفحه‌ها]] و ${PROTECTIONLOG} را ببینید.&#039;&lt;br /&gt;
				.. &#039; این صفحه را هنوز می‌توان ویرایش کرد اما نسخه‌های تازه پرونده&#039;&lt;br /&gt;
				.. &#039; ممکن نیست بارگذاری شود تا زمانی که از حفاظت خارج شود. شما می‌توانید&#039;&lt;br /&gt;
				.. &#039; بارگذاری نسخه تازه را با&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست‌های ویرایش|درخواست ویرایش حفاظت‌شده]] درخواست کنید، یا&#039;&lt;br /&gt;
				.. &#039; می‌توانید از حفاظت‌شده خارج‌کردن آن را&#039;&lt;br /&gt;
				.. &#039; [[ایران‌پدیا:درخواست محافظت صفحه|درخواست کنید]].&#039;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Protection levels&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table provides the data for the ${PROTECTIONLEVEL} parameter, which&lt;br /&gt;
-- produces a short label for different protection levels. It is sorted by&lt;br /&gt;
-- protection action and protection level, and is checked in the following&lt;br /&gt;
-- order:&lt;br /&gt;
-- 1. page&#039;s protection action, page&#039;s protection level&lt;br /&gt;
-- 2. page&#039;s protection action, default protection level&lt;br /&gt;
-- 3. &amp;quot;edit&amp;quot; protection action, default protection level&lt;br /&gt;
--&lt;br /&gt;
-- It is possible to use banner parameters inside this table.&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
protectionLevels = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		default = &#039;حفاظت‌شده&#039;,&lt;br /&gt;
		templateeditor = &#039;الگوحفاظت‌شده&#039;,&lt;br /&gt;
		extendedconfirmed = &#039;حفاظت‌شده&#039;,&lt;br /&gt;
		autoconfirmed = &#039;نیمه‌حفاظت‌شده&#039;,&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		default = &#039;انتقال‌حفاظت‌شده&#039;&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
	},&lt;br /&gt;
	upload = {&lt;br /&gt;
		default = &#039;بارگذاری‌حفاظت‌شده&#039;&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Images&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table lists different padlock images for each protection action and&lt;br /&gt;
-- protection level. It is used if an image is not specified in any of the&lt;br /&gt;
-- banner data tables, and if the page does not satisfy the conditions for using&lt;br /&gt;
-- the [&#039;image-filename-indef&#039;] image. It is checked in the following order:&lt;br /&gt;
-- 1. page&#039;s protection action, page&#039;s protection level&lt;br /&gt;
-- 2. page&#039;s protection action, default protection level&lt;br /&gt;
images = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		default = &#039;Padlock.svg&#039;,&lt;br /&gt;
		templateeditor = &#039;Padlock-pink.svg&#039;,&lt;br /&gt;
		extendedconfirmed = &#039;Padlock-blue.svg&#039;,&lt;br /&gt;
		autoconfirmed = &#039;Padlock-silver.svg&#039;&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		default = &#039;Padlock-olive.svg&#039;,&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
		autoconfirmed = &#039;Padlock-silver-light.svg&#039;,&lt;br /&gt;
		default = &#039;Padlock-orange.svg&#039;&lt;br /&gt;
	},&lt;br /&gt;
	upload = {&lt;br /&gt;
		default = &#039;Padlock-purple.svg&#039;&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
-- Pages with a reason specified in this table will show the special &amp;quot;indef&amp;quot;&lt;br /&gt;
-- padlock, defined in the &#039;image-filename-indef&#039; message, if no expiry is set.&lt;br /&gt;
indefImageReasons = {&lt;br /&gt;
	template = true&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Image links&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table provides the data for the ${IMAGELINK} parameter, which gets&lt;br /&gt;
-- the image link for small padlock icons based on the page&#039;s protection action&lt;br /&gt;
-- and protection level. It is checked in the following order:&lt;br /&gt;
-- 1. page&#039;s protection action, page&#039;s protection level&lt;br /&gt;
-- 2. page&#039;s protection action, default protection level&lt;br /&gt;
-- 3. &amp;quot;edit&amp;quot; protection action, default protection level&lt;br /&gt;
--&lt;br /&gt;
-- It is possible to use banner parameters inside this table.&lt;br /&gt;
-- *required* - this table needs edit, move, autoreview and upload subtables.&lt;br /&gt;
imageLinks = {&lt;br /&gt;
	edit = {&lt;br /&gt;
		default = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#کاملاً&#039;,&lt;br /&gt;
		templateeditor = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#الگو&#039;,&lt;br /&gt;
		extendedconfirmed = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#تأییدشدهٔ پایدار&#039;,&lt;br /&gt;
		autoconfirmed = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#نیمه&#039;&lt;br /&gt;
	},&lt;br /&gt;
	move = {&lt;br /&gt;
		default = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#انتقال&#039;&lt;br /&gt;
	},&lt;br /&gt;
	autoreview = {&lt;br /&gt;
		autoconfirmed = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#تا۱&#039;,&lt;br /&gt;
		reviewer = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#تا۲&#039;&lt;br /&gt;
	},&lt;br /&gt;
	upload = {&lt;br /&gt;
		default = &#039;ایران‌پدیا:سیاست حفاظت از صفحه‌ها#بارگذاری&#039;&lt;br /&gt;
	}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Padlock indicator names&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table provides the &amp;quot;name&amp;quot; attribute for the &amp;lt;indicator&amp;gt; extension tag&lt;br /&gt;
-- with which small padlock icons are generated. All indicator tags on a page&lt;br /&gt;
-- are displayed in alphabetical order based on this attribute, and with&lt;br /&gt;
-- indicator tags with duplicate names, the last tag on the page wins.&lt;br /&gt;
-- The attribute is chosen based on the protection action; table keys must be a&lt;br /&gt;
-- protection action name or the string &amp;quot;default&amp;quot;.&lt;br /&gt;
padlockIndicatorNames = {&lt;br /&gt;
	autoreview = &#039;pp-autoreview&#039;,&lt;br /&gt;
	default = &#039;pp-default&#039;&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Protection categories&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- The protection categories are stored in the protectionCategories table.&lt;br /&gt;
-- Keys to this table are made up of the following strings:&lt;br /&gt;
--&lt;br /&gt;
-- 1. the expiry date&lt;br /&gt;
-- 2. the namespace&lt;br /&gt;
-- 3. the protection reason (e.g. &amp;quot;dispute&amp;quot; or &amp;quot;vandalism&amp;quot;)&lt;br /&gt;
-- 4. the protection level (e.g. &amp;quot;sysop&amp;quot; or &amp;quot;autoconfirmed&amp;quot;)&lt;br /&gt;
-- 5. the action (e.g. &amp;quot;edit&amp;quot; or &amp;quot;move&amp;quot;)&lt;br /&gt;
-- &lt;br /&gt;
-- When the module looks up a category in the table, first it will will check to&lt;br /&gt;
-- see a key exists that corresponds to all five parameters. For example, a&lt;br /&gt;
-- user page semi-protected from vandalism for two weeks would have the key&lt;br /&gt;
-- &amp;quot;temp-user-vandalism-autoconfirmed-edit&amp;quot;. If no match is found, the module&lt;br /&gt;
-- changes the first part of the key to &amp;quot;all&amp;quot; and checks the table again. It&lt;br /&gt;
-- keeps checking increasingly generic key combinations until it finds the&lt;br /&gt;
-- field, or until it reaches the key &amp;quot;all-all-all-all-all&amp;quot;.&lt;br /&gt;
--&lt;br /&gt;
-- The module uses a binary matrix to determine the order in which to search.&lt;br /&gt;
-- This is best demonstrated by a table. In this table, the &amp;quot;0&amp;quot; values&lt;br /&gt;
-- represent &amp;quot;all&amp;quot;, and the &amp;quot;1&amp;quot; values represent the original data (e.g.&lt;br /&gt;
-- &amp;quot;indef&amp;quot; or &amp;quot;file&amp;quot; or &amp;quot;vandalism&amp;quot;).&lt;br /&gt;
--&lt;br /&gt;
--        expiry    namespace reason   level     action&lt;br /&gt;
-- order&lt;br /&gt;
-- 1      1         1         1        1         1&lt;br /&gt;
-- 2      0         1         1        1         1&lt;br /&gt;
-- 3      1         0         1        1         1&lt;br /&gt;
-- 4      0         0         1        1         1&lt;br /&gt;
-- 5      1         1         0        1         1&lt;br /&gt;
-- 6      0         1         0        1         1&lt;br /&gt;
-- 7      1         0         0        1         1&lt;br /&gt;
-- 8      0         0         0        1         1&lt;br /&gt;
-- 9      1         1         1        0         1&lt;br /&gt;
-- 10     0         1         1        0         1&lt;br /&gt;
-- 11     1         0         1        0         1&lt;br /&gt;
-- 12     0         0         1        0         1&lt;br /&gt;
-- 13     1         1         0        0         1&lt;br /&gt;
-- 14     0         1         0        0         1&lt;br /&gt;
-- 15     1         0         0        0         1&lt;br /&gt;
-- 16     0         0         0        0         1&lt;br /&gt;
-- 17     1         1         1        1         0&lt;br /&gt;
-- 18     0         1         1        1         0&lt;br /&gt;
-- 19     1         0         1        1         0&lt;br /&gt;
-- 20     0         0         1        1         0&lt;br /&gt;
-- 21     1         1         0        1         0&lt;br /&gt;
-- 22     0         1         0        1         0&lt;br /&gt;
-- 23     1         0         0        1         0&lt;br /&gt;
-- 24     0         0         0        1         0&lt;br /&gt;
-- 25     1         1         1        0         0&lt;br /&gt;
-- 26     0         1         1        0         0&lt;br /&gt;
-- 27     1         0         1        0         0&lt;br /&gt;
-- 28     0         0         1        0         0&lt;br /&gt;
-- 29     1         1         0        0         0&lt;br /&gt;
-- 30     0         1         0        0         0&lt;br /&gt;
-- 31     1         0         0        0         0&lt;br /&gt;
-- 32     0         0         0        0         0&lt;br /&gt;
--&lt;br /&gt;
-- In this scheme the action has the highest priority, as it is the last&lt;br /&gt;
-- to change, and the expiry has the least priority, as it changes the most.&lt;br /&gt;
-- The priorities of the expiry, the protection level and the action are&lt;br /&gt;
-- fixed, but the priorities of the reason and the namespace can be swapped&lt;br /&gt;
-- through the use of the cfg.bannerDataNamespaceHasPriority table.&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- If the reason specified to the template is listed in this table,&lt;br /&gt;
-- namespace data will take priority over reason data in the protectionCategories&lt;br /&gt;
-- table.&lt;br /&gt;
reasonsWithNamespacePriority = {&lt;br /&gt;
	vandalism = true,&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
-- The string to use as a namespace key for the protectionCategories table for each&lt;br /&gt;
-- namespace number.&lt;br /&gt;
categoryNamespaceKeys = {&lt;br /&gt;
	[  2] = &#039;user&#039;,&lt;br /&gt;
	[  3] = &#039;user&#039;,&lt;br /&gt;
	[  4] = &#039;project&#039;,&lt;br /&gt;
	[  6] = &#039;file&#039;,&lt;br /&gt;
	[  8] = &#039;mediawiki&#039;,&lt;br /&gt;
	[ 10] = &#039;template&#039;,&lt;br /&gt;
	[ 12] = &#039;project&#039;,&lt;br /&gt;
	[ 14] = &#039;category&#039;,&lt;br /&gt;
	[100] = &#039;portal&#039;,&lt;br /&gt;
	[828] = &#039;module&#039;,&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
protectionCategories = {&lt;br /&gt;
	[&#039;all|all|all|all|all&#039;]                  = &#039;صفحات حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|office|all|all&#039;]               = &#039;صفحات اداره‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|reset|all|all&#039;]                = &#039;صفحات اداره‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|dmca|all|all&#039;]                 = &#039;صفحات اداره‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|mainpage|all|all&#039;]             = &#039;پرونده‌های کامل‌حفاظت‌شده صفحه اصلی ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|all|extendedconfirmed|all&#039;]    = &#039;صفحات ایران‌پدیا با محدودیت ویرایش کمتر از ۳۰-۵۰۰&#039;,&lt;br /&gt;
	[&#039;all|all|ecp|extendedconfirmed|all&#039;]    = &#039;صفحات ایران‌پدیا با محدودیت ویرایش کمتر از ۳۰-۵۰۰&#039;,&lt;br /&gt;
	[&#039;all|template|all|all|edit&#039;]            = &#039;الگوهای کامل‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|all|autoconfirmed|edit&#039;]       = &#039;صفحات نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;indef|all|all|autoconfirmed|edit&#039;]     = &#039;صفحات نیمه‌حفاظت‌شده بی‌پایان ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|blp|autoconfirmed|edit&#039;]       = &#039;زندگی‌نامه زندگان نیمه‌حفاظت‌شده بی‌پایان ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;temp|all|blp|autoconfirmed|edit&#039;]      = &#039;زندگی‌نامه زندگان نیمه‌حفاظت‌شده موقت ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|dispute|autoconfirmed|edit&#039;]   = &#039;صفحات نیمه‌حفاظت‌شده ایران‌پدیا به‌دلیل اختلاف&#039;,&lt;br /&gt;
	[&#039;all|all|sock|autoconfirmed|edit&#039;]      = &#039;صفحات نیمه‌حفاظت‌شده ایران‌پدیا در برابر کاربران محروم&#039;,&lt;br /&gt;
	[&#039;all|all|vandalism|autoconfirmed|edit&#039;] = &#039;صفحات نیمه‌حفاظت‌شده ایران‌پدیا در برابر خرابکاری&#039;,&lt;br /&gt;
	[&#039;all|category|all|autoconfirmed|edit&#039;]  = &#039;رده‌های نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|file|all|autoconfirmed|edit&#039;]      = &#039;پرونده‌های نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|portal|all|autoconfirmed|edit&#039;]    = &#039;درگاه‌های نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|project|all|autoconfirmed|edit&#039;]   = &#039;صفحه‌های پروژه نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|talk|all|autoconfirmed|edit&#039;]      = &#039;صفحات بحث نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|template|all|autoconfirmed|edit&#039;]  = &#039;الگوهای نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|user|all|autoconfirmed|edit&#039;]      = &#039;صفحات کاربری و بحث کاربر نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|template|all|templateeditor|edit&#039;] = &#039;الگوهای الگوحفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|blp|sysop|edit&#039;]               = &#039;زندگی‌نامه زندگان حفاظت‌شده بی‌پایان ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;temp|all|blp|sysop|edit&#039;]              = &#039;زندگی‌نامه زندگان حفاظت‌شده موقت ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|dispute|sysop|edit&#039;]           = &#039;صفحات حفاظت‌شده ایران‌پدیا به‌دلیل اختلاف&#039;,&lt;br /&gt;
	[&#039;all|all|sock|sysop|edit&#039;]              = &#039;صفحات حفاظت‌شده ایران‌پدیا در برابر کاربران محروم&#039;,&lt;br /&gt;
	[&#039;all|all|vandalism|sysop|edit&#039;]         = &#039;صفحات حفاظت‌شده ایران‌پدیا در برابر خرابکاری&#039;,&lt;br /&gt;
	[&#039;all|category|all|sysop|edit&#039;]          = &#039;رده‌های حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|file|all|sysop|edit&#039;]              = &#039;پرونده‌های کامل‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|project|all|sysop|edit&#039;]           = &#039;صفحات پروژه حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|talk|all|sysop|edit&#039;]              = &#039;صفحات بحث کامل‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|template|all|sysop|edit&#039;]          = &#039;الگوهای کامل‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|user|all|sysop|edit&#039;]              = &#039;صفحات کاربری و بحث کاربر حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|module|all|all|edit&#039;]              = &#039;پودمان‌های کامل‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|module|all|templateeditor|edit&#039;]   = &#039;پودمان‌های الگوحفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|module|all|autoconfirmed|edit&#039;]    = &#039;پودمان‌های نیمه‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|all|sysop|move&#039;]               = &#039;صفحات انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;indef|all|all|sysop|move&#039;]             = &#039;صفحات انتقال‌حفاظت‌شده بی‌پایان ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|dispute|sysop|move&#039;]           = &#039;صفحات انتقال‌حفاظت‌شده ایران‌پدیا در برابر اختلاف&#039;,&lt;br /&gt;
	[&#039;all|all|vandalism|sysop|move&#039;]         = &#039;صفحات انتقال‌حفاظت‌شده ایران‌پدیا به دلیل خرابکاری&#039;,&lt;br /&gt;
	[&#039;all|portal|all|sysop|move&#039;]            = &#039;درگاه‌های انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|portal|all|sysop|move&#039;]            = &#039;درگاه‌های انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|project|all|sysop|move&#039;]           = &#039;صفحات پروژه انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|talk|all|sysop|move&#039;]              = &#039;صفحات بحث انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|template|all|sysop|move&#039;]          = &#039;الگوهای انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|user|all|sysop|move&#039;]              = &#039;صفحات کاربری و بحث کاربر انتقال‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
	[&#039;all|all|all|autoconfirmed|autoreview&#039;] = &#039;صفحات حفاظت‌شده ایران‌پدیا در حد بازبینی ویرایش&#039;,&lt;br /&gt;
	[&#039;all|all|all|reviewer|autoreview&#039;]      = &#039;صفحات ایران‌پدیا حفاظت‌شده در برابر تغییرات در انتظار (سطح ۲)&#039;,&lt;br /&gt;
	[&#039;all|file|all|all|upload&#039;]              = &#039;پرونده‌های بارگذاری‌حفاظت‌شده ایران‌پدیا&#039;,&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Expiry category config&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table configures the expiry category behaviour for each protection&lt;br /&gt;
-- action.&lt;br /&gt;
-- * If set to true, setting that action will always categorise the page if&lt;br /&gt;
--   an expiry parameter is not set.&lt;br /&gt;
-- * If set to false, setting that action will never categorise the page.&lt;br /&gt;
-- * If set to nil, the module will categorise the page if:&lt;br /&gt;
--   1) an expiry parameter is not set, and&lt;br /&gt;
--   2) a reason is provided, and&lt;br /&gt;
--   3) the specified reason is not blacklisted in the reasonsWithoutExpiryCheck&lt;br /&gt;
--      table.&lt;br /&gt;
&lt;br /&gt;
expiryCheckActions = {&lt;br /&gt;
	edit = nil,&lt;br /&gt;
	move = false,&lt;br /&gt;
	autoreview = true,&lt;br /&gt;
	upload = false&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
reasonsWithoutExpiryCheck = {&lt;br /&gt;
	blp = true,&lt;br /&gt;
	template = true,&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Pagetypes&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table produces the page types available with the ${PAGETYPE} parameter.&lt;br /&gt;
-- Keys are namespace numbers, or the string &amp;quot;default&amp;quot; for the default value.&lt;br /&gt;
pagetypes = {&lt;br /&gt;
	[0] = &#039;مقاله&#039;,&lt;br /&gt;
	[6] = &#039;پرونده&#039;,&lt;br /&gt;
	[10] = &#039;الگو&#039;,&lt;br /&gt;
	[14] = &#039;رده&#039;,&lt;br /&gt;
	[828] = &#039;پودمان&#039;,&lt;br /&gt;
	default = &#039;صفحه&#039;&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Strings marking indefinite protection&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table contains values passed to the expiry parameter that mean the page&lt;br /&gt;
-- is protected indefinitely.&lt;br /&gt;
indefStrings = {&lt;br /&gt;
	[&#039;indef&#039;] = true,&lt;br /&gt;
	[&#039;indefinite&#039;] = true,&lt;br /&gt;
	[&#039;indefinitely&#039;] = true,&lt;br /&gt;
	[&#039;infinite&#039;] = true,&lt;br /&gt;
	[&#039;بی‌پایان&#039;] = true,&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Group hierarchy&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table maps each group to all groups that have a superset of the original&lt;br /&gt;
-- group&#039;s page editing permissions.&lt;br /&gt;
hierarchy = {&lt;br /&gt;
	sysop = {},&lt;br /&gt;
	reviewer = {&#039;sysop&#039;},&lt;br /&gt;
	filemover = {&#039;sysop&#039;},&lt;br /&gt;
	templateeditor = {&#039;sysop&#039;},&lt;br /&gt;
	extendedconfirmed = {&#039;sysop&#039;},&lt;br /&gt;
	accountcreator = {&#039;templateeditor&#039;},&lt;br /&gt;
	autoconfirmed = {&#039;reviewer&#039;, &#039;filemover&#039;, &#039;templateeditor&#039;, &#039;extendedconfirmed&#039;},&lt;br /&gt;
	user = {&#039;autoconfirmed&#039;},&lt;br /&gt;
	[&#039;*&#039;] = {&#039;user&#039;}&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Wrapper templates and their default arguments&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table contains wrapper templates used with the module, and their&lt;br /&gt;
-- default arguments. Templates specified in this table should contain the&lt;br /&gt;
-- following invocation, and no other template content:&lt;br /&gt;
--&lt;br /&gt;
-- {{#invoke:Protection banner|main}}&lt;br /&gt;
--&lt;br /&gt;
-- If other content is desired, it can be added between&lt;br /&gt;
-- &amp;lt;noinclude&amp;gt;...&amp;lt;/noinclude&amp;gt; tags.&lt;br /&gt;
--&lt;br /&gt;
-- When a user calls one of these wrapper templates, they will use the&lt;br /&gt;
-- default arguments automatically. However, users can override any of the&lt;br /&gt;
-- arguments.&lt;br /&gt;
wrappers = {&lt;br /&gt;
	[&#039;الگو:Pp&#039;]                         = {},&lt;br /&gt;
	[&#039;الگو:Pp-30-500&#039;]                  = {&#039;ecp&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-blp&#039;]                     = {&#039;blp&#039;},&lt;br /&gt;
	-- we don&#039;t need Template:Pp-create&lt;br /&gt;
	[&#039;الگو:Pp-dispute&#039;]                 = {&#039;dispute&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-main-page&#039;]               = {&#039;mainpage&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-move&#039;]                    = {action = &#039;move&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-move-dispute&#039;]            = {&#039;dispute&#039;, action = &#039;move&#039;},&lt;br /&gt;
	-- we don&#039;t need Template:Pp-move-indef&lt;br /&gt;
	[&#039;الگو:Pp-move-vandalism&#039;]          = {&#039;vandalism&#039;, action = &#039;move&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-office&#039;]                  = {&#039;office&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-office-dmca&#039;]             = {&#039;dmca&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-pc1&#039;]                     = {action = &#039;autoreview&#039;, small = true},&lt;br /&gt;
	[&#039;الگو:Pp-pc2&#039;]                     = {action = &#039;autoreview&#039;, small = true},&lt;br /&gt;
	[&#039;الگو:Pp-reset&#039;]                   = {&#039;reset&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-semi-indef&#039;]              = {small = true},&lt;br /&gt;
	[&#039;الگو:Pp-sock&#039;]                    = {&#039;sock&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-template&#039;]                = {&#039;template&#039;, small = true},&lt;br /&gt;
	[&#039;الگو:Pp-upload&#039;]                  = {action = &#039;upload&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-usertalk&#039;]                = {&#039;usertalk&#039;},&lt;br /&gt;
	[&#039;الگو:Pp-vandalism&#039;]               = {&#039;vandalism&#039;},&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- &lt;br /&gt;
--                                 MESSAGES&lt;br /&gt;
-- &lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
msg = {&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Intro blurb and intro fragment&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These messages specify what is produced by the ${INTROBLURB} and&lt;br /&gt;
-- ${INTROFRAGMENT} parameters. If the protection is temporary they use the&lt;br /&gt;
-- intro-blurb-expiry or intro-fragment-expiry, and if not they use&lt;br /&gt;
-- intro-blurb-noexpiry or intro-fragment-noexpiry.&lt;br /&gt;
-- It is possible to use banner parameters in these messages.&lt;br /&gt;
[&#039;intro-blurb-expiry&#039;] = &#039;تا ${EXPIRY} ${PROTECTIONBLURB}.&#039;,&lt;br /&gt;
[&#039;intro-blurb-noexpiry&#039;] = &#039;${PROTECTIONBLURB}.&#039;,&lt;br /&gt;
[&#039;intro-fragment-expiry&#039;] = &#039;تا ${EXPIRY} ${PROTECTIONBLURB}،&#039;,&lt;br /&gt;
[&#039;intro-fragment-noexpiry&#039;] = &#039;${PROTECTIONBLURB}&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Tooltip blurb&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These messages specify what is produced by the ${TOOLTIPBLURB} parameter.&lt;br /&gt;
-- If the protection is temporary the tooltip-blurb-expiry message is used, and&lt;br /&gt;
-- if not the tooltip-blurb-noexpiry message is used.&lt;br /&gt;
-- It is possible to use banner parameters in these messages.&lt;br /&gt;
[&#039;tooltip-blurb-expiry&#039;] = &#039;این ${PAGETYPE} تا ${EXPIRY} ${PROTECTIONLEVEL} شده‌است&#039;,&lt;br /&gt;
[&#039;tooltip-blurb-noexpiry&#039;] = &#039;این ${PAGETYPE} ${PROTECTIONLEVEL} شده‌است&#039;,&lt;br /&gt;
[&#039;tooltip-fragment-expiry&#039;] = &#039;این ${PAGETYPE} تا ${EXPIRY} ${PROTECTIONLEVEL} شده‌است&#039;,&lt;br /&gt;
[&#039;tooltip-fragment-noexpiry&#039;] = &#039;این ${PAGETYPE} ${PROTECTIONLEVEL} شده‌است&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Special explanation blurb&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- An explanation blurb for pages that cannot be unprotected, e.g. for pages&lt;br /&gt;
-- in the MediaWiki namespace.&lt;br /&gt;
-- It is possible to use banner parameters in this message.&lt;br /&gt;
[&#039;explanation-blurb-nounprotect&#039;] = &#039;[[ایران‌پدیا:سیاست حفاظت از صفحه‌ها|سیاست حفاظت]]&#039;&lt;br /&gt;
	.. &#039; و ${PROTECTIONLOG} را برای جزئیات بیشتر ببینید.&#039;&lt;br /&gt;
	.. &#039; لطفاً دربارهٔ هر تغییر در ${TALKPAGE} بحث کنید؛&#039;&lt;br /&gt;
	.. &#039; می‌توانید ${EDITREQUEST} برای درخواست از یک&#039;&lt;br /&gt;
	.. &#039; [[ایران‌پدیا:مدیران|مدیر]] برای اعمال ویرایش اگر درخواست&#039;&lt;br /&gt;
	.. &#039; [[راهنما:ویرایش جزئی#چه هنگامی ویرایش جزئی است؟&#039;&lt;br /&gt;
	.. &#039;|غیر جنجالی]] باشد یا توسط [[ایران‌پدیا:اجماع|اجماع]]&#039;&lt;br /&gt;
	.. &#039; حمایت شود.&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Protection log display values&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These messages determine the display values for the protection log link&lt;br /&gt;
-- or the pending changes log link produced by the ${PROTECTIONLOG} parameter.&lt;br /&gt;
-- It is possible to use banner parameters in these messages.&lt;br /&gt;
[&#039;protection-log-display&#039;] = &#039;سیاههٔ حفاظت&#039;,&lt;br /&gt;
[&#039;pc-log-display&#039;] = &#039;سیاههٔ تغییرات در انتظار&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Current version display values&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These messages determine the display values for the page history link&lt;br /&gt;
-- or the move log link produced by the ${CURRENTVERSION} parameter.&lt;br /&gt;
-- It is possible to use banner parameters in these messages.&lt;br /&gt;
[&#039;current-version-move-display&#039;] = &#039;عنوان کنونی&#039;,&lt;br /&gt;
[&#039;current-version-edit-display&#039;] = &#039;نگارش کنونی&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Talk page&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This message determines the display value of the talk page link produced&lt;br /&gt;
-- with the ${TALKPAGE} parameter.&lt;br /&gt;
-- It is possible to use banner parameters in this message.&lt;br /&gt;
[&#039;talk-page-link-display&#039;] = &#039;صفحه بحث&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Edit requests&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This message determines the display value of the edit request link produced&lt;br /&gt;
-- with the ${EDITREQUEST} parameter.&lt;br /&gt;
-- It is possible to use banner parameters in this message.&lt;br /&gt;
[&#039;edit-request-display&#039;] = &#039;درخواست ویرایش کنید&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Expiry date format&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This is the format for the blurb expiry date. It should be valid input for&lt;br /&gt;
-- the first parameter of the #time parser function.&lt;br /&gt;
[&#039;expiry-date-format&#039;] = &#039;xij xiF xiY&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking categories&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These messages determine which tracking categories the module outputs.&lt;br /&gt;
[&#039;tracking-category-incorrect&#039;] = &#039;صفحات ایران‌پدیا با الگوهای محافظت نادرست&#039;,&lt;br /&gt;
[&#039;tracking-category-template&#039;] = &#039;صفحات الگوحفاظت‌شده ایران‌پدیا غیر از الگوها و پودمان‌ها&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Images&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- These are images that are not defined by their protection action and protection level.&lt;br /&gt;
[&#039;image-filename-indef&#039;] = &#039;Padlock.svg&#039;,&lt;br /&gt;
[&#039;image-filename-default&#039;] = &#039;Transparent.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- End messages&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%86%D8%B4%DA%A9%D9%86&amp;diff=35834</id>
		<title>الگو:نشکن</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D8%A7%D9%84%DA%AF%D9%88:%D9%86%D8%B4%DA%A9%D9%86&amp;diff=35834"/>
		<updated>2019-03-04T14:22:21Z</updated>

		<summary type="html">&lt;p&gt;Mahan: ۱ نسخه واردشده&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{الگوی محافظت شده}}&lt;br /&gt;
==کاربرد==&lt;br /&gt;
از این الگو برای این منظور استفاده کنید که متنی که به عنوان پارامتر به آن می‌دهید بین دو سطر شکسته نشود. به عنوان نمونه، اگر متن مورد نظر شما چنین دیده می‌شود:&lt;br /&gt;
{|&lt;br /&gt;
| ........................ ||{{چر}} 1 + 2&lt;br /&gt;
|-&lt;br /&gt;
|{{چر}} = 3 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
می‌توانید با کمک این الگو به شکل زیر:&lt;br /&gt;
{|&lt;br /&gt;
| ....................... || {{‌نشکن&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;{{چر}}1 + 2 = 3&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
باعث شوید که متن به صورت زیر دیده شود:&lt;br /&gt;
{|&lt;br /&gt;
| ........................&lt;br /&gt;
|-&lt;br /&gt;
|{{چر}} 1 + 2 = 3 || &lt;br /&gt;
|}&lt;br /&gt;
یعنی تمام عبارت در کنار هم در یک سطر دیده شود.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mahan</name></author>
	</entry>
</feed>