ویکینبشته
fawikisource
https://fa.wikisource.org/wiki/%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C
MediaWiki 1.47.0-wmf.13
first-letter
مدیا
ویژه
بحث
کاربر
بحث کاربر
ویکینبشته
بحث ویکینبشته
پرونده
بحث پرونده
مدیاویکی
بحث مدیاویکی
الگو
بحث الگو
راهنما
بحث راهنما
رده
بحث رده
درگاه
بحث درگاه
پدیدآورنده
بحث پدیدآورنده
برگه
گفتگوی برگه
فهرست
گفتگوی فهرست
TimedText
TimedText talk
پودمان
بحث پودمان
Event
Event talk
کلیات سعدی/غزلیات/اگر تو پرده بر این زلف و رخ نمیپوشی
0
16758
294412
172545
2026-08-02T05:30:03Z
P30better
8157
294412
wikitext
text/x-wiki
{{سرصفحه
| عنوان = [[کلیات سعدی/غزلیات|غزلیات]]
| مؤلف = سعدی
| مصحح = محمدعلی فروغی
| قسمت = اگر تو پرده بر این زلف و رخ نمیپوشی
| قبلی = [[../هرگز آن دل بنمیرد که تو جانش باشی|هرگز آن دل بنمیرد که تو جانش باشی]]
| بعدی = [[../به پایان آمد این دفتر حکایت همچنان باقی|به پایان آمد این دفتر حکایت همچنان باقی]]
}}
<pages index="KoliyatSaadiForoughi.pdf" from=938 fromsection="p938-2" to=939 tosection="p939-1" />
[[رده:غزلیات سعدی]]
* در آن نفس، سایت اول، شماره ۱، (نسخهٔ صوتی از [https://brozmusic.ir/%d8%af%d8%a7%d9%86%d9%84%d9%88%d8%af-%d8%a2%d9%87%d9%86%da%af-%d8%af%d8%b1-%d8%a2%d9%86-%d9%86%d9%81%d8%b3-%da%a9%d9%87-%d8%a8%d9%85%db%8c%d8%b1%d9%85-%d8%af%d8%b1-%d8%a2%d8%b1%d8%b2%d9%88%db%8c/).
rirailicksh7rjt1y9i5op0naww6fsw
راهنما:درونمایه
12
19689
294391
192281
2026-08-01T15:06:38Z
Hanooz
17889
294391
wikitext
text/x-wiki
{{process header
| title = Help pages
| section =
| previous = [[Wikisource:Index]]
| next =
| shortcut = [[WS:HELP]]
| notes = ''See also: [[Wikisource:What Wikisource includes|What Wikisource includes]]''
<inputbox>
type = search
namespaces = Help
placeholder = Search help pages
searchbuttonlabel = Go
bgcolor = transparent
break = no
</inputbox>
}}
<!------------------------------------
IF YOU MODIFY THE BELOW INDEX,
PLEASE UPDATE THE "HELP PAGES" SECTION
OF THE COMMUNITY PORTAL
------------------------------------->
<div class="center" style="font-size:120%; margin:1em 0;">[[Help:Introduction|Introduction]]<span style="margin:0 1em;">•</span>[[Wikisource:For Wikipedians|For Wikipedians]]<span style="margin:0 1em;">•</span>[[Wikisource:Sandbox|Sandbox]]</div>__NOTOC__
{| style="margin:0 auto 0 auto; width:72%"
| style="width:50%; padding-right:1em; vertical-align:top;" | <!-- LEFT COLUMN -->
{|
| style="padding-right:1em" | [[File:Crystal128-personal.svg|35px|link=]] || <h3>[[Help:Beginner's guide to Wikisource|Beginner's guide]]<!--non-standard link--></h3>
|-
| ||
[[Wikisource:Glossary|Glossary of Terms]]
'''Reading'''
<br />[[Help:Beginner's guide to navigation|Navigation]]
<br />[[Help:Beginner's guide to reliability|Reliability]]
'''Editing'''
<br />[[Help:Beginner's guide to adding texts|Adding texts]]
<br />[[Help:Beginner's guide to sources|Sources]]
<br />[[Help:Beginner's guide to copyright|Copyright]]
<br />[[Help:Beginner's guide to Index: files|Index pages]]
<br />[[Help:Beginner's guide to proofreading|Proofreading]]
<br />[[Help:Beginner's guide to typography|Typography]]
<br />[[Help:Beginner's guide to validation|Validation]]
<br />[[Help:Beginner's guide to transclusion|Transclusion]]
<br />[[Help:Beginner's guide to finishing touches|Finishing touches]]
'''Maintaining'''
<br />[[Help:Beginner's guide to maintenance|Maintenance]]
<br />[[Help:Beginner's guide to deletion|Deletion]]
|-
| [[File:Maket icon.svg|35px|link=]] || <h3>[[Help:Portals|Portals]]</h3>
|-
| ||
[[Help:Portal classification|Portal classification]]
<br />[[Help:Portal review|Portal review]]
|-
| [[File:Anaglyph.svg|35px|link=]] || <h3>[[Help:Reading|Reading]]</h3>
|-
| ||
[[Help:Fonts|Fonts]]
<br />[[Help:Searching|Searching]]
<br />[[Help:Reading offline|Reading offline]]
<br />{{gap}}[[Help:OPDS|OPDS catalog]]
<br />[[Help:Books|Books]]
|-
| [[File:UniversalEditButton2.svg|35px|link=]] || <h3>[[Help:Editing|Editing]]</h3>
|-
| ||
''[[Help:Introduction to editing Wikisource|Introduction to editing Wikisource]]''
<br />[[Help:Adding texts|Adding texts]]
<br />[[Help:Adding images|Adding images]]
<br />[[Help:Author pages|Author pages]]
<br />[[Help:Categorization|Categorization]]
<br />[[Help:Front matter|Front matter]]
<br />[[Help:Interlanguage links|Interlanguage links]]
<br />[[Help:Layout|Layout]]
<br />[[Help:Namespaces|Namespaces]]
<br />[[Help:Patrolling|Patrolling]]
<br />[[Help:Proofread|Proofread]]
<br />{{gap}}[[Help:Page scans|Page scans]]
<br />{{gap}}[[Help:Index pages|Index pages]]
<br />{{gap}}[[Help:Page numbers|Page numbers]]
<br />{{gap}}[[Help:Page status|Page status]]
<br />{{gap}}[[Help:Publisher Logos|Publisher Logos]]
<br />{{gap}}[[Help:Formatting conventions|Formatting conventions]]
<br />{{gap}}[[Wikisource:Style guide|Style guide]]
<br />{{gap}}[[Help:Transclusion|Transclusion]]
<br />{{gap}}[[Help:ProofreadPage extension|ProofreadPage extension]]
<br />{{gap}}[[Help:Preparing for export|Preparing for export]]
<br />[[Help:Redirects|Redirects]]
<br />[[Help:Subpages|Subpages]]
<br />[[Help:Facsimiles|Facsimiles]]
|}
| style="width:50%; padding-left:1em; vertical-align:top;" | <!-- RIGHT COLUMN -->
{|
| style="padding-right:1em" | [[File:Evolution-tasks.svg|35px|link=]] || <h3>Specific Issues</h3>
|-
| ||
[[Help:Disambiguation|Disambiguation]]
<br />[[Help:Footnotes and endnotes|Footnotes and endnotes]]
<br />[[Help:Fractions and functions|Fractions and functions]]
<br />[[Help:Labeled section transclusion|Labeled section transclusion]]
<br />[[Help:Logging in|Logging in]]
<br />[[Help:Match and split|Match and split]]
<br />[[Help:Page breaks|Page breaks]]
<br />[[Help:Sidenotes|Sidenotes]]
<br />[[Help:Table|Table]]
|-
| [[File:Nuvola devices scanner.svg|35px|link=]] || <h3>Scans</h3>
|-
| ||
[[Help:Digitising texts and images for Wikisource|Digitising texts and images]]<!--non-standard link-->
<br />[[Help:DjVu files|DjVu files]]<br/>
[[Help:Image extraction|Image extraction]]
|-
| [[File:Copyright.svg|35px|link=]] || <h3>[[Help:Copyright|Copyright]]</h3>
|-
| ||
[[Help:Copyright tags|Copyright tags]]
<br />[[Help:Public domain|Public domain]]
<br />[[Help:Copyright renewals|Copyright renewals]]
<br />[[Help:Licensing compatibility|Licensing compatibility]]
<br />[[Help:Official texts|Official texts]]
|-
| [[File:Gnome-applications-multimedia.svg|35px|link=]] || <h3>Particular works</h3>
|-
| ||
[[Help:Film|Film]]
<br />[[Help:Poetry|Poetry]]
<br />[[Help:Manuscripts|Manuscripts]]
<br />[[Help:Sheet music|Sheet music]]
<br />{{gap}}[[Help:LilyPond|LilyPond]]
<br />{{gap}}[[Help:List of musical symbols|List of musical symbols]]
|-
| [[File:Oxygen480-actions-media-playback-start.svg|35px|link=]] || <h3>[[Help:Multimedia|Multimedia]]</h3>
|-
| ||
[[Help:Audio|Audio]]
|-
| [[File:Template icon.svg|35px|link=]] || <h3>[[Help:Templates|Templates]]</h3>
|-
| ||
[[Help:Font size templates|Font size templates]]
<br />[[Help:Maintenance tags|Maintenance tags]]
<br />[[Help:Sister-project templates|Sister-project templates]]
|-
| [[File:Crystal128-application-x-executable.svg|35px|link=]] || <h3>Gadgets</h3>
|-
| ||
[[Help:Gadget-HotCat|Gadget-HotCat]]
<br />[[Help:Header preloading script gadget|Header preloading script]]
<br />[[Help:URL2Commons|URL2Commons]]
|-
| [[File:Crystal Clear app linneighborhood.svg|35px|link=]] || <h3>External sites</h3>
|-
| ||
[[Help:Google Books|Google Books]]
<br />[[Help:Internet Archive|Internet Archive]]
<br />[[Help:LibriVox|LibriVox]]
|}
|}
<div class="center plainlinks" style="font-size:150%; margin:1em 0;">Do you need assistance? [{{fullurl:Wikisource:Scriptorium/Help|action=edit§ion=new}} Post a request!]</div>
[[Category:Help| ]]
[[Category:Wikisource index pages|Help]]
bgs5tw1ixu2f2vbct7ht07scxm6gtk5
294392
294391
2026-08-01T15:07:18Z
Hanooz
17889
ترجمه هوش مصنوعی
294392
wikitext
text/x-wiki
{{process header
| title = صفحههای راهنما
| section =
| previous = [[ویکینبشته:فهرست]]
| next =
| shortcut = [[ون:راهنما]]
| notes = ''همچنین ببینید: [[:en:Wikisource:What Wikisource includes|آنچه ویکینبشته در بر میگیرد]]''
<inputbox>
type = search
namespaces = راهنما
placeholder = جستجو در صفحههای راهنما
searchbuttonlabel = برو
bgcolor = transparent
break = no
</inputbox>
}}
<!------------------------------------
اگر فهرست زیر را ویرایش کردید،
بخش «صفحههای راهنما» را در میدان شهر
هم بهروزرسانی کنید
------------------------------------->
<div class="center" style="font-size:120%; margin:1em 0;">[[:en:Help:Introduction|آشنایی]]<span style="margin:0 1em;">•</span>[[ویکینبشته:برای اهالی ویکیپدیا|برای اهالی ویکیپدیا]]<span style="margin:0 1em;">•</span>[[ویکینبشته:دفتر مشق|دفتر مشق]]</div>__NOTOC__
{| style="margin:0 auto 0 auto; width:72%"
| style="width:50%; padding-right:1em; vertical-align:top;" | <!-- ستون چپ -->
{|
| style="padding-right:1em" | [[پرونده:Crystal128-personal.svg|35px|link=]] || <h3>[[راهنما:راهنمای کوتاه|راهنمای مبتدیان]]<!--پیوند غیر استاندارد--></h3>
|-
| ||
[[:en:Wikisource:Glossary|واژهنامه]]
'''خواندن'''
<br />[[:en:Help:Beginner's guide to navigation|پیمایش]]
<br />[[:en:Help:Beginner's guide to reliability|قابلیت اطمینان]]
'''ویرایش'''
<br />[[:en:Help:Beginner's guide to adding texts|افزودن متنها]]
<br />[[:en:Help:Beginner's guide to sources|منابع]]
<br />[[:en:Help:Beginner's guide to copyright|حق تکثیر]]
<br />[[:en:Help:Beginner's guide to Index: files|صفحههای فهرست]]
<br />[[:en:Help:Beginner's guide to proofreading|نمونهخوانی]]
<br />[[:en:Help:Beginner's guide to typography|تایپوگرافی]]
<br />[[:en:Help:Beginner's guide to validation|همسنجی]]
<br />[[:en:Help:Beginner's guide to transclusion|تراگنجانی]]
<br />[[:en:Help:Beginner's guide to finishing touches|آخرین پرداخت]]
'''نگهداری'''
<br />[[:en:Help:Beginner's guide to maintenance|نگهداری]]
<br />[[:en:Help:Beginner's guide to deletion|حذف]]
|-
| [[پرونده:Maket icon.svg|35px|link=]] || <h3>[[:en:Help:Portals|درگاهها]]</h3>
|-
| ||
[[:en:Help:Portal classification|ردهبندی درگاهها]]
<br />[[:en:Help:Portal review|بازبینی درگاهها]]
|-
| [[پرونده:Anaglyph.svg|35px|link=]] || <h3>[[:en:Help:Reading|خواندن]]</h3>
|-
| ||
[[:en:Help:Fonts|قلمها]]
<br />[[:en:Help:Searching|جستجو]]
<br />[[:en:Help:Reading offline|خواندن برونخط]]
<br />{{gap}}[[:en:Help:OPDS|فهرست OPDS]]
<br />[[:en:Help:Books|کتابها]]
|-
| [[پرونده:UniversalEditButton2.svg|35px|link=]] || <h3>[[راهنما:ویرایش ویکینبشته|ویرایش]]</h3>
|-
| ||
''[[راهنما:ویرایش ویکینبشته|مقدمهای بر ویرایش ویکینبشته]]''
<br />[[:en:Help:Adding texts|افزودن متنها]]
<br />[[:en:Help:Adding images|افزودن تصویر]]
<br />[[:en:Help:Author pages|صفحههای پدیدآورندگان]]
<br />[[:en:Help:Categorization|ردهبندی]]
<br />[[:en:Help:Front matter|صفحات آغازین]]
<br />[[راهنما:پیوندهای میانزبانی|پیوندهای میانزبانی]]
<br />[[:en:Help:Layout|چیدمان]]
<br />[[:en:Help:Namespaces|فضاهای نام]]
<br />[[ویکینبشته:گشت|گشتزنی]]
<br />[[:en:Help:Proofread|نمونهخوانی]]
<br />{{gap}}[[:en:Help:Page scans|اسکن صفحهها]]
<br />{{gap}}[[راهنما:فهرست|صفحههای فهرست]]
<br />{{gap}}[[:en:Help:Page numbers|شماره صفحهها]]
<br />{{gap}}[[:en:Help:Page status|وضعیت صفحه]]
<br />{{gap}}[[:en:Help:Publisher Logos|لوگوی ناشران]]
<br />{{gap}}[[:en:Help:Formatting conventions|قراردادهای قالببندی]]
<br />{{gap}}[[:en:Wikisource:Style guide|شیوهنامه]]
<br />{{gap}}[[:en:Help:Transclusion|تراگنجانی]]
<br />{{gap}}[[:en:Help:ProofreadPage extension|افزونهٔ ProofreadPage]]
<br />{{gap}}[[:en:Help:Preparing for export|آمادهسازی برای برونبری]]
<br />[[:en:Help:Redirects|تغییرمسیرها]]
<br />[[:en:Help:Subpages|زیرصفحهها]]
<br />[[:en:Help:Facsimiles|نسخههای عکسی]]
|}
| style="width:50%; padding-left:1em; vertical-align:top;" | <!-- ستون راست -->
{|
| style="padding-right:1em" | [[پرونده:Evolution-tasks.svg|35px|link=]] || <h3>موضوعات خاص</h3>
|-
| ||
[[:en:Help:Disambiguation|ابهامزدایی]]
<br />[[:en:Help:Footnotes and endnotes|پانویسها و پینوشتها]]
<br />[[:en:Help:Fractions and functions|کسرها و توابع]]
<br />[[:en:Help:Labeled section transclusion|تراگنجانی بخش برچسبگذاریشده]]
<br />[[:en:Help:Logging in|ورود به سیستم]]
<br />[[:en:Help:Match and split|تطبیق و جداسازی]]
<br />[[:en:Help:Page breaks|شکست صفحه]]
<br />[[:en:Help:Sidenotes|یادداشتهای کناری]]
<br />[[:en:Help:Table|جدول]]
|-
| [[پرونده:Nuvola devices scanner.svg|35px|link=]] || <h3>اسکنها</h3>
|-
| ||
[[:en:Help:Digitising texts and images for Wikisource|دیجیتالیسازی متنها و تصویرها]]<!--پیوند غیر استاندارد-->
<br />[[:en:Help:DjVu files|پروندههای DjVu]]<br/>
[[:en:Help:Image extraction|استخراج تصویر]]
|-
| [[پرونده:Copyright.svg|35px|link=]] || <h3>[[ویکینبشته:حق تکثیر|حق تکثیر]]</h3>
|-
| ||
[[:en:Help:Copyright tags|برچسبهای حق تکثیر]]
<br />[[:en:Help:Public domain|مالکیت عمومی]]
<br />[[:en:Help:Copyright renewals|تمدید حق تکثیر]]
<br />[[:en:Help:Licensing compatibility|سازگاری مجوزها]]
<br />[[:en:Help:Official texts|متون رسمی]]
|-
| [[پرونده:Gnome-applications-multimedia.svg|35px|link=]] || <h3>آثار خاص</h3>
|-
| ||
[[:en:Help:Film|فیلم]]
<br />[[:en:Help:Poetry|شعر]]
<br />[[:en:Help:Manuscripts|نسخههای خطی]]
<br />[[:en:Help:Sheet music|نت موسیقی]]
<br />{{gap}}[[:en:Help:LilyPond|LilyPond]]
<br />{{gap}}[[:en:Help:List of musical symbols|فهرست نمادهای موسیقی]]
|-
| [[پرونده:Oxygen480-actions-media-playback-start.svg|35px|link=]] || <h3>[[:en:Help:Multimedia|چندرسانهای]]</h3>
|-
| ||
[[:en:Help:Audio|صوت]]
|-
| [[پرونده:Template icon.svg|35px|link=]] || <h3>[[:en:Help:Templates|الگوها]]</h3>
|-
| ||
[[:en:Help:Font size templates|الگوهای اندازهٔ قلم]]
<br />[[:en:Help:Maintenance tags|برچسبهای نگهداری]]
<br />[[:en:Help:Sister-project templates|الگوهای پروژههای خواهر]]
|-
| [[پرونده:Crystal128-application-x-executable.svg|35px|link=]] || <h3>ابزارکها</h3>
|-
| ||
[[:en:Help:Gadget-HotCat|ابزارک HotCat]]
<br />[[:en:Help:Header preloading script gadget|اسکریپت پیشبارگذاری سرصفحه]]
<br />[[:en:Help:URL2Commons|URL2Commons]]
|-
| [[پرونده:Crystal Clear app linneighborhood.svg|35px|link=]] || <h3>وبگاههای بیرونی</h3>
|-
| ||
[[:en:Help:Google Books|گوگل بوکز]]
<br />[[:en:Help:Internet Archive|اینترنت آرشیو]]
<br />[[:en:Help:LibriVox|لیبریووکس]]
|}
|}
<div class="center plainlinks" style="font-size:150%; margin:1em 0;">به کمک نیاز دارید؟ [{{fullurl:ویکینبشته:دفترخانه|action=edit§ion=new}} درخواست خود را مطرح کنید!]</div>
[[رده:راهنما| ]]
[[رده:صفحههای نمایهٔ ویکینبشته|راهنما]]
as2t59hqhewk67ifcxwolpi6hujfzo6
294393
294392
2026-08-01T15:52:11Z
Hanooz
17889
294393
wikitext
text/x-wiki
{{process header
| title = صفحههای راهنما
| section =
| previous = [[ویکینبشته:فهرست]]
| next =
| shortcut = [[ون:راهنما]]
| notes = ''همچنین ببینید: [[ویکینبشته:درونمایه ویکینبشته|آنچه ویکینبشته در بر میگیرد]]''
<inputbox>
type = search
namespaces = راهنما
placeholder = جستجو در صفحههای راهنما
searchbuttonlabel = برو
bgcolor = transparent
break = no
</inputbox>
}}
<!------------------------------------
اگر فهرست زیر را ویرایش کردید، لطفاً
بخش «صفحههای راهنما» در ورودی کاربران
را هم بهروزرسانی کنید
------------------------------------->
<div class="center" style="font-size:120%; margin:1em 0;">[[راهنما:آشنایی|آشنایی]]<span style="margin:0 1em;">•</span>[[ویکینبشته:برای اهالی ویکیپدیا|برای اهالی ویکیپدیا]]<span style="margin:0 1em;">•</span>[[ویکینبشته:دفتر مشق|دفتر مشق]]</div>__NOTOC__
{| style="margin:0 auto 0 auto; width:72%"
| style="width:50%; padding-right:1em; vertical-align:top;" | <!-- ستون چپ -->
{|
| style="padding-right:1em" | [[پرونده:Crystal128-personal.svg|35px|link=]] || <h3>[[راهنما:راهنمای کتابداران تازهوارد|راهنمای تازهکاران]]<!--پیوند غیر استاندارد--></h3>
|-
| ||
[[:en:Wikisource:Glossary|واژهنامه]]
'''خواندن'''
<br />[[راهنما:راهنمای تازهواردان درباره ناوبری|ناوبری]]
<br />[[راهنما:راهنمای تازهواردان درباره اعتبارسنجی|اعتبارسنجی]]
'''ویرایش'''
<br />[[راهنما:راهنمای تازهواردان درباره افزودن متن|افزودن متون]]
<br />[[راهنما:راهنمای تازهواردان درباره منابع|منابع]]
<br />[[:en:Help:Beginner's guide to copyright|حق نشر]]
<br />[[راهنما:راهنمای تازهواردان درباره فهرست پروندهها|صفحههای فهرست]]
<br />[[راهنما:راهنمای تازهواردان درباره نمونهخوانی|نمونهخوانی]]
<br />[[راهنما:راهنمای تایپوگرافی برای تازهکاران|تایپوگرافی]]
<br />[[راهنما:راهنمای تازهواردان درباره ارزیابی|همسنجی]]
<br />[[راهنما:راهنمای تازهواردان درباره تراگنجانی|تراگنجانی]]
<br />[[راهنما:راهنمای تازهواردان درباره ویرایش پایانی|پرداخت نهایی]]
'''نگهداری'''
<br />[[:en:Help:Beginner's guide to maintenance|نگهداری]]
<br />[[راهنما:راهنمای تازهواردان درباره حذف|حذف]]
|-
| [[پرونده:Maket icon.svg|35px|link=]] || <h3>[[:en:Help:Portals|درگاهها]]</h3>
|-
| ||
[[:en:Help:Portal classification|ردهبندی درگاه]]
<br />[[:en:Help:Portal review|بازبینی درگاه]]
|-
| [[پرونده:Anaglyph.svg|35px|link=]] || <h3>[[:en:Help:Reading|خواندن]]</h3>
|-
| ||
[[:en:Help:Fonts|قلمها]]
<br />[[:en:Help:Searching|جستجو]]
<br />[[:en:Help:Reading offline|خواندن برونخط]]
<br />{{gap}}[[:en:Help:OPDS|فهرست OPDS]]
<br />[[:en:Help:Books|کتابها]]
|-
| [[پرونده:UniversalEditButton2.svg|35px|link=]] || <h3>[[راهنما:ویرایش ویکینبشته|ویرایش]]</h3>
|-
| ||
''[[راهنما:ویرایش ویکینبشته|مقدمهای بر ویرایش ویکینبشته]]''
<br />[[راهنما:افزودن متن|افزودن متون]]
<br />[[راهنما:افزودن تصویر|افزودن تصاویر]]
<br />[[راهنما:صفحههای پدیدآورندگان|صفحههای پدیدآورندگان]]
<br />[[:en:Help:Categorization|ردهبندی]]
<br />[[:en:Help:Front matter|صفحات آغازین]]
<br />[[راهنما:پیوندهای میانزبانی|پیوندهای میانزبانی]]
<br />[[:en:Help:Layout|چیدمان]]
<br />[[:en:Help:Namespaces|فضاهای نام]]
<br />[[:en:Help:Patrolling|گشتزنی]]
<br />[[:en:Help:Proofread|نمونهخوانی]]
<br />{{gap}}[[:en:Help:Page scans|اسکن صفحهها]]
<br />{{gap}}[[راهنما:فهرست|صفحههای فهرست]]
<br />{{gap}}[[:en:Help:Page numbers|شماره صفحهها]]
<br />{{gap}}[[راهنما:وضعیت برگ|وضعیت برگه]]
<br />{{gap}}[[:en:Help:Publisher Logos|لوگوی ناشران]]
<br />{{gap}}[[:en:Help:Formatting conventions|قراردادهای قالببندی]]
<br />{{gap}}[[:en:Wikisource:Style guide|شیوهنامه]]
<br />{{gap}}[[:en:Help:Transclusion|تراگنجانش]]
<br />{{gap}}[[:en:Help:ProofreadPage extension|افزونهٔ ProofreadPage]]
<br />{{gap}}[[:en:Help:Preparing for export|آمادهسازی برای برونبری]]
<br />[[:en:Help:Redirects|تغییرمسیرها]]
<br />[[:en:Help:Subpages|زیرصفحهها]]
<br />[[:en:Help:Facsimiles|فاکسیمیلهها]]
|}
| style="width:50%; padding-left:1em; vertical-align:top;" | <!-- ستون راست -->
{|
| style="padding-right:1em" | [[پرونده:Evolution-tasks.svg|35px|link=]] || <h3>موضوعات خاص</h3>
|-
| ||
[[:en:Help:Disambiguation|ابهامزدایی]]
<br />[[:en:Help:Footnotes and endnotes|پانویسها و پینوشتها]]
<br />[[:en:Help:Fractions and functions|کسرها و توابع]]
<br />[[:en:Help:Labeled section transclusion|تراگنجانی بخش برچسبگذاریشده]]
<br />[[:en:Help:Logging in|ورود به سیستم]]
<br />[[:en:Help:Match and split|تطبیق و جداسازی]]
<br />[[راهنما:قطع صفحهها|شکست صفحه]]
<br />[[:en:Help:Sidenotes|یادداشتهای کناری]]
<br />[[راهنما:جدول|جدول]]
|-
| [[پرونده:Nuvola devices scanner.svg|35px|link=]] || <h3>اسکنها</h3>
|-
| ||
[[:en:Help:Digitising texts and images for Wikisource|دیجیتالیسازی متنها و تصویرها]]<!--پیوند غیر استاندارد-->
<br />[[:en:Help:DjVu files|پروندههای DjVu]]<br/>
[[:en:Help:Image extraction|استخراج تصویر]]
|-
| [[پرونده:Copyright.svg|35px|link=]] || <h3>[[Help:Copyright|حق نشر]]</h3>
|-
| ||
[[راهنما:برچسبهای حق تکثیر|برچسبهای حق نشر]]
<br />[[ویکینبشته:دورهٔ حمایت از حق تکثیر|مالکیت عمومی]]
<br />[[:en:Help:Copyright renewals|تمدید حق تکثیر]]
<br />[[:en:Help:Licensing compatibility|سازگاری مجوزها]]
<br />[[:en:Help:Official texts|متون رسمی]]
|-
| [[پرونده:Gnome-applications-multimedia.svg|35px|link=]] || <h3>آثار خاص</h3>
|-
| ||
[[:en:Help:Film|فیلم]]
<br />[[:en:Help:Poetry|شعر]]
<br />[[:en:Help:Manuscripts|نسخههای خطی]]
<br />[[:en:Help:Sheet music|نت موسیقی]]
<br />{{gap}}[[:en:Help:LilyPond|لیلیپاند]]
<br />{{gap}}[[:en:Help:List of musical symbols|فهرست نمادهای موسیقی]]
|-
| [[پرونده:Oxygen480-actions-media-playback-start.svg|35px|link=]] || <h3>[[:en:Help:Multimedia|چندرسانهای]]</h3>
|-
| ||
[[راهنما:آوا|آوا]]
|-
| [[پرونده:Template icon.svg|35px|link=]] || <h3>[[:en:Help:Templates|الگوها]]</h3>
|-
| ||
[[:en:Help:Font size templates|الگوهای اندازهٔ قلم]]
<br />[[:en:Help:Maintenance tags|برچسبهای نگهداری]]
<br />[[:en:Help:Sister-project templates|الگوهای پروژههای خواهر]]
|-
| [[پرونده:Crystal128-application-x-executable.svg|35px|link=]] || <h3>ابزارکها</h3>
|-
| ||
[[:en:Help:Gadget-HotCat|ابزارک HotCat]]
<br />[[:en:Help:Header preloading script gadget|اسکریپت پیشبارگذاری سرصفحه]]
<br />[[:en:Help:URL2Commons|URL2Commons]]
|-
| [[پرونده:Crystal Clear app linneighborhood.svg|35px|link=]] || <h3>وبگاههای بیرونی</h3>
|-
| ||
[[:en:Help:Google Books|گوگل بوکس]]
<br />[[:en:Help:Internet Archive|بایگانی اینترنت]]
<br />[[:en:Help:LibriVox|لیبریواکس]]
|}
|}
<div class="center plainlinks" style="font-size:150%; margin:1em 0;">کمک میخواهید؟ [{{fullurl:ویکینبشته:دفترخانه|action=edit§ion=new}} درخواست خود را مطرح کنید!]</div>
[[رده:راهنما]]
[[رده:صفحههای فهرست ویکینبشته|راهنما]]
ep6lafvkv8hckecb0iyqxj0cq27qzqm
294394
294393
2026-08-01T15:52:54Z
Hanooz
17889
پیوندهای قرمز مشخص باشد
294394
wikitext
text/x-wiki
{{process header
| title = صفحههای راهنما
| section =
| previous = [[ویکینبشته:فهرست]]
| next =
| shortcut = [[ون:راهنما]]
| notes = ''همچنین ببینید: [[ویکینبشته:درونمایه ویکینبشته|آنچه ویکینبشته در بر میگیرد]]''
<inputbox>
type = search
namespaces = راهنما
placeholder = جستجو در صفحههای راهنما
searchbuttonlabel = برو
bgcolor = transparent
break = no
</inputbox>
}}
<!------------------------------------
اگر فهرست زیر را ویرایش کردید، لطفاً
بخش «صفحههای راهنما» در ورودی کاربران
را هم بهروزرسانی کنید
------------------------------------->
<div class="center" style="font-size:120%; margin:1em 0;">[[راهنما:آشنایی|آشنایی]]<span style="margin:0 1em;">•</span>[[ویکینبشته:برای اهالی ویکیپدیا|برای اهالی ویکیپدیا]]<span style="margin:0 1em;">•</span>[[ویکینبشته:دفتر مشق|دفتر مشق]]</div>__NOTOC__
{| style="margin:0 auto 0 auto; width:72%"
| style="width:50%; padding-right:1em; vertical-align:top;" | <!-- ستون چپ -->
{|
| style="padding-right:1em" | [[پرونده:Crystal128-personal.svg|35px|link=]] || <h3>[[راهنما:راهنمای کتابداران تازهوارد|راهنمای تازهکاران]]<!--پیوند غیر استاندارد--></h3>
|-
| ||
[[Wikisource:Glossary|واژهنامه]]
'''خواندن'''
<br />[[راهنما:راهنمای تازهواردان درباره ناوبری|ناوبری]]
<br />[[راهنما:راهنمای تازهواردان درباره اعتبارسنجی|اعتبارسنجی]]
'''ویرایش'''
<br />[[راهنما:راهنمای تازهواردان درباره افزودن متن|افزودن متون]]
<br />[[راهنما:راهنمای تازهواردان درباره منابع|منابع]]
<br />[[Help:Beginner's guide to copyright|حق نشر]]
<br />[[راهنما:راهنمای تازهواردان درباره فهرست پروندهها|صفحههای فهرست]]
<br />[[راهنما:راهنمای تازهواردان درباره نمونهخوانی|نمونهخوانی]]
<br />[[راهنما:راهنمای تایپوگرافی برای تازهکاران|تایپوگرافی]]
<br />[[راهنما:راهنمای تازهواردان درباره ارزیابی|همسنجی]]
<br />[[راهنما:راهنمای تازهواردان درباره تراگنجانی|تراگنجانی]]
<br />[[راهنما:راهنمای تازهواردان درباره ویرایش پایانی|پرداخت نهایی]]
'''نگهداری'''
<br />[[Help:Beginner's guide to maintenance|نگهداری]]
<br />[[راهنما:راهنمای تازهواردان درباره حذف|حذف]]
|-
| [[پرونده:Maket icon.svg|35px|link=]] || <h3>[[Help:Portals|درگاهها]]</h3>
|-
| ||
[[Help:Portal classification|ردهبندی درگاه]]
<br />[[Help:Portal review|بازبینی درگاه]]
|-
| [[پرونده:Anaglyph.svg|35px|link=]] || <h3>[[Help:Reading|خواندن]]</h3>
|-
| ||
[[Help:Fonts|قلمها]]
<br />[[Help:Searching|جستجو]]
<br />[[Help:Reading offline|خواندن برونخط]]
<br />{{gap}}[[Help:OPDS|فهرست OPDS]]
<br />[[Help:Books|کتابها]]
|-
| [[پرونده:UniversalEditButton2.svg|35px|link=]] || <h3>[[راهنما:ویرایش ویکینبشته|ویرایش]]</h3>
|-
| ||
''[[راهنما:ویرایش ویکینبشته|مقدمهای بر ویرایش ویکینبشته]]''
<br />[[راهنما:افزودن متن|افزودن متون]]
<br />[[راهنما:افزودن تصویر|افزودن تصاویر]]
<br />[[راهنما:صفحههای پدیدآورندگان|صفحههای پدیدآورندگان]]
<br />[[Help:Categorization|ردهبندی]]
<br />[[Help:Front matter|صفحات آغازین]]
<br />[[راهنما:پیوندهای میانزبانی|پیوندهای میانزبانی]]
<br />[[Help:Layout|چیدمان]]
<br />[[Help:Namespaces|فضاهای نام]]
<br />[[Help:Patrolling|گشتزنی]]
<br />[[Help:Proofread|نمونهخوانی]]
<br />{{gap}}[[Help:Page scans|اسکن صفحهها]]
<br />{{gap}}[[راهنما:فهرست|صفحههای فهرست]]
<br />{{gap}}[[Help:Page numbers|شماره صفحهها]]
<br />{{gap}}[[راهنما:وضعیت برگ|وضعیت برگه]]
<br />{{gap}}[[Help:Publisher Logos|لوگوی ناشران]]
<br />{{gap}}[[Help:Formatting conventions|قراردادهای قالببندی]]
<br />{{gap}}[[Wikisource:Style guide|شیوهنامه]]
<br />{{gap}}[[Help:Transclusion|تراگنجانش]]
<br />{{gap}}[[Help:ProofreadPage extension|افزونهٔ ProofreadPage]]
<br />{{gap}}[[Help:Preparing for export|آمادهسازی برای برونبری]]
<br />[[Help:Redirects|تغییرمسیرها]]
<br />[[Help:Subpages|زیرصفحهها]]
<br />[[Help:Facsimiles|فاکسیمیلهها]]
|}
| style="width:50%; padding-left:1em; vertical-align:top;" | <!-- ستون راست -->
{|
| style="padding-right:1em" | [[پرونده:Evolution-tasks.svg|35px|link=]] || <h3>موضوعات خاص</h3>
|-
| ||
[[Help:Disambiguation|ابهامزدایی]]
<br />[[Help:Footnotes and endnotes|پانویسها و پینوشتها]]
<br />[[Help:Fractions and functions|کسرها و توابع]]
<br />[[Help:Labeled section transclusion|تراگنجانی بخش برچسبگذاریشده]]
<br />[[Help:Logging in|ورود به سیستم]]
<br />[[Help:Match and split|تطبیق و جداسازی]]
<br />[[راهنما:قطع صفحهها|شکست صفحه]]
<br />[[Help:Sidenotes|یادداشتهای کناری]]
<br />[[راهنما:جدول|جدول]]
|-
| [[پرونده:Nuvola devices scanner.svg|35px|link=]] || <h3>اسکنها</h3>
|-
| ||
[[Help:Digitising texts and images for Wikisource|دیجیتالیسازی متنها و تصویرها]]<!--پیوند غیر استاندارد-->
<br />[[Help:DjVu files|پروندههای DjVu]]<br/>
[[Help:Image extraction|استخراج تصویر]]
|-
| [[پرونده:Copyright.svg|35px|link=]] || <h3>[[Help:Copyright|حق نشر]]</h3>
|-
| ||
[[راهنما:برچسبهای حق تکثیر|برچسبهای حق نشر]]
<br />[[ویکینبشته:دورهٔ حمایت از حق تکثیر|مالکیت عمومی]]
<br />[[Help:Copyright renewals|تمدید حق تکثیر]]
<br />[[Help:Licensing compatibility|سازگاری مجوزها]]
<br />[[Help:Official texts|متون رسمی]]
|-
| [[پرونده:Gnome-applications-multimedia.svg|35px|link=]] || <h3>آثار خاص</h3>
|-
| ||
[[Help:Film|فیلم]]
<br />[[Help:Poetry|شعر]]
<br />[[Help:Manuscripts|نسخههای خطی]]
<br />[[Help:Sheet music|نت موسیقی]]
<br />{{gap}}[[Help:LilyPond|لیلیپاند]]
<br />{{gap}}[[Help:List of musical symbols|فهرست نمادهای موسیقی]]
|-
| [[پرونده:Oxygen480-actions-media-playback-start.svg|35px|link=]] || <h3>[[Help:Multimedia|چندرسانهای]]</h3>
|-
| ||
[[راهنما:آوا|آوا]]
|-
| [[پرونده:Template icon.svg|35px|link=]] || <h3>[[Help:Templates|الگوها]]</h3>
|-
| ||
[[Help:Font size templates|الگوهای اندازهٔ قلم]]
<br />[[Help:Maintenance tags|برچسبهای نگهداری]]
<br />[[Help:Sister-project templates|الگوهای پروژههای خواهر]]
|-
| [[پرونده:Crystal128-application-x-executable.svg|35px|link=]] || <h3>ابزارکها</h3>
|-
| ||
[[Help:Gadget-HotCat|ابزارک HotCat]]
<br />[[Help:Header preloading script gadget|اسکریپت پیشبارگذاری سرصفحه]]
<br />[[Help:URL2Commons|URL2Commons]]
|-
| [[پرونده:Crystal Clear app linneighborhood.svg|35px|link=]] || <h3>وبگاههای بیرونی</h3>
|-
| ||
[[Help:Google Books|گوگل بوکس]]
<br />[[Help:Internet Archive|بایگانی اینترنت]]
<br />[[Help:LibriVox|لیبریواکس]]
|}
|}
<div class="center plainlinks" style="font-size:150%; margin:1em 0;">کمک میخواهید؟ [{{fullurl:ویکینبشته:دفترخانه|action=edit§ion=new}} درخواست خود را مطرح کنید!]</div>
[[رده:راهنما]]
[[رده:صفحههای فهرست ویکینبشته|راهنما]]
g6ljlzvvdgwlud5jc4qtf63zfgclxtp
کاربر:Revi C.
2
30722
294409
261741
2026-08-01T23:59:14Z
Pathoschild
197
global user pages ([[m:Synchbot|requested by Revi C.]])
294409
wikitext
text/x-wiki
__NOINDEX__<div class="mw-content-ltr" lang="en" dir="ltr">{{#babel:ko|en-3|fa-0}} [[File:Revi wikimedia image.jpg|thumb|center|middle|If you are here to talk about CommonsDelinker removing a deleted image, please [[:c:User talk:Revi C.|go here]].]]
Hello! I am [[:m:User:Revi C.|revi]]. I edit to [[m:SWMT|revert vandals]], do Wikidata stuff<!--(I am a Wikidata Admin! <small>([{{fullurl:wikidata:Special:ListUsers/Revi C.|limit=1}} Verify])</small>)-->, or do [[:c:COM:FR|Commons Filemoving stuff]] (I am Commons Admin too! <small>([{{fullurl:c:Special:ListUsers/Revi C.|limit=1}} Verify])</small>). Come to [[:m:User:Revi C.|my Meta userpage]] or [[:c:User:Revi C.|my Commons userpage]] for more information. Thank you.</div>
cf6ch5t1noi26lcjqp1f6y3jirfj21h
بحث کاربر:Revi C.
3
30723
294408
261740
2026-08-01T23:18:38Z
Pathoschild
197
global user pages ([[m:Synchbot|requested by Revi C.]])
294408
wikitext
text/x-wiki
__NOINDEX__<div class="mw-content-ltr" lang="en" dir="ltr">[[File:Revi logo (pink).png|thumb|center|<span style="color:red">PLEASE DO NOT LEAVE MESSAGE HERE!</span>]]
''' <span style="color:red"> BEFORE YOU BLOCK MY ACCOUNT: IF MY EDIT SUMMARY INCLUDE PREFIX </span>''(Script)''<span style="color:red">, DON'T BLOCK ME, JUST TELL ME TO SLOW DOWN AT COMMONS' TALK PAGE. IT IS AN AUTOMATED SCRIPT BEING USED ON COMMONS TO MOVE FILES.</span>
Instead, please leave your message following site:
<br />
[[File:Wikidata-logo-en.svg|45px|link=d:User talk:Revi C.]] [[d:User talk:Revi C.]] for Wikidata (Interwiki links) stuff <!--(I am {{int:Group-sysop}} there)-->
<br />
[[File:Commons-logo.svg|45px|link=commons:User talk:Revi C.]] [[commons:User talk:Revi C.]] for renaming stuff or [[User:CommonsDelinker|CommonsDelinker]] action (I am {{int:Group-sysop}} there)
<br />
[[File:Wikimedia Community Logo optimized.svg|45px|link=m:User talk:Revi C.]] [[meta:User talk:Revi C.]] for other stuff (User right notification, revert message, etc...)
Messages left on this page may be reverted or moved without any response.</div>
esxe13mcstpjlux1bt2hqwxr2v8t8mn
کاربر:Hym411
2
31583
294410
261775
2026-08-02T00:36:53Z
Pathoschild
197
global user pages ([[m:Synchbot|requested by Hym411]])
294410
wikitext
text/x-wiki
#REDIRECT [[User:Revi C.]]
88g0cv17whfgb1wkeh281mptujwtlut
بحث کاربر:Hym411
3
31584
294411
261776
2026-08-02T01:06:14Z
Pathoschild
197
global user pages ([[m:Synchbot|requested by Hym411]])
294411
wikitext
text/x-wiki
#REDIRECT [[User talk:Revi C.]]
o9z79lcc9a9pfmqmrod5w3eyk4q9i0o
کاربر:خاچی
2
39410
294388
195703
2026-08-01T13:57:12Z
Ladsgroup
486
Ladsgroup صفحهٔ [[کاربر:Eiliad]] را به [[کاربر:خاچی]] که تغییرمسیر بود منتقل کرد: صفحه در ضمن تغییر نام کاربر «[[Special:CentralAuth/Eiliad|Eiliad]]» به «[[Special:CentralAuth/خاچی|خاچی]]» به طور خودکار منتقل شد
96374
wikitext
text/x-wiki
جلوه بخت تو دل میبرد از شاه و گدا
چشم بد دور که هم جانی و هم جانانی
ekz1efwr6rcff4enzkoav6up7hukc9z
پودمان:Ordinal
828
79604
294399
264965
2026-08-01T18:54:28Z
Hanooz
17889
294399
Scribunto
text/plain
--[[
This template will add the appropriate ordinal suffix to a given integer.
Please do not modify this code without applying the changes first at
Module:Ordinal/sandbox and testing.
]]
local p = {}
local yesno = require('پودمان:Yesno') -- boolean value interpretation
-- Convert Latin digits to Persian digits; idempotent on strings that are
-- already Persian-digit (or non-numeric), so it's safe to apply to any input
local function to_persian_digits(n)
local digit_map = {
['0'] = '۰', ['1'] = '۱', ['2'] = '۲', ['3'] = '۳', ['4'] = '۴',
['5'] = '۵', ['6'] = '۶', ['7'] = '۷', ['8'] = '۸', ['9'] = '۹'
}
return (tostring(n):gsub('%d', digit_map))
end
--[[
This function converts an integer value into a numeral followed by ordinal indicator.
The output string might contain HTML tags. Accepts Persian or Latin digits in
the input; the numeral in the output is always converted to Persian digits.
Persian ordinals don't have the irregular st/nd/rd/th suffix rules English
does - a numeral ordinal is always formed the same way regardless of which
digit it ends in, so (unlike the original English version of this module)
there's no case analysis on the trailing digit.
Usage:
{{#invoke:Ordinal|ordinal|1=|2=|sup=}}
{{#invoke:Ordinal|ordinal}} - uses the caller's parameters
Parameters
1: Any number or string.
2: Unused. Kept only so callers still passing a second positional
argument (from the old "d" vs "nd"/"rd" English-only distinction)
don't break; it has no effect on the Persian suffix.
sup: Set to yes/no to toggle superscript ordinal suffix.
]]
function p.ordinal(frame)
local args = frame.args
if args[1] == nil then
args = frame:getParent().args
end
if args[1] == nil then
args[1] = "{{{1}}}"
end
return p._ordinal(args[1], (args[2] == 'd'), yesno(args.sup))
end
function p._ordinal(n, d, sup)
local suffix = "ام"
if sup then
suffix = "<sup>" .. suffix .. "</sup>"
end
return to_persian_digits(n) .. suffix
end
return p
fhjf1olpuxtv8dapj8siyyp98q490t2
پودمان:Author
828
83529
294400
291500
2026-08-01T18:56:49Z
Hanooz
17889
294400
Scribunto
text/plain
require('strict')
local p = {}
-- Local variables
local getArgs = require('پودمان:Arguments').getArgs
local yesno = require('پودمان:Yesno')
local construct_header = require('پودمان:Header structure').construct_header
local dateModule = require('پودمان:Era')
local TableTools = require('پودمان:TableTools')
local categories = {} -- List of categories to add page to.
local function preprocess(args)
return mw.getCurrentFrame():preprocess(args)
end
local wd_properties = {
birth = 'P569',
death = 'P570',
workperiodstart = 'P2031',
workperiodend = 'P2032',
floruit = 'P1317',
familyname = 'P734',
gender = 'P21',
instanceof = 'P31',
medialegend = 'P2096',
image = 'P18',
flag_image = 'P41',
logo_image = 'P154',
nationalities = 'P27',
occupations = 'P106',
religions = 'P140',
movements = 'P135',
ideologies = 'P1142',
employer = 'P108',
positionheld = 'P39',
awardreceived = 'P166',
memberof = 'P463',
canonizationstatus = 'P411',
contributedto = 'P3919',
socialclassification = 'P3716',
instrument = 'P1303',
describedby = 'P1343',
mannerofdeath = 'P1196'
}
-- Persian words for the year_type values used throughout (birth/death/floruit/workperiod*).
-- year_type itself stays English internally; this is only used to build display/category text.
local year_type_names = {
birth = 'تولد',
death = 'درگذشت',
floruit = 'دوران فعالیت',
workperiodstart = 'آغاز دوران فعالیت',
workperiodend = 'پایان دوران فعالیت'
}
-- Persian collective nouns for the 'YYYY births' / 'YYYY deaths' categories
local birth_death_plural = {
birth = 'زادگان',
death = 'درگذشتگان'
}
-- Convert Latin digits to Persian digits; only used for final display/category text
local function to_persian_digits(n)
local digit_map = {
['0'] = '۰', ['1'] = '۱', ['2'] = '۲', ['3'] = '۳', ['4'] = '۴',
['5'] = '۵', ['6'] = '۶', ['7'] = '۷', ['8'] = '۸', ['9'] = '۹'
}
return (tostring(n):gsub('%d', digit_map))
end
-- Convert Persian digits to Latin digits, so editors who type years using Persian numerals are also supported
local function from_persian_digits(str)
if not str then
return str
end
local digit_map = {
['۰'] = '0', ['۱'] = '1', ['۲'] = '2', ['۳'] = '3', ['۴'] = '4',
['۵'] = '5', ['۶'] = '6', ['۷'] = '7', ['۸'] = '8', ['۹'] = '9'
}
local result = str
for persian, latin in pairs(digit_map) do
result = string.gsub(result, persian, latin)
end
return result
end
-- Abbreviated era/calendar marker used in the displayed dates (e.g. next to the author's name)
local calendar_display_abbrev = {
['میلادی'] = ' م.',
['خورشیدی'] = ' ه. ش',
['قمری'] = ' ه. ق'
}
-- Validate the |calendar= parameter. Returns (normalised_value, was_invalid).
-- Falls back to Solar Hijri (Khorshidi) if unset, blank, or unrecognised.
-- Wikidata-derived dates always force Gregorian regardless of this default,
-- since Wikidata only stores proleptic Gregorian dates.
local function normalize_calendar(calendar)
local valid_calendars = {
['میلادی'] = true,
['خورشیدی'] = true,
['قمری'] = true
}
if not calendar or mw.text.trim(calendar) == '' then
return 'خورشیدی', false
end
calendar = mw.text.trim(calendar)
if valid_calendars[calendar] then
return calendar, false
end
return 'خورشیدی', true
end
--------------------------------------------------------------------------------
-- Add a category to the current list of categories. Do not include the Category prefix.
local function addCategory(category)
table.insert(categories, category)
end
--------------------------------------------------------------------------------
-- Remove a category. Do not include the Category prefix.
local function removeCategory(category)
for catPos, cat in pairs(categories) do
if cat == category then
table.remove(categories, catPos)
end
end
end
--------------------------------------------------------------------------------
-- Get wikitext for all categories added using addCategory.
local function getCategories()
categories = TableTools.removeDuplicates(categories)
table.sort(categories)
local out = ''
for _, cat in pairs(categories) do
out = out .. '[[رده:' .. cat .. ']]'
end
return out
end
local function normalize_args(args)
-- aliases
local dup_cat = ''
local oldKeys = {}
local newArgs = {}
for k, v in pairs(args) do
local newkey = string.lower(string.gsub(string.gsub(tostring(k), '-', '_'), ' ', '_'))
if newkey ~= tostring(k) then
if args[newkey] then
addCategory('صفحههای دارای آرگومانهای تکراری در فراخوانی الگو')
end
newArgs[newkey] = newArgs[newkey] or v
table.insert(oldKeys, tostring(k))
end
end
for k, v in pairs(newArgs) do
args[k] = v
end
for k, v in pairs(oldKeys) do
args[v] = nil
end
args.wikidata = args.wikidata or args.wikidata_id
args.wikidata_id = nil
-- Fetch entity object for Wikidata item connected to the current page
-- Let manually-specified Wikidata ID override if given and valid
if args.wikidata and mw.wikibase.isValidEntityId(args.wikidata) then
args.wd_entity = mw.wikibase.getEntity(args.wikidata)
else
args.wd_entity = mw.wikibase.getEntity()
end
args.use_initials = yesno(args.use_initials) ~= false and args.last_initial ~= '!NO_INITIALS'
args.nocat = yesno(args.nocat) or false
args.calendar, args.invalid_calendar = normalize_calendar(args.calendar)
return args
end
--------------------------------------------------------------------------------
-- Get the actual parentheses-enclosed HTML string that shows the dates.
local function getFormattedDates(birthyear, deathyear, workPeriodYears)
if not birthyear and not deathyear and not workPeriodYears then
return nil
end
local dates = '<br />('
local birthNotFloruit = birthyear
and not birthyear:match("^فعال ")
local deathNotFloruit = deathyear
and not deathyear:match("^فعال ")
if (birthNotFloruit and birthyear ~= '؟') or (deathNotFloruit and deathyear ~= '؟') or not workPeriodYears then
removeCategory('پدیدآورندگان با تاریخ تقریبی پایان دوران فعالیت')
removeCategory('پدیدآورندگان با تاریخ تقریبی آغاز دوران فعالیت')
if birthyear then
if birthNotFloruit and deathyear and not deathNotFloruit then
dates = dates .. "ز. "
end
dates = dates .. birthyear
end
if (birthyear or deathyear) and birthyear ~= deathyear then
-- Add spaces if there are spaces in either of the dates.
local spaces = ''
if string.match((birthyear or '') .. (deathyear or ''), ' ') then
spaces = ' '
end
dates = dates .. spaces .. '–' .. spaces
end
if deathyear and birthyear ~= deathyear then
if deathNotFloruit and birthyear and not birthNotFloruit then
dates = dates .. "د. "
end
dates = dates .. deathyear
end
else
dates = dates .. workPeriodYears
addCategory('پدیدآورندگان با تاریخ دوران فعالیت')
end
if birthyear or deathyear or workPeriodYears then
dates = dates .. ')'
end
return dates
end
--------------------------------------------------------------------------------
-- Take a statement of a given property and make a human-readable year string
-- out of it, adding the relevant categories as we go.
-- This is the Wikidata path, so the result is always Gregorian.
-- @param table statement The statement.
-- @param string type One of 'birth' or 'death'.
local function getYearStringFromSingleStatement(statement, year_type)
local snak = statement.mainsnak
-- We're not using mw.wikibase.formatValue because we only want years.
-- No value. This is invalid for birth dates (should be 'somevalue'
-- instead), and indicates 'still alive' for death dates.
if snak.snaktype == 'novalue' and year_type == 'birth' then
addCategory('پدیدآورندگان با تاریخ تولد ناموجود')
return nil
end
if snak.snaktype == 'novalue' and year_type == 'death' then
addCategory('پدیدآورندگان زنده')
return nil
end
-- Unknown value.
if snak.snaktype == 'somevalue' then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' نامشخص')
return '؟'
end
-- Extract year from the time value.
local _, _, extractedYear = string.find(snak.datavalue.value.time, '([%+%-]%d%d%d+)%-')
local year = math.abs(tonumber(extractedYear))
local bce = tonumber(extractedYear) < 0
addCategory('پدیدآورندگان ' .. dateModule.era(extractedYear, 'میلادی'))
-- Century & millennium precision.
if snak.datavalue.value.precision == 6 or snak.datavalue.value.precision == 7 then
local ceilfactor = 100
local precisionName = 'سده'
if snak.datavalue.value.precision == 6 then
ceilfactor = 1000
precisionName = 'هزاره'
end
local cent = math.max(math.ceil(year/ceilfactor), 1)
year = precisionName .. ' ' .. to_persian_digits(cent)
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' تقریبی')
elseif snak.datavalue.value.precision == 8 then -- decade precision
year = 'دهه ' .. to_persian_digits(math.floor(tonumber(year)/10) * 10)
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' تقریبی')
else
year = to_persian_digits(year)
end
-- Remove from 'Living authors' if that's not possible.
if tonumber(extractedYear) < tonumber(os.date('%Y') - 110) then
removeCategory('پدیدآورندگان زنده')
end
-- Add to e.g. 'YYYY births' category (before we add 'circa' or 'floruit' prefixes).
-- Uses the bare (un-suffixed) year plus its own category-style era marker,
-- since Wikidata dates are always Gregorian.
if year_type == 'birth' or year_type == 'death' then
addCategory((birth_death_plural[year_type] or year_type) .. ' ' .. year .. (bce and ' پیش از میلاد' or ' (میلادی)'))
end
-- Append the display-style era marker (abbreviation) now that categorisation is done.
year = year .. (bce and ' پیش از میلاد' or calendar_display_abbrev['میلادی'])
-- Extract circa (P1480 = sourcing circumstances, Q5727902 = circa)
if statement.qualifiers and statement.qualifiers.P1480 then
for _,qualifier in pairs(statement.qualifiers.P1480) do
if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' تقریبی')
year = 'حدود ' .. year
end
end
end
-- Add floruit abbreviation.
if year_type == 'floruit' then
year = 'فعال ' .. year
end
return year
end
--------------------------------------------------------------------------------
-- Get a given or family name property.
-- This concatenates (with spaces) all statements of the given property in order of the series ordinal (P1545) qualifier.
-- @TODO fix this.
local function getNameFromWikidata(item, property)
local statements = item:getBestStatements(property)
local out = {}
if statements[1] and statements[1].mainsnak.datavalue then
local itemId = statements[1].mainsnak.datavalue.value.id
table.insert(out, mw.wikibase.label(itemId) or '')
end
return table.concat(out, ' ')
end
--------------------------------------------------------------------------------
local function getPropertyValue(item, property)
local statements = item:getBestStatements(property)
if statements[1] and statements[1].mainsnak.datavalue then
return statements[1].mainsnak.datavalue.value
end
end
--------------------------------------------------------------------------------
-- The 'Wikisource' format for a birth or death year is as follows:
-- "?" or empty for unknown (or still alive)
-- Use BCE for years before year 1
-- Approximate dates:
-- Decades or centuries: "1930s" or "20th century"
-- Circa: "c/1930" or "c. 1930" or "ca 1930" or "circa 1930"
-- Tenuous year: "1932/?"
-- Choice of two or more years: "1932/1933"
-- This is a slightly overly-complicated function, but one day will be able to be deleted.
-- Accepts Persian or Latin digits in the input; always returns Persian digits,
-- suffixed with the abbreviated calendar marker (calendar_display_abbrev).
-- @param string type Either 'birth' or 'death'
-- @param string calendar One of 'Miladi' / 'Khorshidi' / 'Qamari'
-- @return string The year to display
local function formatWikisourceYear(year, year_type, calendar)
if not year then
return nil
end
year = from_persian_digits(year)
local calendar_suffix = calendar_display_abbrev[calendar] or ''
local calendar_cat_suffix = ' (' .. calendar .. ')'
local yearParts = mw.text.split(year, '/', true)
-- Ends in a question mark.
if yearParts[2] == '?' then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' نامشخص')
if tonumber(yearParts[1]) then
addCategory('پدیدآورندگان ' .. dateModule.era(yearParts[1], calendar))
addCategory((birth_death_plural[year_type] or year_type) .. ' ' .. to_persian_digits(yearParts[1]) .. calendar_cat_suffix)
else
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' غیرعددی')
end
return to_persian_digits(yearParts[1]) .. '؟'
end
-- Starts with one of the 'circa' abbreviations
local circaNames = {'ca.', 'c.', 'ca', 'c', 'circa', 'حدود'}
for _, circaName in pairs(circaNames) do
local yearNumber
local isCirca = false
if yearParts[1] == circaName then
yearNumber = mw.text.trim(yearParts[2])
isCirca = true
elseif string.match(yearParts[1], '^' .. circaName) then
yearNumber = string.gsub(yearParts[1], '^' .. circaName, '')
isCirca = (tonumber(yearNumber) ~= nil)
end
if isCirca then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' تقریبی')
if tonumber(yearNumber) then
yearNumber = tonumber(yearNumber)
addCategory('پدیدآورندگان ' .. dateModule.era(tostring(yearNumber), calendar))
addCategory((birth_death_plural[year_type] or year_type) .. ' ' .. to_persian_digits(yearNumber) .. calendar_cat_suffix)
else
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' غیرعددی')
end
return 'حدود ' .. to_persian_digits(yearNumber) .. calendar_suffix
end
end
-- If there is more than one year part, and they're all numbers, add categories.
local allPartsAreNumeric = true
if #yearParts > 1 then
for _, yearPart in pairs(yearParts) do
if tonumber(yearPart) then
addCategory((birth_death_plural[year_type] or year_type) .. ' ' .. to_persian_digits(yearPart) .. calendar_cat_suffix)
addCategory('پدیدآورندگان ' .. dateModule.era(yearPart, calendar))
else
allPartsAreNumeric = false
end
end
if allPartsAreNumeric then
addCategory('پدیدآورندگان با تاریخ تقریبی تولد')
end
elseif #yearParts == 1 and not tonumber(year) then
allPartsAreNumeric = false
end
-- Otherwise, just use whatever's been given
if not allPartsAreNumeric then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' غیرعددی')
end
if #yearParts == 1 or allPartsAreNumeric == false then
addCategory((birth_death_plural[year_type] or year_type) .. ' ' .. to_persian_digits(year) .. (tonumber(year) and calendar_cat_suffix or ''))
end
if tonumber(year) then
return to_persian_digits(year) .. calendar_suffix
end
-- Non-numeric input (e.g. a literal 'century'/'decade' style phrase typed by
-- an editor) is passed through with best-effort digit conversion only; unlike
-- [[Module:Header/year]], this function does not parse such phrases into a
-- structured century/decade value.
return to_persian_digits(year)
end
--[=[
Get a formatted year of the given property and add to the relevant categories
]=]
local function formatWikidataYear(item, year_type)
-- Check sanity of inputs
if not item or not year_type or not wd_properties[year_type] then
return nil
end
local property = wd_properties[year_type]
-- Get this property's statements.
local statements = item:getBestStatements(property)
if #statements == 0 then
-- If there are no statements of this type, add to 'missing' category.
if year_type == 'birth' or year_type == 'death' then
addCategory('پدیدآورندگان با تاریخ ' .. (year_type_names[year_type] or year_type) .. ' ناموجود')
end
local isHuman = item:formatPropertyValues(wd_properties['instanceof']).value == 'human'
if year_type == 'death' and isHuman then
-- If no statements about death, assume to be alive.
addCategory('پدیدآورندگان زنده')
end
end
-- Compile a list of years, one from each statement.
local years = {}
for _, statement in pairs(statements) do
local year = getYearStringFromSingleStatement(statement, year_type)
if year then
table.insert(years, year)
end
end
years = TableTools.removeDuplicates(years)
-- If no year found yet, try for a floruit date. Make an exception for workperiod
if (#years == 0 or table.concat(years, '/') == '؟') and year_type ~= "workperiodstart" and year_type ~= "workperiodend" then
local floruitStatements = item:getBestStatements(wd_properties["floruit"])
for _, statement in pairs(floruitStatements) do
-- If all we've got so far is 'unknown', replace it.
if table.concat(years, '/') == '؟' then
years = {}
end
addCategory('پدیدآورندگان با تاریخ دوران فعالیت')
local year = getYearStringFromSingleStatement(statement, 'floruit')
if year then
table.insert(years, year)
end
end
end
years = TableTools.removeDuplicates(years)
if #years == 0 then
return nil
end
return table.concat(years, '/')
end
--------------------------------------------------------------------------------
-- Get a single formatted date, with no categories.
-- args.year, args.year_type, args.wd_entity, args.calendar
local function date(args)
if args.year then
return formatWikisourceYear(args.year, args.year_type, args.calendar or 'خورشیدی')
else
return formatWikidataYear(args.wd_entity, args.year_type)
end
end
--------------------------------------------------------------------------------
-- Get a formatted string of the years that this author lived,
-- and categorise in the appropriate categories.
-- The returned string starts with a line break (<br />).
local function dates(args)
local outHtml = mw.html.create()
if args.invalid_calendar then
addCategory('صفحههای دارای پارامتر calendar نامعتبر')
end
--------------------------------------------------------------------------------
-- Check a given title as having the appropriate dates as a disambiguating suffix.
local function checkTitleDatesAgainstWikidata(title, wikidata)
-- All disambiguated author pages have parentheses in their titles.
local titleHasParentheses = string.find(tostring(title), '%d%)')
if not titleHasParentheses then
return
end
-- The title should end with years in the same format as is used in the page header
-- but with a normal hyphen instead of an en-dash.
local dates = '(' .. (date({year_type = 'birth', wd_entity = args.wd_entity}) or '') .. '-' .. (date({year_type = 'death', wd_entity = args.wd_entity}) or '') .. ')'
if string.sub(tostring(title), -string.len(dates)) ~= dates then
addCategory('پدیدآورندگان با ناهمخوانی تاریخ در عنوان')
end
end
-- Check disambiguated page titles for accuracy.
checkTitleDatesAgainstWikidata(args.pagetitle or mw.title.getCurrentTitle(), args.wikidata)
-- Get the dates (do death first, so birth can override categories if required):
-- Death
local deathyear
local wikidataDeathyear = formatWikidataYear(args.wd_entity, 'death')
local wikisourceDeathyear = formatWikisourceYear(args.deathyear, 'death', args.calendar)
if args.deathyear then
-- For Wikisource-supplied death dates.
deathyear = wikisourceDeathyear
addCategory('پدیدآورندگان با تاریخ درگذشت جایگزین')
if args.wd_entity and wikisourceDeathyear ~= wikidataDeathyear then
addCategory('پدیدآورندگان با تاریخ درگذشت متفاوت با ویکیداده')
end
else
deathyear = wikidataDeathyear
end
if not deathyear then
addCategory('پدیدآورندگان با تاریخ درگذشت ناموجود')
end
-- Birth
local birthyear
local wikidataBirthyear = formatWikidataYear(args.wd_entity, 'birth')
local wikisourceBirthyear = formatWikisourceYear(args.birthyear, 'birth', args.calendar)
if args.birthyear then
-- For Wikisource-supplied birth dates.
birthyear = wikisourceBirthyear
addCategory('پدیدآورندگان با تاریخ تولد جایگزین')
if args.wd_entity and wikisourceBirthyear ~= wikidataBirthyear then
addCategory('پدیدآورندگان با تاریخ تولد متفاوت با ویکیداده')
end
else
birthyear = wikidataBirthyear
end
if not birthyear then
addCategory('پدیدآورندگان با تاریخ تولد ناموجود')
end
-- Work period
local startYear = formatWikidataYear(args.wd_entity, "workperiodstart")
local endYear = formatWikidataYear(args.wd_entity, "workperiodend")
local workPeriodYears
if startYear or endYear then
if not startYear then
startYear = '؟'
end
if not endYear then
endYear = '؟'
end
workPeriodYears = "فعال " .. startYear .. "–" .. endYear
else
workPeriodYears = nil
end
-- Put all the output together, including manual override of the dates.
local dates = ''
if args.dates then
-- The parentheses are repeated here and in getFormattedDates()
addCategory('پدیدآورندگان با تاریخهای جایگزین')
dates = '<br />(' .. args.dates .. ')'
else
dates = getFormattedDates(birthyear, deathyear, workPeriodYears)
end
if dates then
outHtml:wikitext(dates)
return tostring(outHtml)
end
return nil
end
--[=[
Match claims to configured categories.
Utility function for constructCategories.
Modifies the provided table to add categories configured in /data.
]=]
local function addCategoriesFromClaims(entity, pId, knownCategories)
-- Abort if the provided category mappings are missing or undefined
if not knownCategories then
error('نگاشتهای رده تعریف نشدهاند. [[پودمان:Author/data]] را بررسی کنید.')
end
-- Get statements for the property provided (ignore deprecated statements)
local statements = entity:getBestStatements(pId)
-- Get the category for each statement's value if a mapping exists
for _, v in pairs(statements) do
-- Sometimes the property exists on the item but has no value,
-- or it has an unknown value,
-- so in the output from mw.wikibase.getEntity()
-- .mainsnak's .datavalue will be nil.
if v.mainsnak.snaktype == 'value' then
local valueId = v.mainsnak.datavalue.value.id
-- Add the category if we have a mapping for this statement
local knownCat = knownCategories[valueId]
if knownCat then
addCategory(knownCat)
end
end
end
end
--[=[
Get categories for nationality, occupations, etc.
Returns categories as a string of wikicode
]=]
local function constructCategories(entity)
if not entity then
return nil
end
-- Load the property to category mappings
local DATA = mw.loadData('پودمان:Author/data')
-- Add categories from properties for which we have a configured mapping
addCategoriesFromClaims(entity, wd_properties['nationalities'], DATA.categories.nationalities)
addCategoriesFromClaims(entity, wd_properties['occupations'], DATA.categories.occupations)
addCategoriesFromClaims(entity, wd_properties['religions'], DATA.categories.religions)
addCategoriesFromClaims(entity, wd_properties['movements'], DATA.categories.movements)
addCategoriesFromClaims(entity, wd_properties['ideologies'], DATA.categories.ideologies)
addCategoriesFromClaims(entity, wd_properties['employer'], DATA.categories.employer)
addCategoriesFromClaims(entity, wd_properties['positionheld'], DATA.categories.positionheld)
addCategoriesFromClaims(entity, wd_properties['awardreceived'], DATA.categories.awardreceived)
addCategoriesFromClaims(entity, wd_properties['memberof'], DATA.categories.memberof)
addCategoriesFromClaims(entity, wd_properties['canonizationstatus'], DATA.categories.canonizationstatus)
addCategoriesFromClaims(entity, wd_properties['contributedto'], DATA.categories.contributedto)
addCategoriesFromClaims(entity, wd_properties['socialclassification'], DATA.categories.socialclassification)
addCategoriesFromClaims(entity, wd_properties['instrument'], DATA.categories.instrument)
addCategoriesFromClaims(entity, wd_properties['describedby'], DATA.categories.describedby)
addCategoriesFromClaims(entity, wd_properties['mannerofdeath'], DATA.categories.mannerofdeath)
end
--------------------------------------------------------------------------------
-- Output link and category for initial letters of family name.
--
local function lastInitial(args)
-- Handle special override
if not args.use_initials then
return nil
end
-- Allow manual override of initials.
local initials = args.last_initial
-- If a lastname is provided, get the initials from that.
if not initials and args.lastname then
initials = mw.ustring.sub(args.lastname, 1, 2)
end
-- Fetch from Wikidata.
if not initials then
local item = args.wd_entity
if item then
-- Get the first family name statement.
local familyNames = item:getBestStatements(wd_properties['familyname'])
if #familyNames > 0 then
local familyNameId = familyNames[1].mainsnak.datavalue.value.id
local familyName = mw.wikibase.getEntity(familyNameId)
if familyName.labels and familyName.labels.en then
-- Take the first two characters of the English label
-- (this avoids issues with 'native label P1705' and is fine for English Wikisource).
initials = mw.ustring.sub(familyName.labels.en.value, 1, 2)
end
end
end
end
-- Put it all together and output
local out
if initials then
out = '[[ویکینبشته:پدیدآورندگان-' .. initials .. '|نمایهٔ پدیدآورندگان: ' .. initials .. ']]'
local authorCategory = mw.title.new('پدیدآورندگان-' .. initials, 'رده')
addCategory(authorCategory.text)
if authorCategory.exists ~= true then
addCategory('صفحههای پدیدآورنده با ردهٔ حروف اول ناموجود')
end
else
addCategory('پدیدآورندگان بدون حروف اول')
out = '[[:رده:پدیدآورندگان بدون حروف اول|پدیدآورندگان بدون حروف اول]]'
end
return out
end
--------------------------------------------------------------------------------
-- Header assembly
local function ucfirst(s)
return string.sub(s, 1, 1) .. string.sub(s, 2)
end
local function gender_from_wd(wd_entity)
if not wd_entity then
return nil
end
local statements = wd_entity:getBestStatements(wd_properties['gender'])
if #statements == 0 then
return nil
end
local genders = {}
for _, statement in pairs(statements) do
local snak = statement.mainsnak
if snak.snaktype ~= 'value'
or not snak
or snak.datatype ~= 'wikibase-item'
or not snak.datavalue
or not snak.datavalue.value
or not snak.datavalue.value.id then
break
end
local gender_item = mw.wikibase.getEntity(snak.datavalue.value.id)
if not gender_item or not gender_item.labels or not gender_item.labels.en or not gender_item.labels.en.value then
break
end
table.insert(genders, gender_item.labels.en.value)
end
return genders[1]
end
local function image_from_wd(wd_entity, prefer_logo)
if not wd_entity then
return {}
end
local ordered_properties = {wd_properties['image'], wd_properties['flag_image'], wd_properties['logo_image']}
if prefer_logo then
ordered_properties = {wd_properties['flag_image'], wd_properties['logo_image'], wd_properties['image']}
end
local statements = {}
for i, prop in ipairs(ordered_properties) do
if #statements == 0 then
statements = wd_entity:getBestStatements(prop)
end
end
if #statements == 0 then
return {}
end
local images = {}
--[=[
local langcode = mw.getCurrentFrame():callParserFunction('int', {'lang'})
langcode = (mw.language.isKnownLanguageTag(langcode) and langcode) or mw.language.getContentLanguage().code
local base_langcode = mw.text.split(langcode, '-', true)[1]
local langcode_fallbacks_ordered = {base_langcode}
for i, lang in ipairs(mw.language.getFallbacksFor(base_langcode)) do
table.insert(langcode_fallbacks_ordered, lang)
end
if base_langcode ~= langcode then
table.insert(langcode_fallbacks_ordered, 2, langcode)
for i, lang in ipairs(mw.language.getFallbacksFor(langcode)) do
table.insert(langcode_fallbacks_ordered, lang)
end
end
local langcode_fallbacks = {}
for i, v in ipairs(langcode_fallbacks_ordered) do
langcode_fallbacks[v] = i
end
]=]
local langcode_fallbacks = {[mw.language.getContentLanguage().code] = 1}
for _, statement in pairs(statements) do
local image = statement.mainsnak.datatype == 'commonsMedia' and statement.mainsnak.datavalue and statement.mainsnak.datavalue.value
local captions = {}
local legends = statement['qualifiers'] and statement['qualifiers'][wd_properties['medialegend']]
if legends then
for i, legend in ipairs(legends) do
if legend.datatype == 'monolingualtext' and legend.datavalue and legend.datavalue.value and legend.datavalue.value.text and legend.datavalue.value.language then
local legend_langcode = legend.datavalue.value.language
local legend_base_langcode = mw.text.split(legend_langcode, '-', true)[1]
local legend_text = legend.datavalue.value.text
if langcode_fallbacks[legend_langcode] then
captions[langcode_fallbacks[legend_langcode]] = legend_text
elseif langcode_fallbacks[legend_base_langcode] then
captions[langcode_fallbacks[legend_base_langcode]] = captions[langcode_fallbacks[legend_base_langcode]] or legend_text
end
end
end
captions = TableTools.compressSparseArray(captions)
end
if image then
table.insert(images, {image = image, image_caption = captions[1]})
end
end
return images[1] or {}
end
function p.image_from_wd(wd_entity, prefer_logo)
return image_from_wd(wd_entity, prefer_logo)
end
local function get_image(args)
local image = args.image
local wd_image_info = image_from_wd(args.wd_entity, args.prefer_logo)
local template_ns = args.template_ns or 'پدیدآورنده'
if image then
addCategory('صفحههای ' .. template_ns .. ' دارای تصویر')
else
image = wd_image_info.image
if image then
addCategory('صفحههای ' .. template_ns .. ' دارای تصویر از ویکیداده')
else
addCategory('صفحههای ' .. template_ns .. ' بدون تصویر')
end
end
local image_display = ''
if image then
local upright = (yesno(args.upright) and '|upright=0.6') or ''
args.image_caption = args.image_caption or wd_image_info.image_caption or args.name_text
local caption_div = (args.image_caption and tostring(mw.html.create('div'):css({['text-align'] = 'center'}):wikitext(args.image_caption))) or ''
image_display = '[[File:' .. image .. '|thumb' .. upright .. '|' .. caption_div .. '|alt=' .. (args.image_alt or '') .. ']]'
end
return image_display
end
local function construct_defaultsort(args)
local defaultsort = args.defaultsort
if not defaultsort then
if args.firstname and args.lastname then
defaultsort = ucfirst(args.lastname .. ', ' .. args.firstname)
elseif args.firstname or args.lastname then
defaultsort = ucfirst((args.lastname or '') .. (args.firstname or ''))
end
end
if defaultsort then
return mw.getCurrentFrame():callParserFunction('DEFAULTSORT', {defaultsort})
end
return ''
end
local function author(args)
args = normalize_args(args)
-- Always tell Header structure that we're {{author}}
-- TODO: Is there a use case for letting our clients set this?
args.template = 'author'
local current_title = mw.title.getCurrentTitle()
local firstname = args.firstname
local lastname = args.lastname
local last_initial = args.last_initial
if firstname then
firstname = preprocess(firstname)
end
if lastname then
lastname = preprocess(lastname)
end
if last_initial then
last_initial = preprocess(last_initial)
end
args.header_class = 'wst-author ws-header'
-- main block
args.main_class = 'authortemplate'
args.previous = lastInitial(args)
if firstname and lastname then
if yesno(args.invert_names) then
args.name_text = lastname .. ' ' .. firstname
else
args.name_text = firstname .. ' ' .. lastname
end
else
args.name_text = firstname or lastname
end
local name_text_span = ''
if args.name_text then
name_text_span = tostring(mw.html.create('span'):css({['font-weight'] = 'bold'}):wikitext(args.name_text))
end
local dates_text = ''
if not yesno(args.disambiguation) then
dates_text = dates(args) or ''
end
args.main_title = name_text_span .. dates_text
-- notes block
args.notes_class = 'author_notes'
args.commonscat = args.commonscat or (
args.wd_entity
and args.wd_entity.claims
and args.wd_entity.claims.P373
and args.wd_entity.claims.P373[1]
and args.wd_entity.claims.P373[1].mainsnak
and args.wd_entity.claims.P373[1].mainsnak.datatype == 'string'
and args.wd_entity.claims.P373[1].mainsnak.datavalue
and args.wd_entity.claims.P373[1].mainsnak.datavalue.value
)
args.notes = args.description
-- image
local image_display = get_image(args)
-- defaultsort
args.defaultsort = args.defaultsort or args.sortkey
local defaultsort_magicword = construct_defaultsort(args)
-- categories
if not args.categories then
-- Author index category
if last_initial then
addCategory('پدیدآورندگان-' .. last_initial)
elseif not last_initial then
addCategory('پدیدآورندگان بدون حروف اول')
end
-- Categorisation of author pages by gender, based on Wikidata sex or gender Property (P21)
-- The main are: male (Q6581097), female (Q6581072), transgender female (Q1052281), transgender male (Q2449503)
if args.wd_entity then
local gender = gender_from_wd(args.wd_entity)
if gender == 'transgender female' or gender == 'female' then
addCategory('پدیدآورندگان زن')
addCategory('صفحههای پدیدآورنده دارای جنسیت در ویکیداده')
elseif gender == 'transgender male' or gender == 'male' then
addCategory('پدیدآورندگان مرد')
addCategory('صفحههای پدیدآورنده دارای جنسیت در ویکیداده')
elseif gender then
addCategory('صفحههای پدیدآورنده دارای جنسیت نامشخص در ویکیداده')
else
addCategory('صفحههای پدیدآورنده بدون جنسیت در ویکیداده')
end
if gender == 'transgender female' or gender == 'transgender male' then
addCategory('پدیدآورندگان تراجنسیتی')
end
else
addCategory('صفحههای پدیدآورنده با ردهبندی دستی جنسیت')
end
constructCategories(args.wd_entity)
-- Categorisation of author pages with interwiki links (used for maintenance view only, links come from WD)
if args.wikipedia then
addCategory('صفحههای پدیدآورنده با پیوند به ویکیپدیا')
end
if args.wikiquote then
addCategory('صفحههای پدیدآورنده با پیوند به ویکیگفتاورد')
end
if args.commons then
addCategory('صفحههای پدیدآورنده با پیوند به ویکیانبار')
end
if args.commonscat then
addCategory('صفحههای پدیدآورنده با پیوند به ردههای ویکیانبار')
end
-- Whether page is connected to Wikidata
if (args.namespace or current_title.nsText) == 'پدیدآورنده' then
if args.wd_entity then
addCategory('صفحههای پدیدآورنده متصل به ویکیداده')
else
addCategory('صفحههای پدیدآورنده متصلنشده به ویکیداده')
end
end
end
-- microformat
local microformat = mw.html.create('div')
:attr('id', 'ws-data')
:addClass('vcard ws-noexport')
:css({['display'] = 'none', ['speak'] = 'none'})
local microformat_wikitext = {
tostring(mw.html.create('span'):attr('id', 'ws-article-id'):wikitext(current_title.id))
}
if args.wd_entity then
table.insert(
microformat_wikitext,
tostring(mw.html.create('span')
:attr('id', 'wd-article-id')
:wikitext(args.wd_entity.id)
)
)
end
if args.name_text then
table.insert(
microformat_wikitext,
tostring(mw.html.create('span')
:attr('id', 'ws-name')
:addClass('fn')
:wikitext(args.name_text)
)
)
table.insert(
microformat_wikitext,
tostring(mw.html.create('span')
:addClass('n')
:wikitext(table.concat({
tostring(mw.html.create('span'):addClass('given-name'):wikitext(firstname or '')),
tostring(mw.html.create('span'):addClass('family-name'):wikitext(lastname or ''))
}))
)
)
end
if args.defaultsort then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-key'):wikitext(args.defaultsort)))
end
if args.image then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-image'):wikitext(args.image)))
end
if args.birthyear then
table.insert(
microformat_wikitext,
tostring(mw.html.create('span')
:attr('id', 'ws-birthdate')
:addClass('bday')
:wikitext(date({['year_type'] = 'birth', ['year'] = args.birthyear, ['calendar'] = args.calendar}))
)
)
end
if args.deathyear then
table.insert(
microformat_wikitext,
tostring(mw.html.create('span')
:attr('id', 'ws-deathdate')
:addClass('dday')
:wikitext(date({['year_type'] = 'death', ['year'] = args.deathyear, ['calendar'] = args.calendar}))
)
)
end
if args.wikipedia then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-wikipedia'):wikitext(args.wikipedia)))
end
if args.wikiquote then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-wikiquote'):wikitext(args.wikiquote)))
end
if args.commonscat then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-commons'):wikitext(args.commonscat)))
elseif args.commons then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-commons'):wikitext('Category' .. args.commons)))
end
if args.description then
table.insert(microformat_wikitext, tostring(mw.html.create('span'):attr('id', 'ws-description'):addClass('note'):wikitext(args.description)))
end
microformat:wikitext(table.concat(microformat_wikitext))
-- assemble
local cats = ''
if not args.nocat then
cats = (args.categories or '') .. getCategories()
end
args.post_notes = image_display .. defaultsort_magicword .. cats .. tostring(microformat)
args.wikidataswitch = true
return mw.getCurrentFrame():extensionTag('templatestyles', '', {src = 'الگو:پدیدآورنده/styles.css'}) .. construct_header(args)
end
-- for testing
function p._getCategories(args)
args = normalize_args(args)
p._author(args)
return getCategories()
end
function p.getCategories(frame)
return p._getCategories(getArgs(frame))
end
function p._date(args)
args = normalize_args(args)
args.year_type = args.year_type or args['type'] or 'birth'
return date(args)
end
function p.date(frame)
return p._date(getArgs(frame))
end
function p._lastInitial(args)
args = normalize_args(args)
return lastInitial(args)
end
function p.lastInitial(frame)
return p._lastInitial(getArgs(frame))
end
-- Debugging 1: mw.log(p._lastInitial({last_initial = 'Qx'}))
-- Debugging 2: mw.log(p._lastInitial({wikidata = 'Q1107985'}))
-- Debugging 1: mw.log(p._lastInitial({lastname = 'Qqxxx'}))
-- Debugging 3: mw.log(p._lastInitial({last_initial = 'Qx', wikidata_id='Q1107985'}))
-- used by [[Module:Person]]
function p._dates(args)
args = normalize_args(args)
return dates(args)
end
function p.dates(frame)
return p._dates(getArgs(frame))
end
function p._get_image(args)
args = normalize_args(args)
if args.nocat then
return get_image(args)
else
return get_image(args) .. getCategories()
end
end
function p.get_image(frame)
return p._get_image(getArgs(frame))
end
function p._construct_defaultsort(args)
args = normalize_args(args)
return construct_defaultsort(args)
end
function p.construct_defaultsort(frame)
return p._construct_defaultsort(getArgs(frame))
end
-- Used by [[Module:Disambiguation]] and [[Template:Author]]
function p._author(args)
return author(args)
end
function p.author(frame)
return p._author(getArgs(frame))
end
return p
9gjngq38olzz481doh9frhcppyk18gh
پودمان:New texts
828
83970
294401
294260
2026-08-01T19:14:19Z
Hanooz
17889
دندانه برای متن راست به چپ
294401
Scribunto
text/plain
-- This is a module to implement listings of new texts
require('strict')
local p = {} --p stands for package
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local error_function = require('Module:Error')['error']
local DEFAULTS = {
data_source = "Template:New texts/data",
currentyear = tonumber(os.date("%Y"))
}
local function get_data(src, year)
local data
if not src or src == '' then
src = DEFAULTS["data_source"]
end
year = tonumber(year) or DEFAULTS["currentyear"]
src = src .. "/" .. year .. ".json"
local data
if pcall(function()
local jsondata = mw.title.new(tostring(src)):getContent()
data = mw.text.jsonDecode(jsondata)
end) then
-- no errors while loading
else
error("Failed to load new text data from [[" .. src .. "]]")
end
return data
end
--[=[
Construct creator link/nonlink
]=]
local function construct_author(str, nowiki)
-- strip "Portal:" prefixes if not piped
str = string.gsub(str, "%[%[%s*[Pp]ortal:([^|]-)|?%]%]", function (target)
return "[[Portal:" .. target .. "|" .. target .. "]]"
end)
-- plain portal syntax
str = string.gsub(str, "^[Pp]ortal:(.*)$", function (target)
if nowiki then
return target
else
return "[[Portal:" .. target .. "|" .. target .. "]]"
end
end)
-- strip "Author:" prefixes if not piped
str = string.gsub(str, "%[%[%s*[Aa]uthor:([^|]-)|?%]%]", function (target)
return "[[Author:" .. target .. "|" .. target .. "]]"
end)
-- plain author syntax
str = string.gsub(str, "^[Aa]uthor:(.*)$", function (target)
if nowiki then
return target
else
return "[[Author:" .. target .. "|" .. target .. "]]"
end
end)
-- auto-strip bracketed dates
if not nowiki then
str = string.gsub(str, "^((.*) +%([0-9]+[-–][0-9]+%))$", function (full_target, no_date)
return "[[Author:" .. full_target .. "|" .. no_date .. "]]"
end, 1)
end
-- if the string has its own links, return it now
if string.match(str, "%[%[") then
return str
end
-- if the author is anonymous
if string.match(str, "[uU]nknown") or string.match(str, "[aA]non") or string.match(str, "[aA]nonymous") then
if nowiki then
return "Anonymous"
else
return "[[Portal:Anonymous texts|Anonymous]]"
end
end
if string.match(str, "[Vv]arious") then
return "Various authors"
end
-- if nowiki then don't make link
if nowiki then
return str
end
-- if a pipe is provided
if string.match(str, "|") then
return "[[Author:" .. str .. "]]"
end
-- make our own piped link
return "[[Author:" .. str .. "|" .. str .. "]]"
end
--[=[
Format new items
]=]
function p._new_texts_item(args)
-- parse args
local image_name = args.image_name
local image_size = args.image_size or '100px'
local title = args.title or args[1]
local display = args.display or title
local edition = args.edition
local work_date = args['date'] or args[3]
local work_type = args['type']
local nowiki = yesno(args.nowiki) or false
local author = args.author or args[2]
local translator = args.translator
local translation_date = args.translation_date
local editor = args.editor
local illustrator = args.illustrator
local text_item = {}
-- image
if image_name then
-- no link to image's page in the File namespace
table.insert(text_item, "[[File:" .. image_name .. "|right|" .. image_size .. "|link=]]")
end
-- title
local title_line_text = {}
if title then
local title_text = mw.html.create('span')
:css({['font-style'] = 'italic', ['font-weight'] = 'bold'})
:wikitext('[[' .. title .. '|' .. display .. ']]')
table.insert(title_line_text, title_text)
else
table.insert(title_line_text, error_function({'Error: No title entered'}))
end
-- edition
if edition then
table.insert(title_line_text, ', ' .. edition)
end
-- date/type
local work_info = {}
if work_date then
table.insert(work_info, work_date)
end
if work_date and translation_date then
table.insert(work_info, ',')
end
if translation_date then
table.insert(work_info, 'tr. ' .. translation_date)
end
if work_type == 'film' then
table.insert(work_info, require('Module:Media')._media({[1] = 15, ['type'] = 'film'}))
end
if #work_info > 0 then
table.insert(title_line_text, ' (' .. table.concat(work_info, ' ') .. ')')
end
if #title_line_text > 0 then
local title_p = mw.html.create('p'):css({['margin'] = '0.5em 0'})
for i, v in ipairs(title_line_text) do
if type(v) == 'string' then
title_p:wikitext(v)
else
title_p:node(v)
end
end
table.insert(text_item, tostring(title_p))
end
-- creators
local creators = {}
if author then
table.insert(creators, 'اثر ' .. construct_author(author, nowiki))
end
if translator then
table.insert(creators, 'ترجمهٔ ' .. construct_author(translator, nowiki))
end
if editor then
table.insert(creators, 'ویراستهٔ ' .. construct_author(editor, nowiki))
end
if illustrator then
table.insert(creators, 'illustrated by ' .. construct_author(illustrator, nowiki))
end
if #creators > 0 then
local creators_p = mw.html.create('p')
:css({['font-size'] = '83%', ['margin-block'] = '0', ['margin-inline-start'] = '1em'})
:addClass('creators')
:wikitext(table.concat(creators, ', '))
table.insert(text_item, tostring(creators_p))
end
local text_item_div = mw.html.create('div')
for i, v in ipairs(text_item) do
if type(v) == 'string' then
text_item_div:wikitext(v)
else
text_item_div:node(v)
end
end
return text_item_div
end
function p.new_texts_item(frame)
return p._new_texts_item(getArgs(frame))
end
--[=[
Construct an author link for the given key (e.g "author" or "translator")
]=]
local function construct_author_from_item(item, key, nowiki)
if not item or not item[key] then
return nil
end
-- explicit nowiki
if item[key .. "_nowiki"] then
return item[key]
end
local author_data = item[key]
if type(author_data) ~= 'table' then
author_data = {author_data}
end
local entries = {}
for k, v in pairs(author_data) do
table.insert(entries, construct_author(v, nowiki))
end
if #entries == 0 then
return nil
elseif #entries == 1 then
return entries[1]
else
return table.concat(entries, ', ', 1, #entries - 1) .. ' and ' .. entries[#entries]
end
end
--[=[
Construct an entry using new_texts_item with the data from item
]=]
local function item_to_new_texts_item(item)
-- suppress auto links for the authors, etc
local nowiki = yesno(item.nowiki)
local args = {
["nowiki"] = "yes", -- we always construct this ourselves
["image_name"] = item["image_name"],
["image_size"] = item["image_size"],
["title"] = item["title"],
["author"] = construct_author_from_item(item, "author", nowiki),
["edition"] = item["edition"],
["editor"] = construct_author_from_item(item, "editor", nowiki),
["illustrator"] = construct_author_from_item(item, "editor", nowiki),
["translator"] = construct_author_from_item(item, "translator", nowiki),
["translation_date"] = item["translation_year"],
["date"] = item["year"],
["display"] = item["display"]
}
if not args["display"] then
-- if title is a subpage of some other title, use subpage as display title
local mwt = mw.title.new(tostring(args["title"]))
if mwt and mwt.isSubpage then
args["display"] = mwt.subpageText
end
end
return p._new_texts_item(args)
end
local function table_len(data)
-- count the items (#data doesn't work because keys are non-numeric)
local count = 0
for k, _ in pairs(data) do
count = count + 1
end
return count
end
--[=[
Construct the new texts list from instances of new_texts_item
Arguments:
* limit: how many items to display
* offset: how many items to skip the display of
not in use AFAICT
]=]
function p._new_texts(args)
-- pull in the data from the data module at [[Template:New texts/data(/YEAR).json]]
local data = get_data(args["data_source"], nil)
-- how many items to show
local offset = tonumber(args["offset"]) or 0
local limit = tonumber(args["limit"]) or 7
-- count the months
local months = table_len(data)
local texts = {}
local count = 0
local broken = false
-- iterate in reverse, because we want the most recent months
for i = months, 1, -1 do
local month = data[i]
for k, v in pairs(month) do
if count >= offset then
table.insert(texts, tostring(item_to_new_texts_item(v)))
end
count = count + 1
if count >= limit + offset then
broken = true
break
end
end
if broken then
break
end
end
return table.concat(texts, '\n')
end
function p.new_texts(frame)
return p._new_texts(getArgs(frame))
end
local function construct_month_list(items, start_num)
local count = 0
local first_in_month = true
local items_len = table_len(items)
if items_len == 0 then
return '', count
end
local ol = mw.html.create('ol')
for i = items_len, 1, -1 do
local li = ol:tag('li')
if i == items_len then
li:attr('value', start_num + 1)
end
li:node(item_to_new_texts_item(items[i]))
count = count + 1
end
return ol, count
end
--[=[
Construct the list of archived items for the given month
Arguments:
* month: the month to show (nil to show whole year)
* year: the year to show
]=]
function p._archive_list(args)
local month = tonumber(args["month"])
local year = tonumber(args["year"]) or DEFAULTS["currentyear"]
-- pull in the data from the relevant archive
local data = get_data(args["data_source"], year)
local a_list = mw.html.create('div')
local count = 1
local months
if month then
months = {}
months[month] = data[month]
else
months = data
end
local count = 0
local max_m = table_len(months)
for k, m in pairs(months) do
a_list:tag('span')
:attr('id', string.format("%02d", k))
a_list:tag('h2')
:wikitext(os.date("%B", os.time({year = year, month = k, day = 1})))
local content, m_count = construct_month_list(m, count)
a_list:node(content)
count = count + m_count
end
return a_list
end
function p.archive_list(frame)
return p._archive_list(getArgs(frame))
end
--[=[
Construct the process header for the list of archived items for the given year
Arguments:
* year: the year to show
]=]
function p._archive_list_header(args)
local year = tonumber(args["year"]) or tonumber(args[1]) or tonumber(mw.title.getCurrentTitle().subpageText)
if not year then
return error_function({"[[Module:New texts]] error: No year provided"})
end
local nextlink
if year < DEFAULTS["currentyear"] then
nextlink = "[[Wikisource:Works/" .. year + 1 .. "|" .. year + 1 .. "]]"
end
return require('Module:Process header')._process_header({
['title'] = 'Proofread works added in ' .. year,
['previous'] = "[[Wikisource:Works/" .. year - 1 .. "|" .. year - 1 .. "]]",
['next'] = nextlink,
['notes'] = 'These works are from [[Help:DjVu files|scanned texts]] and have been [[Help:proofread|proofread]] at least once, if not fully validated.'
})
end
function p.archive_list_header(frame)
return p._archive_list_header(getArgs(frame))
end
--[=[
Combine archive_list and archive_list_header to implement Template:New texts archive
Arguments:
* year: the year to show
]=]
function p.new_texts_archive(frame)
local args = getArgs(frame)
args.year = args.year or args[1]
local header = p._archive_list_header(args)
local styles = frame:extensionTag('templatestyles', '', {src = 'Template:Block right/styles.css'})
local toc = mw.html.create('div')
:addClass('wst-block-right')
:wikitext(frame:preprocess('__TOC__'))
local clear = mw.html.create('div'):css({['clear'] = 'both'})
local list = p._archive_list(args)
return styles .. header .. tostring(toc) .. tostring(clear) .. tostring(list)
end
return p
b0brwkaiebph53lu317aioxqdo5g07w
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۹
104
91962
294390
293937
2026-08-01T14:44:54Z
Hanooz
17889
294390
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>{{وسط بزرگتر۱|بنام خدا}}
در طول حیات چه بسا دقایق حسّاسی پیش میآید و تصمیمی در این دقایق گرفته میشود که مسیر زندگانی انسان را بکلّی تغییر میدهد.
این تصمیم گاهی در زندگی شخص و اطرافیانش مؤثّر واقع میشود و در موارد نادری هم ممکن است که این تصمیم در سرنوشت اجتماع و کشور تأثیر کند. فقط تاریخ و اجتماع و احتیاجات ملّت است که میتواند شخص بخصوصی را در موقعیّت معینی بگذارد تا تصمیمش با سرنوشت اجتماع و ملّت مربوط گردد و سیر تاریخ را عوض کند.
در روزهای قبل از سوّم اسفند سال ۱۲۹۹ پدر من در چنین مرحلهای قرار گرفت.
روزهای قبل از [[w:کودتای ۳ اسفند ۱۲۹۹|کودتای سوّم اسفند]] نقطهٔ قطعی تحوّل زندگی رضاشاه بود.<noinclude>{{سصم||-۶-|}}</noinclude>
7eyrfxwlypewlyclaz7qipfy55yn4bj
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۱۳
104
92021
294395
294004
2026-08-01T16:57:02Z
Hanooz
17889
294395
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>و تبسّمها و امیدها و آرزوهای او بوده و اغلب روزها یکی دو ساعت تنها مخاطبش بودهام، شاید تا اندازهای بتوانم بطور تقریب آنچه را که در آن ساعات در مغز توانایش میگذشت حدس بزنم.
{{rule|width=8em|height=3px}}
{{rule|width=6em}}
شکّی نیست که تازهترین خاطرات و گذشتهٔ نزدیک بیش از آنچه که در گذشتهٔ دور اتّفاق افتاده در طرز فکر و تصمیم شخص مؤثّر میگردد. گذشتهٔ نزدیک و حتّی حوادث روزمرّه است که کارد را باستخوان میرساند و شخص را مجبور میسازد که تصمیم قطعی و کلّی بگیرد.
در طول زمان، حوادث انسان را برای یک تصمیم کلّی مهیا میسازد و هنگامیکه زمینه مهیّا شد آنوقت یک اتّفاق یا یک سلسله حوادث کار جرقّهای را میکند که بانبار باروت بیافتد.
نبرد [[w:قوای قزاق|قوای قزّاق]] با [[w:جنبش جنگل|متجاسرین]] در پائیز سال ۱۲۹۹ و شکستی که بر اثر<noinclude>{{سصم||-۱۰-|}}</noinclude>
patlwzuklzmqixvm1va119s9qtaksve
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۲۶
104
92068
294397
294062
2026-08-01T18:15:27Z
Hanooz
17889
294397
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>دولت حاضر بود هرگونه تحمیلی را تحمّل نماید ولی با این تفصیل، بعلل زیادی، موفّق به تهیّهٔ وجه نمیگردید.
باین جهت ناچار بود در مقابل تعهّدات خود، از جمله حقوق مستخدمین که غالباً چندین ماه بتأخیر میافتاد، بجای پول حوالهٔ آجر و یا تفنگ شکسته بدهد، باین معنی که از عمارات مخروبهٔ دولتی و تفنگهای اسقاط قورخانه برای این منظور استفاده شود.
معمولاً بسربازان هم حقوق تعلّق نمیگرفت زیر سربازان جز یکی دو روز در سال، آنهم برای سان و سلام، مواقع دیگر را بکارهائی که آشنا بودند از قبل هیزم شکنی و غیره میپرداختند و هرکس وسیلهٔ ارتزاق خود را بنحوی فراهم مینمود.
این بود معنی سرباز، پس توجّه بایجاد ارتش نو از لوازم اوّلیه<noinclude>{{سصم||-۲۳-|}}</noinclude>
lds1cgxe70i98aqes2z0p19nzkdr7r9
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۴۴
104
92072
294398
294066
2026-08-01T18:36:43Z
Hanooz
17889
294398
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>ولی اگر احتیاج مبرمی پیش میآمد و کسی میخواست مثلاً خود را به پزشکی برساند ناچار بود با موانع زیادی روبرو شود تا اگر اقبال یاری کند و تصادفاً پاهای او در چالهها نشکند و زخمی از [[w:بابا شمل|بابا شمل]]ی نخورد خود را به پزشک سر کوچه برساند والّا حسب المعمول در اینمواقع باید شب را بصبح میرساندند تا رفع حاجتی بعمل آید.
این نمونهای از وجود راه در ایران بود و گمان میکنم بسهولت بتوان حدس زد دولتی که نمیتوانست در پایتخت کشور باصلاح و تعمیر یک کوچه بپردازد چطور ممکن بود اقدام بایجاد راههای بین شهرها نماید و اگر هم قادر بود، عدم امنیّت مانع از انجام کار میگردید.<noinclude>{{سصم||-۴۱-|}}</noinclude>
pp0y9phs6m066wtritdd735i83tv7s7
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۵۵
104
92077
294406
294072
2026-08-01T20:15:15Z
Hanooz
17889
294406
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>و نیرنگهای سیاسی میپردازند.
حال اگر شخص فوقالعاده حسّاسی باشد که بیش از دیگران شاهد این دخالتها و نیرنگهای بیگانگان قرار گیرد بی شک درد و رنجی را که تحمّل خواهد کرد بیش از سایرین خواهد بود. رضا شاه در طول عمر خود بکرّات شاهد دخالتهای ناروا و خیانتهای گوناگون خارجیها بود.
در آن هنگامیکه در دیویزیون قزّاق خدمت میکرد برأی العین میدید که چگونه حیات و زندگی افراد و افسران ملعبهٔ و بازیچه دست سیاستهای خارجی قرار میگیرد و قبل از کودتای سوّم اسفند بکرّات تنفّر شدید و انزجار مفرط خویش را از این وضع چه لفظاً و چه عملاً نشان داده بود.
{{ته}}<noinclude>{{سصم||-۵۲-|}}</noinclude>
niqhd1x39rdtvl41n7srkrpzl5prb5a
برگه:رضا شاه کبیر نوشته محمدرضا شاه پهلوی.pdf/۵۹
104
92079
294407
294075
2026-08-01T20:17:59Z
Hanooz
17889
294407
proofread-page
text/x-wiki
<noinclude><pagequality level="3" user="Hanooz" /></noinclude>داشت. ترقّی و پیشرفت واقعی با بلندپروازی و خیال بافی خیلی تفاوت دارد.
ترقّی و پیشرفت زمینه میخواهد، بنیان میخواهد. پایه لازم دارد و این زمینه و بنیان و پایه در فرهنگ نهفته است . چون خوب باین عیب پی برد اوّل از همه از خود شروع کرد وقتی که سنّی از او گذشته بود و در پادگان قصر قجر انجام وظیفه میکرد، بدون خجالت و سرافکندگی، با نهایت شهامت و شجاعت شروع بخواندن و نوشتن نمود.
از یکی از همقطارانش که سواد داشت کمک گرفت و بعد از آنکه صبح تا غروب کاری میکرد و خسته میشد، همان وقتی که سایر همقطارانش بدنبال استراحت و تفریح میرفتند، او ساعتهای<noinclude>{{سصم||-۵۶-|}}</noinclude>
a3r0lagauesdt4cvbeevqbyb4ejrkql
کاربر:Eiliad
2
92186
294389
2026-08-01T13:57:12Z
Ladsgroup
486
Ladsgroup صفحهٔ [[کاربر:Eiliad]] را به [[کاربر:خاچی]] که تغییرمسیر بود منتقل کرد: صفحه در ضمن تغییر نام کاربر «[[Special:CentralAuth/Eiliad|Eiliad]]» به «[[Special:CentralAuth/خاچی|خاچی]]» به طور خودکار منتقل شد
294389
wikitext
text/x-wiki
#تغییر_مسیر [[کاربر:خاچی]]
mdczglxqjkztxdwlaf4e0d7s6u9dsdx
پدیدآورنده:هاجر تربیت
102
92187
294396
2026-08-01T17:43:45Z
Hanooz
17889
صفحهای تازه حاوی «{{author | firstname = هاجر | lastname = تربیت | last_initial = ت | birthyear = <!--data now imported from wikidata, please consider deleting once matched--> | deathyear = <!--data now imported from wikidata, please consider deleting once matched--> | description = }} ==آثار== * ''زن در قرن بیستم'' (۱۳۱۶) {{Commons link|زن در قرن بیستم - هاجر تربیت - چاپخان...» ایجاد کرد
294396
wikitext
text/x-wiki
{{author
| firstname = هاجر
| lastname = تربیت
| last_initial = ت
| birthyear = <!--data now imported from wikidata, please consider deleting once matched-->
| deathyear = <!--data now imported from wikidata, please consider deleting once matched-->
| description =
}}
==آثار==
* ''زن در قرن بیستم'' (۱۳۱۶) {{Commons link|زن در قرن بیستم - هاجر تربیت - چاپخانه ایران.pdf}}
{{مالکیت عمومی در ایران}}
{{Authority control}}
[[رده:پدیدآورندگان ایرانی]]
[[رده:زادگان ۱۲۸۵ (خورشیدی)]]
[[رده:درگذشتگان ۱۳۵۲ (خورشیدی)]]
rm30l3exl2udlpe3e3x1y6mns1vel3h
الگو:Cited
10
92188
294402
2026-08-01T19:23:54Z
Hanooz
17889
صفحهای تازه حاوی «{{#ifeq:{{NAMESPACE}}|Template |<!-- IF NAMESPACE = Template THEN Do Nothing This will stop the template appearing within the Template: namespace --> |<!-- In any other namespace, the following code is evaluated --><!-- Open with error checking text -->{{#if:{{{work|}}} | {{#if:{{{title|}}} | <!-- nothing, no problems if they have both been called --> | <span style="color: red;">Error: No external publicati...» ایجاد کرد
294402
wikitext
text/x-wiki
{{#ifeq:{{NAMESPACE}}|Template
|<!--
IF NAMESPACE = Template THEN Do Nothing
This will stop the template appearing within the Template: namespace
-->
|<!--
In any other namespace, the following code is evaluated
--><!-- Open with error checking text
-->{{#if:{{{work|}}}
| {{#if:{{{title|}}}
| <!-- nothing, no problems if they have both been called -->
| <span style="color: red;">Error: No external publication defined!</span>
}}<!-- end if title #1 -->
| {{#if:{{{title|}}}
| <span style="color: red;">Error: No wikisource work defined!</span>
| <span style="color: red;">Error: No wikisource work or external publication defined!</span>
}}<!-- end if title #2 -->
}}<!-- end if work --><!-- end error checking, move on to printing standardised text
-->The wikisource {{{edition|edition}}} of {{#if:{{{qualifier|}}}<!-- such as a chapter, section, article or other subdivision -->
|{{{qualifier}}} from
}}<!-- end if qualifier
-->{{#if:{{{wsauthor|}}}<!-- if a wikisource author page is called -->
| [[Author:{{{wsauthorlink|{{{wsauthor}}}}}}|{{{wsauthor}}}]]<!-- code to list more authors (if applicable):
-->{{#if:{{{wsauthor1|}}}<!-- if the 1st additional author page is called -->
| {{#if:{{{wsauthor2|}}}{{{wsauthor3|}}}{{{wsauthor4|}}}
| , <!-- comma if there are more Wikisource authors to list -->
| and <!-- "and" if this is the last Wikisource author -->
}}<!-- end if wsauthor2, wsauthor3 or wsauthor4
-->[[Author:{{{wsauthorlink1|{{{wsauthor1}}}}}}|{{{wsauthor1}}}]]}}<!-- end if wsauthor1
-->{{#if:{{{wsauthor2|}}}<!-- if the 1st additional author page is called -->
| {{#if:{{{wsauthor3|}}}{{{wsauthor4|}}}
| , <!-- comma if there are more Wikisource authors to list -->
| and <!-- "and" if this is the last Wikisource author -->
}}<!-- end if wsauthor3 or wsauthor4
-->[[Author:{{{wsauthorlink2|{{{wsauthor2}}}}}}|{{{wsauthor2}}}]]}}<!-- end if wsauthor2
-->{{#if:{{{wsauthor3|}}}<!-- if the 1st additional author page is called -->
| {{#if:{{{wsauthor4|}}}
| , <!-- comma if there are more Wikisource authors to list -->
| and <!-- "and" if this is the last Wikisource author -->
}}<!-- end if wsauthor4
-->[[Author:{{{wsauthorlink3|{{{wsauthor3}}}}}}|{{{wsauthor3}}}]]}}<!-- end if wsauthor3
-->{{#if:{{{wsauthor4|}}}<!-- if the 1st additional author page is called -->
| and <!-- this must be the last Wikisource author in the list, so "and"
-->[[Author:{{{wsauthorlink4|{{{wsauthor4}}}}}}|{{{wsauthor4}}}]]}}<!-- end if wsauthor4
-->'s
}}<!-- end if wsauthor
-->{{#if:{{{article|}}}
| {{{article}}}
}}<!-- end if article
-->{{#ifexist:{{{work|}}} <!-- check if there is a work to which to link -->
| '''[[{{{work|}}}<!-- if alternative display text exists for the work, display it; else, move on
-->{{#if:{{{workdisplay|}}}
| {{!}}{{{workdisplay}}}
}}<!-- end if workdisplay
-->]]'''
| '''{{#if:{{{workdisplay|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{workdisplay}}}
| {{{work|}}}
}}'''<!-- end if workdisplay
-->}}<!-- end if exists work
-->{{#if:{{{deleted|}}}
| {{#if:{{{deletedlink|}}}<!-- display link to deletion discussion or not -->
| ([[{{{deletedlink}}}{{!}}since deleted]])
| (since deleted)
}}<!-- end if deleted link -->
}}<!-- end if deleted
-->{{#if:{{{work1|}}} <!-- if work+1, a second cited work, is called -->
| {{#if:{{{work2|}}}{{{work3|}}}{{{work4|}}}<!-- comma or and -->
|, <!-- comma for 3+ works -->
| and <!-- "and" for just 2 works -->
}}<!-- end if work2, work3 or work4
-->{{#ifexist:{{{work1|}}} <!-- check if there is a work to which to link -->
| '''[[{{{work1|}}}<!-- if alternative display text exists for the work, display it; else, move on
-->{{#if:{{{workdisplay1|}}}
| {{!}}{{{workdisplay1}}}
}}<!-- end if workdisplay1
-->]]'''
| '''{{#if:{{{workdisplay1|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{workdisplay1}}}
| {{{work1|}}}
}}'''<!-- end if workdisplay1
-->}}<!-- end if exists work1
-->{{#if:{{{deleted1|}}}
| {{#if:{{{deletedlink1|}}}<!-- display link to deletion discussion or not -->
| ([[{{{deletedlink1}}}{{!}}since deleted]])
| (since deleted)
}}<!-- end if deleted link 1 -->
}}<!-- end if deleted1
-->}}<!-- end if work1
-->{{#if:{{{work2|}}} <!-- if work+2, a third cited work, is called -->
| {{#if:{{{work3|}}}{{{work4|}}}<!-- comma or and -->
|, <!-- comma for 4+ works -->
| and <!-- "and" for just 3 works -->
}}<!-- end if work3 or work4
-->{{#ifexist:{{{work2|}}} <!-- check if there is a work to which to link -->
| '''[[{{{work2|}}}<!-- if alternative display text exists for the work, display it; else, move on
-->{{#if:{{{workdisplay2|}}}
| {{!}}{{{workdisplay2}}}
}}<!-- end if workdisplay2
-->]]'''
| '''{{#if:{{{workdisplay2|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{workdisplay2}}}
| {{{work2|}}}
}}'''<!-- end if workdisplay2
-->}}<!-- end if exists work2
-->{{#if:{{{deleted2|}}}
| {{#if:{{{deletedlink2|}}}<!-- display link to deletion discussion or not -->
| ([[{{{deletedlink2}}}{{!}}since deleted]])
| (since deleted)
}}<!-- end if deleted link 2 -->
}}<!-- end if deleted2
-->}}<!-- end if work2
-->{{#if:{{{work3|}}} <!-- if work+3, a fourth cited work, is called -->
| {{#if:{{{work4|}}}<!-- comma or and -->
|, <!-- comma for all 5 works -->
| and <!-- "and" for just 4 works -->
}}<!-- end if work4
-->{{#ifexist:{{{work3|}}} <!-- check if there is a work to which to link -->
| '''[[{{{work3|}}}<!-- if alternative display text exists for the work, display it; else, move on
-->{{#if:{{{workdisplay3|}}}
| {{!}}{{{workdisplay3}}}
}}<!-- end if workdisplay3
-->]]'''
| '''{{#if:{{{workdisplay3|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{workdisplay3}}}
| {{{work3|}}}
}}'''<!-- end if workdisplay3
-->}}<!-- end if exists work3
-->{{#if:{{{deleted3|}}}
| {{#if:{{{deletedlink3|}}}<!-- display link to deletion discussion or not -->
| ([[{{{deletedlink3}}}{{!}}since deleted]])
| (since deleted)
}}<!-- end if deleted link 3 -->
}}<!-- end if deleted3
-->}}<!-- end if work3
-->{{#if:{{{work4|}}} <!-- if work+4, a fifth cited work, is called -->
| and <!-- "and" for last of five works (assumes work to work3 have been called)
-->{{#ifexist:{{{work4|}}} <!-- check if there is a work to which to link -->
| '''[[{{{work4|}}}<!-- if alternative display text exists for the work, display it; else, move on
-->{{#if:{{{workdisplay4|}}}
| {{!}}{{{workdisplay4}}}
}}<!-- end if workdisplay4
-->]]'''
| '''{{#if:{{{workdisplay4|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{workdisplay4}}}
| {{{work4|}}}
}}'''<!-- end if workdisplay4
-->}}<!-- end if exists work4
-->{{#if:{{{deleted4|}}}
| {{#if:{{{deletedlink4|}}}<!-- display link to deletion discussion or not -->
| ([[{{{deletedlink4}}}{{!}}since deleted]])
| (since deleted)
}}<!-- end if deleted link 4 -->
}}<!-- end if deleted4
-->}}<!-- end if work4
-->{{#if:{{{collection|}}}
| from {{#if:{{{collectionarticle|}}} <!-- parameter in case this is "the"/"an"/etc collection -->
| {{{collectionarticle}}}
}}<!-- end if collection article
-->{{#ifexist:{{{collection|}}} <!-- check if there is a collection to which to link -->
| '''[[{{{collection|}}}<!-- if alternative display text exists for the collection, display it; else, move on
-->{{#if:{{{collectiondisplay|}}}
| {{!}}{{{collectiondisplay}}}
}}<!-- end if collectiondisplay
-->]]'''
| '''{{#if:{{{collectiondisplay|}}}<!-- display bold but unlinked text if the page does not exist -->
| {{{collectiondisplay}}}
| {{{collection|}}}
}}'''<!-- end if collectiondisplay
-->}}<!-- end if exists collection
-->}}<!-- end if collection
--> {{#if:{{{work1|}}}{{{work2|}}}{{{work3|}}}{{{work4|}}} <!-- use plural if multiple works are cited -->
| were
| was
}}<!-- end if work1, work2, work3 or work4
--> cited in {{#if:{{{chapter|}}}<!-- if chapter is called instead of the book as a whole -->
|{{#if:{{{chapternum|}}}
| {{{section|chapter}}} {{{chapternum}}},
}}<!-- end if chapter number
-->"{{{chapter}}}"<!-- chapter title printed, now for the author(s)
-->{{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}}{{{bookauthor3|}}}{{{bookauthor4|}}}| by }}<!--
start checking for author parameters
-->{{#if:{{{bookauthor|}}}<!-- 0th or default author -->
| {{#if:{{{bookauthorlink|}}}
| [[{{{bookauthorlink}}}{{!}}{{{bookauthor}}}]]
| {{{bookauthor}}}
}}<!-- end if bookauthor link -->
}}<!-- end if bookauthor
start second author
-->{{#if:{{{bookauthor1|}}}<!-- author +1 -->
| {{#if:{{{bookauthor|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink1|}}}
| [[{{{bookauthorlink1}}}{{!}}{{{bookauthor1}}}]]
| {{{bookauthor1}}}
}}<!-- end if bookauthor link1 -->
}}<!-- end if bookauthor1
start third author
-->{{#if:{{{bookauthor2|}}}<!-- author +2 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink2|}}}
| [[{{{bookauthorlink2}}}{{!}}{{{bookauthor2}}}]]
| {{{bookauthor2}}}
}}<!-- end if bookauthor link2 -->
}}<!-- end if bookauthor2
start fourth author
-->{{#if:{{{bookauthor3|}}}<!-- author +3 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink3|}}}
| [[{{{bookauthorlink3}}}{{!}}{{{bookauthor3}}}]]
| {{{bookauthor3}}}
}}<!-- end if bookauthor link3 -->
}}<!-- end if bookauthor3
start fifth author
-->{{#if:{{{bookauthor4|}}}<!-- author +4 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}}{{{bookauthor3|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink4|}}}
| [[{{{bookauthorlink4}}}{{!}}{{{bookauthor4}}}]]
| {{{bookauthor4}}}
}}<!-- end if bookauthor link4 -->
}}<!-- end if bookauthor4 and end checking for author parameters
--> from
}}<!-- end if chapter
-->{{#if:{{{language|}}}
| the {{{language}}}
}}<!-- end if language
--> {{#if:{{{url|}}}<!-- if a link is given for the book as reference -->
| [{{{url}}} {{{title|}}}]
| "{{{title|}}}"<!-- otherwise, just use the name in quotes -->
}}<!-- end if url
-->{{#if:{{{titlenote|}}}
| ({{{titlenote}}})
}}<!-- end if titlenote
-->{{#if:{{{editor|}}}{{{editor1|}}}{{{editor2|}}}{{{editor3|}}}{{{editor4|}}}<!-- if any editor parameters are called -->
| ; <!-- semi-colon and space before printing the editor --><!-- start checking for editor parameters
-->{{#if:{{{editor|}}}<!-- 0th or default editor -->
| {{#if:{{{editorlink|}}}
| [[{{{editorlink}}}{{!}}{{{editor}}}]] (ed.)
| {{{editor}}} (ed.)
}}<!-- end if editor link -->
}}<!-- end first editor
start second editor
-->{{#if:{{{editor1|}}}<!-- editor +1 -->
| {{#if:{{{editor|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{editorlink1|}}}
| [[{{{editorlink1}}}{{!}}{{{editor1}}}]] (ed.)
| {{{editor1}}} (ed.)
}}<!-- end if editor link1 -->
}}<!-- end second editor
start third editor
-->{{#if:{{{editor2|}}}<!-- editor +2 -->
| {{#if:{{{editor|}}}{{{editor1|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{editorlink2|}}}
| [[{{{editorlink2}}}{{!}}{{{editor2}}}]] (ed.)
| {{{editor2}}} (ed.)
}}<!-- end if editor link2 -->
}}<!-- end third editor
start fourth editor
-->{{#if:{{{editor3|}}}<!-- editor +3 -->
| {{#if:{{{editor|}}}{{{editor1|}}}{{{editor2|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{editorlink3|}}}
| [[{{{editorlink3}}}{{!}}{{{editor3}}}]] (ed.)
| {{{editor3}}} (ed.)
}}<!-- end if editor link3 -->
}}<!-- end fourth editor
start fifth editor
-->{{#if:{{{editor4|}}}<!-- editor +4 -->
| {{#if:{{{editor|}}}{{{editor1|}}}{{{editor2|}}}{{{editor3|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{editorlink4|}}}
| [[{{{editorlink4}}}{{!}}{{{editor4}}}]] (ed.)
| {{{editor4}}} (ed.)
}}<!-- end if editor link4 -->
}}<!-- end checking for editor parameters -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}}{{{bookauthor3|}}}{{{bookauthor4|}}}| by }}<!--
start checking for author parameters
-->{{#if:{{{bookauthor|}}}<!-- 0th or default author -->
| {{#if:{{{bookauthorlink|}}}
| [[{{{bookauthorlink}}}{{!}}{{{bookauthor}}}]]
| {{{bookauthor}}}
}}<!-- end if bookauthor link -->
}}<!-- end first author
start second author
-->{{#if:{{{bookauthor1|}}}<!-- author +1 -->
| {{#if:{{{bookauthor|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink1|}}}
| [[{{{bookauthorlink1}}}{{!}}{{{bookauthor1}}}]]
| {{{bookauthor1}}}
}}<!-- end if bookauthor link1 -->
}}<!-- end second author
start third author
-->{{#if:{{{bookauthor2|}}}<!-- author +2 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink2|}}}
| [[{{{bookauthorlink2}}}{{!}}{{{bookauthor2}}}]]
| {{{bookauthor2}}}
}}<!-- end if bookauthor link2 -->
}}<!-- end third author
start fourth author
-->{{#if:{{{bookauthor3|}}}<!-- author +3 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink3|}}}
| [[{{{bookauthorlink3}}}{{!}}{{{bookauthor3}}}]]
| {{{bookauthor3}}}
}}<!-- end if bookauthor link3 -->
}}<!-- end fourth author
start fifth author
-->{{#if:{{{bookauthor4|}}}<!-- author +4 -->
| {{#if:{{{bookauthor|}}}{{{bookauthor1|}}}{{{bookauthor2|}}}{{{bookauthor3|}}} | , <!-- ie. a comma followed by a space -->}}{{#if:{{{bookauthorlink4|}}}
| [[{{{bookauthorlink4}}}{{!}}{{{bookauthor4}}}]]
| {{{bookauthor4}}}
}}<!-- end if bookauthor link4 -->
}}<!-- end checking for author parameters -->
}}<!-- end if editor
--> {{#if:{{{publisher|}}}{{{isbn|}}}
|{{smaller
|({{{publisher|}}}<!-- check if comma is necessary before moving to the ISBN
-->{{#if:{{{publisher|}}}
|{{#if:{{{isbn|}}}
|, <!-- ie. a comma followed by a space -->
}}<!-- end if isbn -->
}}<!-- end if publisher --><!-- end check for a comma
-->{{#if:{{{isbn|}}}
|ISBN {{{isbn}}}
}}<!-- end if isbn
-->)}}<!-- end smaller template -->
}}<!-- end if publisher/isbn
-->{{#if:{{{quote|}}}
| <br />{{gap}}{{{quote}}}
}}<!-- end if quote
-->}}<!-- end of ifeq: namespace=Template
--><noinclude>{{documentation}}</noinclude>
e6s3g7932rxcqn7luq9mot3k8tpms6n
ویکینبشته:ارجاعها به ویکینبشته
4
92189
294403
2026-08-01T19:29:33Z
Hanooz
17889
ترجمه هوش مصنوعی
294403
wikitext
text/x-wiki
{{process header
| title = ارجاعها به ویکینبشته
| section =
| previous = [[ویکینبشته:درباره]]
| next =
| shortcut =
| notes = با گسترش کتابخانهٔ آثار ویکینبشته و افزایش توانایی آن در تضمین صحت متنهای موجود در آن، این پروژه توجه بیشتری را به خود جلب میکند. این فهرستی از کتابها، مقالات خبری و دیگر منابع معتبر است که از متنی که در ویکینبشته میزبانی میشود استفاده میکنند (بهعنوان منبع، استناد و غیره).
}}
[[رده:ویکینبشته]]
b4tb3p4sfkjrmgte6vne9h5gkcqdeeq
294404
294403
2026-08-01T19:34:52Z
Hanooz
17889
294404
wikitext
text/x-wiki
{{process header
| title = ارجاعها به ویکینبشته
| section =
| previous = [[ویکینبشته:درباره]]
| next =
| shortcut =
| notes = با گسترش کتابخانهٔ آثار ویکینبشته و افزایش توانایی آن در تضمین صحت متنهای موجود در آن، این پروژه توجه بیشتری را به خود جلب میکند. این فهرستی از کتابها، مقالات خبری و دیگر منابع معتبر است که از متنی که در ویکینبشته میزبانی میشود استفاده میکنند (بهعنوان منبع، استناد و غیره).
}}
* نسخهٔ ویکینبشتهٔ آثار سعدی و حافظ در وبسایت گنجور [https://ganjoor.net/sources/wikisource استفاده شده]
[[رده:ویکینبشته]]
7ldqqudc78kpjhjfcbxpd2yhbudx5wu
الگو:Historical
10
92190
294405
2026-08-01T19:46:52Z
Hanooz
17889
صفحهای تازه حاوی «{{tmbox |image = [[File:Red x.svg|50px]] |text = '''This page is inactive and has been retained for historical interest.'''<br /> You can help by documenting its historical context and relevance. If you want to revive discussion regarding the subject, you are welcome to start a new discussion at the [[Wikisource:Scriptorium|Scriptorium]]. }}<includeonly>{{{category|[[Category:Historical pages|Historical]]}}}</includeonly><noinclude>{{d...» ایجاد کرد
294405
wikitext
text/x-wiki
{{tmbox
|image = [[File:Red x.svg|50px]]
|text = '''This page is inactive and has been retained for historical interest.'''<br /> You can help by documenting its historical context and relevance. If you want to revive discussion regarding the subject, you are welcome to start a new discussion at the [[Wikisource:Scriptorium|Scriptorium]].
}}<includeonly>{{{category|[[Category:Historical pages|Historical]]}}}</includeonly><noinclude>{{documentation}}</noinclude>
hqw5junehufofq7alt8g4x0a59f7twl