وِکیٖپیٖڈیا kswiki https://ks.wikipedia.org/wiki/%D8%A7%D9%8E%DB%81%D9%8E%D9%85_%D8%B5%D9%8E%D9%81%DB%81%D9%95 MediaWiki 1.47.0-wmf.13 first-letter میڈیا خاص کَتھ رُکُن رُکُن کَتھ وِکیٖپیٖڈیا وِکیٖپیٖڈیا کَتھ فَیِل فَیِل کَتھ میٖڈیاوِکی میٖڈیاوِکی کَتھ فرما فرما کَتھ مَدَتھ مَدَتھ کَتھ زٲژ زٲژ کَتھ TimedText TimedText talk Module Module talk Event Event talk وِکیٖپیٖڈیا:رُکُن فِہرِست اؠڈِٹ تَعداد مُطٲبِق 4 14505 146280 146175 2026-07-29T18:01:34Z Nadeemulhaqmir-bot 9480 Updated List of Wikipedians 146280 wikitext text/x-wiki == List of Wikipedians by number of edits == <div style="direction:ltr"> {| class="wikitable" |- style="white-space:nowrap;" ! No. ! User ! Edit count |- | 1 | [[User: آیات محراج | آیات محراج]] | [[Special:Contributions/آیات محراج|34440]] |- | 2 | <small><sub><span style="color:grey;"> </span></sub></small>[[User:511KeV|<span style="font-family:sans-serif; color:#FF1100; text-shadow:.2em .2em .4em #AfAfB1;">'''511KeV'''</span>]] [[User_talk:511KeV|<sup> '' (کتھ باتھ)''</sup>]] | [[Special:Contributions/511KeV|21538]] |- | 3 | [[User:Nadeemulhaqmir-bot|<span style="font-weight: 700; font-family: cursive;color: #41bf14;text-shadow: -1px 1px 0px #030318;">Mir-Bot</span>🍁]][[User_talk:Nadeemulhaqmir-bot|<sup>Talk</sup>]] | [[Special:Contributions/Nadeemulhaqmir-bot|13902]] |- | 4 | [[User: Uhaas bot | Uhaas bot]] | [[Special:Contributions/Uhaas bot|11723]] |- | 5 | [[User: SieBot | SieBot]] | [[Special:Contributions/SieBot|2432]] |- | 6 | [[User: Xqbot | Xqbot]] | [[Special:Contributions/Xqbot|2374]] |- | 7 | [[User: SakuraBot | SakuraBot]] | [[Special:Contributions/SakuraBot|2325]] |- | 8 | [[User: Humzah Rouf Phumboo | Humzah Rouf Phumboo]] | [[Special:Contributions/Humzah Rouf Phumboo|2268]] |- | 9 | [[User: Koshur | Koshur]] | [[Special:Contributions/Koshur|2227]] |- | 10 | [[User:Rishabhbhat|Rishabhbhat]] ([[User talk:Rishabhbhat|कथ]]) | [[Special:Contributions/Rishabhbhat|1669]] |- |} </div> 81bpdd897fxmxtb2n04rwe2dm163ih6 فرما:خبرن مَنٛز 10 18632 146333 142822 2026-07-30T08:10:39Z آیات محراج 11062 /* */ 146333 wikitext text/x-wiki {{Main page image/ITN | image = File:Tadej Pogačar at 2026 Tour de France (Stage 21) (cropped).jpg<!--NOTE: Do not use an unprotected Commons file. Our cascading protection will not apply. Either upload a local copy or list it at WP:CMP and wait for the bot to protect it at Commons. See WP:ITN/A for full instructions.--> | width = | caption = تادے پۄگاچار | title = Tadej Pogačar in July 2026 | alt = | link = | border = no <!-- only set if image has a light background --> | caption align = left }} *<!--Jul 26--> سایکلِنٛگ مَنٛز، [[تادے پۄگاچار]] ''(تَصویٖر مَنٛز)'' زیٛوٗن '''[[2026 ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛس]]'''. *<!--Jul 25--> [[کاکروچ جنتا پارٹی]]–کۆر '''[[2026 دِلہِ جنتر منتر احتِجاج|احتِجاج]]''' [[2026 نیٖٹ تنازٕ|اَکھ امتحان لیک]] پتہٕ ییٚمہِ سٕتؠ ہِندوستٲنؠ ؤزیٖرِ تٲلیٖم [[دھرمیندر پرَٛدھان|دھرمیندر پرَٛدھانن]] اِستیٖفہٕ دِیُٛت. *<!--Jun 24--> '''[[2026 وینَزوٗیِلا بُنیُل|زٕ بُنیِلؠ]]''' آیہِ [[وینَزوٗیِلا|وینَزوٗیِلاہس]] مَنٛز بُنیِلؠ ییٚمہِ سٟتؠ 160 کھۄتہٕ زیٛادٕ لوٗکھ موٗدؠ۔ *<!--Jun 22--> سٲبقہٕ فیڈرل ریزروُک چییَرمین '''[[ایٚلن گرٛیٖنسِپین]]''' ''(تَصویٖر مَنٛز)'' موٗد {{nowrap|100 وُہُر وٲنٛسہِ مَنٛز}}۔ *<!--Jun 22--> [[کِیٔر سٹارمر]] '''[[2026 لیبر پارٹی ہُنٛد قیادتُک بحران|اِستعیفہٕ دِنُک اِرادُک اعلان]] بطورِ [[برطانیہُک ؤزیٖرِ اعظم]]۔ *<!--May 26--> [[پوپ لیٛو 14]] کٔر پننٕؠ گۄڈٕنِچ [[گِرجاگرُک بخشنامہٕ]] شایع، '''[[میگنیفیکا ہیٛومینیٹاس]]''', یُس پَروا چھُ ظٲہِر کران [[بَنٲومٕژ ذَہٲنِیَتھ]] باپَتھ۔ {{In the news/footer |nocurrenteventslink = {{{nocurrenteventslink|}}} |currentevents = <!--Post ongoing items in alphabetical order--> *<!--Mar 26 2025--> [[غزہ جنٛگ]] *<!--Mar 09 2022--> [[یوکرینَس پؠٹھ روٗسی حملہٕ]] *<!--14 Apr 2023--> [[سوڈان خانہٕ جنٛگی (2023-ازکال)|سوڈان خانہٕ جنٛگی]] |recentdeaths = <!--New items go on top, remove the last one when posting, 6 items maximum, consider {{nowrap|[[Name]]}} or non-breaking spaces (&nbsp;) for names with middle names or initials--> *[[اوزی اوسبورن]] *[[شاہِد بڈگٲمی]] }}<noinclude> {{documentation}} </noinclude> aui34lu7c8axt6ejfqqxgpc9w51zixb 146334 146333 2026-07-30T08:11:08Z آیات محراج 11062 /* */ 146334 wikitext text/x-wiki {{Main page image/ITN | image = File:Tadej Pogačar at 2026 Tour de France (Stage 21) (cropped).jpg<!--NOTE: Do not use an unprotected Commons file. Our cascading protection will not apply. Either upload a local copy or list it at WP:CMP and wait for the bot to protect it at Commons. See WP:ITN/A for full instructions.--> | width = | caption = تادے پۄگاچار | title = Tadej Pogačar in July 2026 | alt = | link = | border = no <!-- only set if image has a light background --> | caption align = left }} *<!--Jul 26--> سایکلِنٛگ مَنٛز، [[تادے پۄگاچار]] ''(تَصویٖر مَنٛز)'' زیٛوٗن '''[[2026 ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛس]]'''. *<!--Jul 25--> [[کاکروچ جنتا پارٹی]]–کۆر '''[[2026 دِلہِ جنتر منتر احتِجاج|احتِجاج]]''' [[2026 نیٖٹ تنازٕ|اَکھ امتحان لیک]] پتہٕ ییٚمہِ سٕتؠ ہِندوستٲنؠ ؤزیٖرِ تٲلیٖم [[دھرمیندر پرَٛدھان|دھرمیندر پرَٛدھانن]] اِستیٖفہٕ دِیُٛت. *<!--Jun 24--> '''[[2026 وینَزوٗیِلا بُنیُل|زٕ بُنیِلؠ]]''' آیہِ [[وینَزوٗیِلا|وینَزوٗیِلاہس]] مَنٛز بُنیِلؠ ییٚمہِ سٟتؠ 160 کھۄتہٕ زیٛادٕ لوٗکھ موٗدؠ۔ *<!--Jun 22--> سٲبقہٕ فیڈرل ریزروُک چییَرمین '''[[ایٚلن گرٛیٖنسِپین]]''' موٗد {{nowrap|100 وُہُر وٲنٛسہِ مَنٛز}}۔ *<!--Jun 22--> [[کِیٔر سٹارمر]] '''[[2026 لیبر پارٹی ہُنٛد قیادتُک بحران|اِستعیفہٕ دِنُک اِرادُک اعلان]] بطورِ [[برطانیہُک ؤزیٖرِ اعظم]]۔ *<!--May 26--> [[پوپ لیٛو 14]] کٔر پننٕؠ گۄڈٕنِچ [[گِرجاگرُک بخشنامہٕ]] شایع، '''[[میگنیفیکا ہیٛومینیٹاس]]''', یُس پَروا چھُ ظٲہِر کران [[بَنٲومٕژ ذَہٲنِیَتھ]] باپَتھ۔ {{In the news/footer |nocurrenteventslink = {{{nocurrenteventslink|}}} |currentevents = <!--Post ongoing items in alphabetical order--> *<!--Mar 26 2025--> [[غزہ جنٛگ]] *<!--Mar 09 2022--> [[یوکرینَس پؠٹھ روٗسی حملہٕ]] *<!--14 Apr 2023--> [[سوڈان خانہٕ جنٛگی (2023-ازکال)|سوڈان خانہٕ جنٛگی]] |recentdeaths = <!--New items go on top, remove the last one when posting, 6 items maximum, consider {{nowrap|[[Name]]}} or non-breaking spaces (&nbsp;) for names with middle names or initials--> *[[اوزی اوسبورن]] *[[شاہِد بڈگٲمی]] }}<noinclude> {{documentation}} </noinclude> 6epckyxaatqd7st25e8ur61136fmj84 آربیکیولرس اوکولایی مَژھ 0 19339 146329 88314 2026-07-30T05:00:32Z InternetArchiveBot 8158 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 146329 wikitext text/x-wiki آربیکیولرس اوکول چھ بٕتھس مَنٛز اَکھ [[مَژھ|مژھ]] یۄس أچھ ٹارین بنٛد چھ کران۔ یہٕ چھِ فرنٹل ٲڈجہٕ کہِ نستہٕ کہِ حصہٕ پؠٹھ پٲدٕ گژھان، میکزلیری کہِ فرنٹل پراسس پیٹھہٕ چھُ لیکریمل نالی برونہہ پؠٹھ، تہٕ میڈیل پالپیبرل لِگامنٹ کہِ برونہم سطحس پؠٹھ تہٕ اکہِ مختصر فایبرس بینڈ کِس سرحدن پؠٹھ،۔ آگُر پیٹھہٕ شۆروٗع گژھن پتہ چھِ ریشہٕ اکہٕ طرفہٕ پھہلان، یمہٕ سٟتؠ اَکھ وسیع تہٕ پتلہٕ پرت چھِ بنان۔ یہِ چھُ أچھ ٹٲرِس ؤلِتھ، أچھن ہِنٛدِس ساکٹَس أنٛدؠ پٔکھؠ گَژھان، تہٕ گَلَن کُن بۄن کُن گَژھان۔ == ڈانٛچہٕ == آربیکیولرس مَژھِ چھ کم از کم 3 واضح حصہٕ۔ تاہم، یہٕ چھنہٕ واضح ز کیا لیکریمل سیکشن چھا اَکھ الگ سیکشن، یا کیا یہٕ چھ صرف پریسیپتل تہٕ پریٹارسل سیکشنچ توسیع۔<ref>{{ویب حَوالہٕ |url=http://vmede.org/sait/content/Anatomija_bili4_t1/4_files/mb4_216.jpeg |title=Archived copy |access-date=2024-04-20 |archive-date=2024-04-20 |archive-url=https://web.archive.org/web/20240420100330/http://vmede.org/sait/content/Anatomija_bili4_t1/4_files/mb4_216.jpeg |url-status=dead }}{{full citation needed|date=September 2017}}</ref> a8bq7flq2fjil4oe28mvgx8rbjv1u5z 1961 0 22338 146256 106737 2026-07-29T14:33:57Z Peter Ormond 7979 /* */ 146256 wikitext text/x-wiki {{حَوالہٕ وَرٲے}} '''1961''' چھُ اَکھ عام ؤری۔ 7e7j77r7zcfr3gqnlqdka7rsj66ds2w رُکُن:Nadeemulhaqmir-bot/log/2026/7 2 31223 146279 146174 2026-07-29T18:01:29Z Nadeemulhaqmir-bot 9480 باٹ چھُ اَز دۄہُک لاگ مَحفوٗظ کَران. 146279 wikitext text/x-wiki ==1-7-2026== ==== [[بیٛوٗٹِرِک ایسِڈ]] - ([[Special:Diff/143346|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[تھٔنؠ]] - ([[Special:Diff/143347|فَرَق]]) ==== # <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> تٔھ </nowiki><b> -> </b><nowiki>تھٔ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ژھاے اِنٛگ-ویٚن]] - ([[Special:Diff/143348|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سُریندَر کُمار چودھری]] - ([[Special:Diff/143349|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[روبرٹ جوے]] - ([[Special:Diff/143350|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جۆم تہٕ کٔشیٖر مَنٛز چُناو]] - ([[Special:Diff/143351|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==2-7-2026== ==== [[لہاسپیتالیت دی لوبریگیت]] - ([[Special:Diff/143532|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[جورڈی البا]] - ([[Special:Diff/143533|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[منظور نعمانی]] - ([[Special:Diff/143534|فَرَق]]) ==== # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سکینہ اتو]] - ([[Special:Diff/143535|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[ٹراماڈول]] - ([[Special:Diff/143536|فَرَق]]) ==== # <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[امکسسلن]] - ([[Special:Diff/143537|فَرَق]]) ==== # <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki> ==== [[دَلیٖپ تاہِل]] - ([[Special:Diff/143538|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> ==== [[مہینٛدر سِنٛگھ دھونی]] - ([[Special:Diff/143539|فَرَق]]) ==== # <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki> # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> ==== [[سانایے تاکایچی]] - ([[Special:Diff/143540|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ریڈ وایِسمین]] - ([[Special:Diff/143541|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جون میٚک ایٚنرو]] - ([[Special:Diff/143542|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> ==== [[چارلٕس لیٚکلرک]] - ([[Special:Diff/143543|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> ==== [[مِسٹر بیٖسٹ]] - ([[Special:Diff/143544|فَرَق]]) ==== # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==== [[لیو نل میسی]] - ([[Special:Diff/143545|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[خیبر ضِلہٕ]] - ([[Special:Diff/143546|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ڈویژنُک </nowiki><b> -> </b><nowiki>ڈِویجَنُک</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[شاہیٖن آفریٖدی]] - ([[Special:Diff/143547|فَرَق]]) ==== # <nowiki> قٕہ </nowiki><b> -> </b><nowiki>قہٕ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سَچِن تَنڈُلکر]] - ([[Special:Diff/143548|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بیٚٹی وایِٹ]] - ([[Special:Diff/143549|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[وِراٹ کوہلی]] - ([[Special:Diff/143550|فَرَق]]) ==== # <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ساجد الرحمن]] - ([[Special:Diff/143551|فَرَق]]) ==== # <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> نائب صدر </nowiki><b> -> </b><nowiki>نٲیِب صٔدٕر</nowiki> # <nowiki> مٕہ </nowiki><b> -> </b><nowiki>مہٕ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[عبدُل مَجیٖد کَکروٗ]] - ([[Special:Diff/143552|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> گھرٕ </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> متاثر </nowiki><b> -> </b><nowiki>مُتٲثِر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سُنیٖل چھیتری]] - ([[Special:Diff/143553|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[کرِسٹِیانو رونالڈو]] - ([[Special:Diff/143554|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==== [[ایرلِنٛگ ہالینٛڈ]] - ([[Special:Diff/143555|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دنیاہٕک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہٕک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==3-7-2026== ==== [[لایبیریا ہُک نِشان]] - ([[Special:Diff/143656|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لایبیریا ہُک جَنٛڈٕ]] - ([[Special:Diff/143657|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[آل ہیل، لایبیریا، ہیل!]] - ([[Special:Diff/143658|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[فِلِپ ٹارلو]] - ([[Special:Diff/143659|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جارج وِیَہ]] - ([[Special:Diff/143660|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جوزف بوکایی]] - ([[Special:Diff/143661|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لَیگر]] - ([[Special:Diff/143662|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لایبیریا]] - ([[Special:Diff/143663|فَرَق]]) ==== # <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بولٹن]] - ([[Special:Diff/143664|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[ڈِیان مورگن]] - ([[Special:Diff/143665|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سِریٖنَگرٕکؠ مییَرزن ہُنٛد فہرست]] - ([[Special:Diff/143666|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[ہاردک پانڈیا]] - ([[Special:Diff/143667|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[پیروُک صٔدٕر]] - ([[Special:Diff/143668|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2026 پیروٗ عام چُناو]] - ([[Special:Diff/143669|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==4-7-2026== ==== [[2026 یوٗرپی گرٛؠشِمٕچ لٔہر]] - ([[Special:Diff/143780|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> مُلک </nowiki><b> -> </b><nowiki>مُلُک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> يٖ </nowiki><b> -> </b><nowiki>یٖ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[شِوالِک گُر]] - ([[Special:Diff/143781|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ت. </nowiki><b> -> </b><nowiki>ت۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَمُر-یاکُژک مینلٲن]] - ([[Special:Diff/143782|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> ==== [[ڈھَنٛڈاری کلاں ریلوے سِٹیشن]] - ([[Special:Diff/143783|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ڈویژنَس </nowiki><b> -> </b><nowiki>ڈِویجَنَس</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[قومی مَہوَتھ 44 (ہِندوستان)]] - ([[Special:Diff/143784|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بیرکے اوزیر]] - ([[Special:Diff/143785|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2014 ہِندوستٲنؠ عام چُناو]] - ([[Special:Diff/143786|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ارمان فۄیسَل آکاش]] - ([[Special:Diff/143787|فَرَق]]) ==== # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[آبہٕ رَڑ]] - ([[Special:Diff/143788|فَرَق]]) ==== # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[صوفیہ ورگارا]] - ([[Special:Diff/143789|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> دعویٰ </nowiki><b> -> </b><nowiki>دعوا</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[نگریگ]] - ([[Special:Diff/143790|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[مُحمد صلاح]] - ([[Special:Diff/143791|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[مینیسوٹا]] - ([[Special:Diff/143792|فَرَق]]) ==== # <nowiki> دُنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[عام لوٗن]] - ([[Special:Diff/143793|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کیکو فُجیموری]] - ([[Special:Diff/143794|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈین کین]] - ([[Special:Diff/143795|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[رِیا پِلَیی]] - ([[Special:Diff/143796|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لینٛڈر پیس]] - ([[Special:Diff/143797|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==5-7-2026== ==== [[گرٛوپ ایکشن (سَمٲج زان)]] - ([[Special:Diff/143818|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[فَن تٔحریٖک]] - ([[Special:Diff/143819|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[ہارلیم نۆو زَنَم]] - ([[Special:Diff/143820|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گھرن </nowiki><b> -> </b><nowiki>گرن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹوٗپاک شکوٗر]] - ([[Special:Diff/143821|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==6-7-2026== ==== [[زوسر]] - ([[Special:Diff/143943|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> گھرس </nowiki><b> -> </b><nowiki>گرس</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki> # <nowiki> ئید </nowiki><b> -> </b><nowiki>ئید</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[باستت]] - ([[Special:Diff/143944|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[دِلجیٖت دوسانٛجھ]] - ([[Special:Diff/143945|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> نژاد </nowiki><b> -> </b><nowiki>نَسٕل</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جَسوَنٛت سِنٛگھ کھالڑا]] - ([[Special:Diff/143946|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> تعاون </nowiki><b> -> </b><nowiki>سہکٲری</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2024 برطانیہُک عام چُناو]] - ([[Special:Diff/143947|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[اوبسیشن (2025 فِلِم)]] - ([[Special:Diff/143948|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[زُوگٲنؠ کنٕوَٹ]] - ([[Special:Diff/143949|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ضروری </nowiki><b> -> </b><nowiki>ضۆروٗری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹایگر وُڈس]] - ([[Special:Diff/143950|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَفریٖقی اَمریٖکی]] - ([[Special:Diff/143951|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَفریٖقی-اَمریٖکی ثقافت]] - ([[Special:Diff/143952|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[اَفریٖقی-اَمریٖکی فَن]] - ([[Special:Diff/143953|فَرَق]]) ==== # <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki> ==== [[دی نیو نیگرو]] - ([[Special:Diff/143954|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[ہارلیمٕچ تَوٲریٖخ]] - ([[Special:Diff/143955|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ناومی اوساکا]] - ([[Special:Diff/143956|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[چوٗاو-کہٕ، اوساکا]] - ([[Special:Diff/143957|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[نیمار]] - ([[Special:Diff/143958|فَرَق]]) ==== # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ثقافتی تٔحریٖک]] - ([[Special:Diff/143959|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> ==7-7-2026== ==== [[جارجیٛوس ژَلمٛپورِس]] - ([[Special:Diff/144012|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> ==== [[وِکٹر ژوے]] - ([[Special:Diff/144013|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشترکہ </nowiki><b> -> </b><nowiki>مُشتَرکہٕ</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> # <nowiki> ي </nowiki><b> -> </b><nowiki>ی</nowiki> ==== [[اِلیَہ سُژکیویر]] - ([[Special:Diff/144014|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> قیمت </nowiki><b> -> </b><nowiki>قٟمَتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشترکہ </nowiki><b> -> </b><nowiki>مُشتَرکہٕ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> يٖ </nowiki><b> -> </b><nowiki>یٖ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[رَمیٚسِس ترٛیٚیِم]] - ([[Special:Diff/144015|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[چارلس ڈارون]] - ([[Special:Diff/144016|فَرَق]]) ==== # <nowiki> انواع </nowiki><b> -> </b><nowiki>زٲژ</nowiki> # <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سید علی خامنہ ای]] - ([[Special:Diff/144017|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[علی خامنہ ای سُنٛد قتٕل]] - ([[Special:Diff/144018|فَرَق]]) ==== # <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[علی خامنہ ای سُنٛد رِیٲستی سطحس پؠٹھ جِنازٕ]] - ([[Special:Diff/144019|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==== [[خع سخموی]] - ([[Special:Diff/144020|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[کِرَن گاڈاکھ]] - ([[Special:Diff/144021|فَرَق]]) ==== # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کِہ </nowiki><b> -> </b><nowiki>کہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[زوسر]] - ([[Special:Diff/144022|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==8-7-2026== ==== [[رامبھَدراچاریہ]] - ([[Special:Diff/144096|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شاعر </nowiki><b> -> </b><nowiki>شٲیِر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[احد زرگر]] - ([[Special:Diff/144097|فَرَق]]) ==== # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> لِہ </nowiki><b> -> </b><nowiki>لہِ</nowiki> # <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[گورنمنٹ میڈیکل کالیج، وَرمُل]] - ([[Special:Diff/144098|فَرَق]]) ==== # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[ہیریسن فورڈ]] - ([[Special:Diff/144099|فَرَق]]) ==== # <nowiki> دُنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[اِیان میک کیلِن]] - ([[Special:Diff/144100|فَرَق]]) ==== # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[رشید امجد]] - ([[Special:Diff/144101|فَرَق]]) ==== # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[مَہیش ٹھاکُر]] - ([[Special:Diff/144102|فَرَق]]) ==== # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[جموں و کشمیر بورڈ آف سکول ایجوکیشن]] - ([[Special:Diff/144103|فَرَق]]) ==== # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سِری پرٛتاپ ہایر سیکنڈری سکوٗل]] - ([[Special:Diff/144104|فَرَق]]) ==== # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ایس ایم ڈی ہایی سکوٗل]] - ([[Special:Diff/144105|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لِٹٕل اینجلس ہایی سکوٗل]] - ([[Special:Diff/144106|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[پریزنٹیشن کانوینٛٹ ہایر سیکنڈری سکوٗل]] - ([[Special:Diff/144107|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کاتالونِیا]] - ([[Special:Diff/144108|فَرَق]]) ==== # <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki> # <nowiki> آئین </nowiki><b> -> </b><nowiki>ٲییٖن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مقامی </nowiki><b> -> </b><nowiki>مُقٲمی</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[مونوبینزون]] - ([[Special:Diff/144109|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈبہٕ ہۆر]] - ([[Special:Diff/144110|فَرَق]]) ==== # <nowiki> ژِھ </nowiki><b> -> </b><nowiki>ژھِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[وِلادِمیر میک ٹاوِش]] - ([[Special:Diff/144111|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کویِنٹَن ڈی کوک]] - ([[Special:Diff/144112|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ہاشِم آملہ]] - ([[Special:Diff/144113|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ِ. </nowiki><b> -> </b><nowiki>ِ۔</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بیتھ موٗنی]] - ([[Special:Diff/144114|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سِریٖنَگَر]] - ([[Special:Diff/144115|فَرَق]]) ==== # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==9-7-2026== ==== [[ٹوبی سیمیٛوٗل]] - ([[Special:Diff/144200|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[آرتھر فیری]] - ([[Special:Diff/144201|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[گِریٖش بھَرَدواج]] - ([[Special:Diff/144202|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کینجِرو ژُدا]] - ([[Special:Diff/144203|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[رایبوسوم]] - ([[Special:Diff/144204|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> ==== [[جۆم تہٕ کٔشیٖر رایفٕلٕز]] - ([[Special:Diff/144205|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگن </nowiki><b> -> </b><nowiki>جَنٛگن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2024 کاتالانُک عَلاقٲیی چُناو]] - ([[Special:Diff/144206|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2024 روٗسی صٔدرٲتی چُناو]] - ([[Special:Diff/144207|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گالیشیَن زَبان]] - ([[Special:Diff/144208|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چھے </nowiki><b> -> </b><nowiki>چھےٚ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گالیشیَن وِکیٖپیٖڈیا]] - ([[Special:Diff/144209|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> ویکیپیڈیا </nowiki><b> -> </b><nowiki>وِکیٖپیٖڈیا</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ا. </nowiki><b> -> </b><nowiki>ا۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[زَبٲنؠ دٲیرٕ ؤچھن گاہ]] - ([[Special:Diff/144210|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==10-7-2026== ==== [[2022 فیٖفا عالمی کپ]] - ([[Special:Diff/144288|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[شۄبنکر]] - ([[Special:Diff/144289|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لعیٖب]] - ([[Special:Diff/144290|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ي </nowiki><b> -> </b><nowiki>ی</nowiki> ==== [[کِلِیان ایٚمباپے]] - ([[Special:Diff/144291|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[بونی ٹایلر]] - ([[Special:Diff/144292|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> وژن </nowiki><b> -> </b><nowiki>وِجَن</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گالیشیَن زَبان]] - ([[Special:Diff/144293|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==== [[گالیشیَن وِکیٖپیٖڈیا]] - ([[Special:Diff/144294|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==11-7-2026== ==== [[بو-کاپ]] - ([[Special:Diff/144384|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گھرٕ </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مسلمان </nowiki><b> -> </b><nowiki>مُسلمان</nowiki> # <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جیڈن ایڈمز]] - ([[Special:Diff/144385|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> گھرس </nowiki><b> -> </b><nowiki>گرس</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اینٛڈرِو ٹیٹ]] - ([[Special:Diff/144386|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> انتہائی </nowiki><b> -> </b><nowiki>اِنتِہٲیی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[مارٹِن پیٚٹری]] - ([[Special:Diff/144387|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ژٕنٛگ چُن-شیٖن]] - ([[Special:Diff/144388|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[ژیرِنٛگ وانٛگمو دھومپا]] - ([[Special:Diff/144389|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> شاعر </nowiki><b> -> </b><nowiki>شٲیِر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[تاویوٗایٚن، تایوان]] - ([[Special:Diff/144390|فَرَق]]) ==== # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki> ==== [[گُیٖشان ضِلہٕ]] - ([[Special:Diff/144391|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[یانی ژٕنٛگ]] - ([[Special:Diff/144392|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لامین یمال]] - ([[Special:Diff/144393|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[محمد رفیع]] - ([[Special:Diff/144394|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اِسلامٕچ تَوٲریٖخ]] - ([[Special:Diff/144395|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[عامر خان]] - ([[Special:Diff/144396|فَرَق]]) ==== # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> ٰ. </nowiki><b> -> </b><nowiki>ٰ۔</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==12-7-2026== ==== [[تیماباشی سِٹیشن]] - ([[Special:Diff/144447|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[جُلَے 2026 بلوچِستان حملہٕ]] - ([[Special:Diff/144448|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مخالف </nowiki><b> -> </b><nowiki>مُخٲلِف</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ڈیکلن رایِس]] - ([[Special:Diff/144449|فَرَق]]) ==== # <nowiki> اَنگریٖزؠ </nowiki><b> -> </b><nowiki>اَنٛگریٖزی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[کیوِن زیگرز]] - ([[Special:Diff/144450|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2024 اَیرِش عام چُناو]] - ([[Special:Diff/144451|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2022 فرٛانٛسی صٔدرٲتی چُناو]] - ([[Special:Diff/144452|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[یہِ چھِ اَکھ لڑکہٕ کورِ چیٖز]] - ([[Special:Diff/144453|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شاعری </nowiki><b> -> </b><nowiki>شٲیری</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> گھر </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> گھرن </nowiki><b> -> </b><nowiki>گرن</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==13-7-2026== ==== [[جۆم تہٕ کٔشیٖر قومی کانفرٛنٕس]] - ([[Special:Diff/144549|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # فرما ہَٹاوَن ==== [[ڈیموکریٹک پارٹی (اَمریٖکہ)]] - ([[Special:Diff/144550|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مقبول </nowiki><b> -> </b><nowiki>مَقبوٗل</nowiki> # <nowiki> ہٕنز </nowiki><b> -> </b><nowiki>ہٕنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈونلڈ جان ٹرمپ]] - ([[Special:Diff/144551|فَرَق]]) ==== # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ل. </nowiki><b> -> </b><nowiki>ل۔</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki> # <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ریپبلکن پارٹی (اَمریٖکہ)]] - ([[Special:Diff/144552|فَرَق]]) ==== # <nowiki> انتہائی </nowiki><b> -> </b><nowiki>اِنتِہٲیی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اندروٗنی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعاون </nowiki><b> -> </b><nowiki>سہکٲری</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مخالف </nowiki><b> -> </b><nowiki>مُخٲلِف</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[چیٖنی کمیٛوٗنِسٹ پارٹی]] - ([[Special:Diff/144553|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈیموکریٹک پارٹی (جۆنوٗبی کوریا، 2015)]] - ([[Special:Diff/144554|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> وژن </nowiki><b> -> </b><nowiki>وِجَن</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2024 جۆنوٗبی کوریٲیی قونوٗن ساز چُناو]] - ([[Special:Diff/144555|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ضروری </nowiki><b> -> </b><nowiki>ضۆروٗری</nowiki> # <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2026 اِسرٲیِل قونوٗن ساز چُناو]] - ([[Special:Diff/144556|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki> ==== [[2022 اِسرٲیِل قونوٗن ساز چُناو]] - ([[Special:Diff/144557|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ژمر گاو]] - ([[Special:Diff/144558|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[عبدالعزیز عثمان]] - ([[Special:Diff/144559|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> نِہ </nowiki><b> -> </b><nowiki>نہِ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==14-7-2026== ==== [[مَغرَبی بَنٛگال قونوٗن ساز ایٚسمبلی]] - ([[Special:Diff/144601|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[2026 مَغرَبی بَنٛگال قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/144602|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[بھارتی جَنتا پارٹی]] - ([[Special:Diff/144603|فَرَق]]) ==== # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ِ. </nowiki><b> -> </b><nowiki>ِ۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ترِٛنَموٗل کانٛگرٛیس]] - ([[Special:Diff/144604|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[نیپالی کانٛگرٛیس]] - ([[Special:Diff/144605|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2026 نؠپٲلؠ عام چُناو]] - ([[Special:Diff/144606|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لِنٛڈسے گرٛاہم]] - ([[Special:Diff/144607|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اِسرٲیِل کیٛن رٲومٕتؠ قٔبیٖلن سٕتؠ کٲشِرؠ نسلُک نظریہٕ]] - ([[Special:Diff/144608|فَرَق]]) ==== # <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[شکیرا]] - ([[Special:Diff/144609|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> سٕند </nowiki><b> -> </b><nowiki>سٟنٛد</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مقبول </nowiki><b> -> </b><nowiki>مَقبوٗل</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==15-7-2026== ==== [[تٲمِل ناڈوٗ قونوٗن ساز ایٚسمبلی]] - ([[Special:Diff/144693|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> رِیاسَت </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[ہِند آریٲیی زَبانن مَنٛز شُوا مِٹان]] - ([[Special:Diff/144694|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ضروری </nowiki><b> -> </b><nowiki>ضۆروٗری</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> ==== [[کاتالونِیا خٲطرٕ اِکوَٹ (2020)]] - ([[Special:Diff/144695|فَرَق]]) ==== # <nowiki> آزادی </nowiki><b> -> </b><nowiki> آزادی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اینڈرویِڈ]] - ([[Special:Diff/144696|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[اِسلٲمی سَنٛس]] - ([[Special:Diff/144697|فَرَق]]) ==== # <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اِنسان]] - ([[Special:Diff/144698|فَرَق]]) ==== # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[دِل (جِسمٲنؠ اَنٛگ)]] - ([[Special:Diff/144699|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[آبنوس]] - ([[Special:Diff/144700|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[آزاد کٔشیٖر]] - ([[Special:Diff/144701|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> يٖ </nowiki><b> -> </b><nowiki>یٖ</nowiki> ==== [[آزاد کٔشیٖر قونوٗن ساز ایٚسمبلی]] - ([[Special:Diff/144702|فَرَق]]) ==== # <nowiki> آزادی </nowiki><b> -> </b><nowiki> آزادی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> محفوظ </nowiki><b> -> </b><nowiki>مۄحفوٗظ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[پاکستان پیپلز پارٹی]] - ([[Special:Diff/144703|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[سیم نیٖل]] - ([[Special:Diff/144704|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ٹیلی ویژنس </nowiki><b> -> </b><nowiki>ٹیلی وِجنس</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سکینہ بِنٛت حُسین]] - ([[Special:Diff/144705|فَرَق]]) ==== # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کیرَلا قونوٗن ساز ایٚسمبلی]] - ([[Special:Diff/144706|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==16-7-2026== ==== [[اۆک سَنٛگور]] - ([[Special:Diff/144739|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹوماس ٹوخل]] - ([[Special:Diff/144740|فَرَق]]) ==== # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[چھوے مِن شِک]] - ([[Special:Diff/144741|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==17-7-2026== ==== [[2021 آزاد کٔشیٖر عام چُناو]] - ([[Special:Diff/144769|فَرَق]]) ==== # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[جانِک سِنَر]] - ([[Special:Diff/144770|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جاڈا پِنٛکیٹ سمِتھ]] - ([[Special:Diff/144771|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ایلن فلیچر (اداکار)]] - ([[Special:Diff/144772|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> ==== [[عمار سنگھ]] - ([[Special:Diff/144773|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دعویٰ </nowiki><b> -> </b><nowiki>دعوا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہِنٛدوستانی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ي </nowiki><b> -> </b><nowiki>ی</nowiki> ==18-7-2026== ==== [[بین الاقوٲمی خَلٲیی سِٹیشن]] - ([[Special:Diff/144917|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سُنیتا وِلیمٕز]] - ([[Special:Diff/144918|فَرَق]]) ==== # <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سونم وانٛگچُک (اِنجیٖنَر)]] - ([[Special:Diff/144919|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جۆم ہَوٲیی اڈٕ]] - ([[Special:Diff/144920|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[شیخ العالم بَین الاقوٲمی ہوٲیی اَڈٕ]] - ([[Special:Diff/144921|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنگن </nowiki><b> -> </b><nowiki>جَنٛگن</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[ووستوک 1]] - ([[Special:Diff/144922|فَرَق]]) ==== # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ب. </nowiki><b> -> </b><nowiki>ب۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اپولو ۱۱]] - ([[Special:Diff/144923|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[چنٛدریان-۳]] - ([[Special:Diff/144924|فَرَق]]) ==== # <nowiki> تَھ </nowiki><b> -> </b><nowiki>تھَ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ہِندوستٲنؠ فِضٲیی تٔحقیٖقی تَنظیٖم]] - ([[Special:Diff/144925|فَرَق]]) ==== # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[شیخ مصطفیٰ کَمال]] - ([[Special:Diff/144926|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2025 العُدید اییَر بیس پؠٹھ ایٖرٲنی ہَوٲیی حملہٕ]] - ([[Special:Diff/144927|فَرَق]]) ==== # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> دعوی </nowiki><b> -> </b><nowiki>دعوا</nowiki> # <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2026 کولمبیا اییَر فورس لاک ہیٖڈ C-130 حٲدثہٕ]] - ([[Special:Diff/144928|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[انٛگارا اییَر لاینٛز پرواز 2311 حٲدثہٕ]] - ([[Special:Diff/144929|فَرَق]]) ==== # <nowiki> لِہ </nowiki><b> -> </b><nowiki>لہِ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اییَر اِنڈیا پرواز 171]] - ([[Special:Diff/144930|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[یوٗ پی ایس اییَر لاینٛز پَرواز 2976]] - ([[Special:Diff/144931|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لویی وِل، کینٹکی]] - ([[Special:Diff/144932|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ہارٹس فیلڈ- جیکسن اٹلانٹا بین الاقوٲمی ہوٲیی اڈٕ]] - ([[Special:Diff/144933|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[2009 اَفغٲنؠ صٔدرٲتی چُناو]] - ([[Special:Diff/144934|فَرَق]]) ==== # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==19-7-2026== ==== [[دی اوڈیسی (2026 فِلِم)]] - ([[Special:Diff/145063|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ی. </nowiki><b> -> </b><nowiki>ی۔</nowiki> ==== [[پِیانو]] - ([[Special:Diff/145064|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سَنٛتوٗر]] - ([[Special:Diff/145065|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سٍتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[بھَجَن سوپورؠ]] - ([[Special:Diff/145066|فَرَق]]) ==== # <nowiki> بَھ </nowiki><b> -> </b><nowiki>بھَ</nowiki> ==== [[تُمبَکھ نٲر]] - ([[Special:Diff/145067|فَرَق]]) ==== # <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki> ==== [[جۆم تہٕ کٔشیٖر ہِنٛز موٗسیٖقی]] - ([[Special:Diff/145068|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گِٹار]] - ([[Special:Diff/145069|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جۆم تہٕ کٔشیٖر قونوٗن ساز کونسل]] - ([[Special:Diff/145070|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[یُوول نوح ہَراری]] - ([[Special:Diff/145071|فَرَق]]) ==== # <nowiki> سٲتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> مَنز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki> # <nowiki> ئِی </nowiki><b> -> </b><nowiki>ئِی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[مُجتبہ یوٗسُف]] - ([[Special:Diff/145072|فَرَق]]) ==== # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[عابِد مُشتاق]] - ([[Special:Diff/145073|فَرَق]]) ==== # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[راسِکھ سَلام]] - ([[Special:Diff/145074|فَرَق]]) ==== # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[گارفیلڈ سوبرز]] - ([[Special:Diff/145075|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جدہ ٹاوَر]] - ([[Special:Diff/145076|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> ==== [[اپولو 13]] - ([[Special:Diff/145077|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[کاتالونِیاہٕچ پارلیمینٛٹ]] - ([[Special:Diff/145078|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==20-7-2026== ==== [[بشاکھا گھوش]] - ([[Special:Diff/145187|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> گھر </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> ہندوستانی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> جِہ </nowiki><b> -> </b><nowiki>جہِ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[فارسی زَبان]] - ([[Special:Diff/145188|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ش. </nowiki><b> -> </b><nowiki>ش۔</nowiki> ==== [[مِصری عَجٲیِب گرٕ]] - ([[Special:Diff/145189|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گھر </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> گھرن </nowiki><b> -> </b><nowiki>گرن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مجموعہٕ </nowiki><b> -> </b><nowiki>سۆمبرُن</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ع. </nowiki><b> -> </b><nowiki>ع۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[خوفو]] - ([[Special:Diff/145190|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[تاج مَحل]] - ([[Special:Diff/145191|فَرَق]]) ==== # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> ==== [[گیٖزاہُک عظیٖم اہرام]] - ([[Special:Diff/145192|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> اندرونی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki> # <nowiki> مقامی </nowiki><b> -> </b><nowiki>مُقٲمی</nowiki> # <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[دانُری]] - ([[Special:Diff/145193|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کرِٛسٹوفر نولن]] - ([[Special:Diff/145194|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[دی نیویارک ٹایمز]] - ([[Special:Diff/145195|فَرَق]]) ==== # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹام ہالینٛڈ]] - ([[Special:Diff/145196|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[سیکسوفون]] - ([[Special:Diff/145197|فَرَق]]) ==== # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[پونٛٹ ڈیل ڈیبل]] - ([[Special:Diff/145198|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گولڈن گیٹ کٔدٕل]] - ([[Special:Diff/145199|فَرَق]]) ==== # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[رِچمَنٛڈ-سان رافیل کٔدٕل]] - ([[Special:Diff/145200|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[کملا ہیرِس]] - ([[Special:Diff/145201|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گِٹار]] - ([[Special:Diff/145202|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==21-7-2026== ==== [[زابیواکا]] - ([[Special:Diff/145280|فَرَق]]) ==== # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[میپل، زایوٗ تہٕ کلچ]] - ([[Special:Diff/145281|فَرَق]]) ==== # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2026 فیٖفا عالمی کپ]] - ([[Special:Diff/145282|فَرَق]]) ==== # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> ==== [[ہِروکی اِتو]] - ([[Special:Diff/145283|فَرَق]]) ==== # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> ==== [[دِلہِ پُلیٖس]] - ([[Special:Diff/145284|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اینٛڈی برنہم]] - ([[Special:Diff/145285|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> محفوظ </nowiki><b> -> </b><nowiki>مۄحفوٗظ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[1989 تیانانمین چوکُک احتِجاج تہٕ قتلِ عام]] - ([[Special:Diff/145286|فَرَق]]) ==== # <nowiki> آزادی </nowiki><b> -> </b><nowiki> آزادی</nowiki> # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[فارسی زَبان]] - ([[Special:Diff/145287|فَرَق]]) ==== # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> ==== [[ناے]] - ([[Special:Diff/145288|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki> ==== [[2026 دِلہِ جنتر منتر احتِجاج]] - ([[Special:Diff/145289|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کناٹ پٕلیس، نٔو دِل]] - ([[Special:Diff/145290|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki> # <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[جنتر منتر، نٔو دِل]] - ([[Special:Diff/145291|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[چناب ٹایمز فاؤنڈیشن]] - ([[Special:Diff/145292|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==22-7-2026== ==== [[کیلی ہوٹل]] - ([[Special:Diff/145374|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اسؠ سأری موٗدؠ]] - ([[Special:Diff/145375|فَرَق]]) ==== # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[5]] - ([[Special:Diff/145376|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[2026]] - ([[Special:Diff/145377|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[سینے لامنس]] - ([[Special:Diff/145378|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سپین قومی فُٹ بال ٹیٖم]] - ([[Special:Diff/145379|فَرَق]]) ==== # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ایسٹاڈیو ایزٹیکا]] - ([[Special:Diff/145380|فَرَق]]) ==== # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2018]] - ([[Special:Diff/145381|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[2019]] - ([[Special:Diff/145382|فَرَق]]) ==== # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[لوٗمین مٲدان]] - ([[Special:Diff/145383|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[ہارڈ راک سٹیڈیم]] - ([[Special:Diff/145384|فَرَق]]) ==== # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> ==== [[وَنپٕلے]] - ([[Special:Diff/145385|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹی وی آر اَے]] - ([[Special:Diff/145386|فَرَق]]) ==== # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[تُرکِش ریڈیو تہٕ ٹیلی وِجَن کارپوریشن]] - ([[Special:Diff/145387|فَرَق]]) ==== # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[فاکس سپورٹس]] - ([[Special:Diff/145388|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[بیٚل میٖڈیا]] - ([[Special:Diff/145390|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اِختیارٕچ رِکھ]] - ([[Special:Diff/145391|فَرَق]]) ==== # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==23-7-2026== ==== [[2021 تٲمِل ناڈوٗ قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/145466|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[مَحموٗد گٲمی]] - ([[Special:Diff/145467|فَرَق]]) ==== # <nowiki> اردو </nowiki><b> -> </b><nowiki>اُردوٗ</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> سنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki> # <nowiki> شاعری </nowiki><b> -> </b><nowiki>شٲیری</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> کرنہ </nowiki><b> -> </b><nowiki>کَرنہٕ</nowiki> # <nowiki> کھوتہ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> وژن </nowiki><b> -> </b><nowiki>وِجَن</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[13ہِم جۆم تہٕ کٔشیٖر ایٚسمبلی]] - ([[Special:Diff/145468|فَرَق]]) ==== # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> ==== [[کٲشِرؠ کھؠنَن ہِنٛز فہرست]] - ([[Special:Diff/145469|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ِ. </nowiki><b> -> </b><nowiki>ِ۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جارج آر آر مارٹِن]] - ([[Special:Diff/145470|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جیٚف بیزوس]] - ([[Special:Diff/145471|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَنَتھ ناگ]] - ([[Special:Diff/145472|فَرَق]]) ==== # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> کِہ </nowiki><b> -> </b><nowiki>کہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[فِلِم فییَر یَنام بہتٔریٖن سہارٕ اداکار خٲطرٕ]] - ([[Special:Diff/145473|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==24-7-2026== ==== [[فَلسطیٖنی آزٲدی تَنظیٖم]] - ([[Special:Diff/145566|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سیف علی خان]] - ([[Special:Diff/145567|فَرَق]]) ==== # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==== [[اِسرٲیِلی بَچاو فوج]] - ([[Special:Diff/145568|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> خ. </nowiki><b> -> </b><nowiki>خ۔</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بابر کرٛوٗز میزایِل]] - ([[Special:Diff/145569|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کورین برٛوڈکاسٹِنٛگ سِسٹم]] - ([[Special:Diff/145570|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> سٕند </nowiki><b> -> </b><nowiki>سٟنٛد</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> ضروری </nowiki><b> -> </b><nowiki>ضۆروٗری</nowiki> # <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki> # <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اےکے-47]] - ([[Special:Diff/145571|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> ==== [[مَحموٗد گٲمی]] - ([[Special:Diff/145572|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[جورہاٹ]] - ([[Special:Diff/145573|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> بھارتی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[نیہا بورا]] - ([[Special:Diff/145574|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[دھرمیندر پرَٛدھان]] - ([[Special:Diff/145575|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سِرؠ‌یہِ منڈُل]] - ([[Special:Diff/145576|فَرَق]]) ==== # <nowiki> ؠ. </nowiki><b> -> </b><nowiki>ؠ۔</nowiki> ==== [[مییو کِلینِک]] - ([[Special:Diff/145577|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گھرٕ </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> ==25-7-2026== ==== [[جۆنوٗبی ایشیاہٕچ معشیت]] - ([[Special:Diff/145720|فَرَق]]) ==== # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جۆم تہٕ کٔشیٖر حکوٗمت]] - ([[Special:Diff/145721|فَرَق]]) ==== # <nowiki> آئین </nowiki><b> -> </b><nowiki>ٲییٖن</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[جۆم تہٕ کٔشیٖر ایڈمنسٹریٹو سٔروِس]] - ([[Special:Diff/145722|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اوڈیسی (ویٖڈیو پلیٹ فارم)]] - ([[Special:Diff/145723|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کاتالان سۆتھُر]] - ([[Special:Diff/145724|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> ==== [[ٹیمز دٔرؠ‌یاو]] - ([[Special:Diff/145725|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[لندنُک بَنٛدَرگاہ]] - ([[Special:Diff/145726|فَرَق]]) ==== # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ُ. </nowiki><b> -> </b><nowiki>ُ۔</nowiki> ==== [[لاس اینٛجلسُک بَنٛدَرگاہ]] - ([[Special:Diff/145727|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[عام آدمی پارٹی]] - ([[Special:Diff/145728|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سِیٲسی ٹَسنہٕ]] - ([[Special:Diff/145729|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[دھرمیندر پرَٛدھان]] - ([[Special:Diff/145730|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki> ==== [[جامع مسجد، سرینگر]] - ([[Special:Diff/145731|فَرَق]]) ==== # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> ==== [[جموں و کشمیر پیپلٕز ڈیموکریٹِک پارٹی]] - ([[Special:Diff/145733|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[لوٗسی اہریش]] - ([[Special:Diff/145734|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki> # <nowiki> ٹیلی ویژنس </nowiki><b> -> </b><nowiki>ٹیلی وِجنس</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki> ==== [[ژاچی ہَلیوی]] - ([[Special:Diff/145735|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki> ==== [[ژِپی شَویٖت]] - ([[Special:Diff/145736|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> ==== [[ہایڈرٛوکلورِک ایسِڈ]] - ([[Special:Diff/145737|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[ریمِنٛگٹن ماڈَل 1100]] - ([[Special:Diff/145738|فَرَق]]) ==== # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==== [[جموں اینٛڈ کشمیٖر پیپلز کانفرنس]] - ([[Special:Diff/145739|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[شیٚن]] - ([[Special:Diff/145740|فَرَق]]) ==== # <nowiki> ێ </nowiki><b> -> </b><nowiki>یٚ</nowiki> ==== [[زمیٖن]] - ([[Special:Diff/145741|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[زوٗن]] - ([[Special:Diff/145742|فَرَق]]) ==== # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[کورین برٛوڈکاسٹِنٛگ سِسٹم]] - ([[Special:Diff/145743|فَرَق]]) ==== # <nowiki> دُنیاہٕکؠ </nowiki><b> -> </b><nowiki>دُنؠ‌یاہٕکؠ</nowiki> ==26-7-2026== ==== [[اونتی پور اِیَر فورس سٹیشن]] - ([[Special:Diff/145917|فَرَق]]) ==== # <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[اِیَربَس اے220]] - ([[Special:Diff/145918|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[برٛینٛڈَن آیِک]] - ([[Special:Diff/145919|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جاوا سِکرِپٹ]] - ([[Special:Diff/145920|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[پایتھَن (پرٛوگرامِنٛگ زَبان)]] - ([[Special:Diff/145921|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[ایچ اے ایل تیجس]] - ([[Special:Diff/145922|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[چیٖنٕچ معشیت]] - ([[Special:Diff/145923|فَرَق]]) ==== # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> مُلک </nowiki><b> -> </b><nowiki>مُلُک</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اَمریٖکٕچ معشیت]] - ([[Special:Diff/145924|فَرَق]]) ==== # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> ==== [[بَنٛگلہ دیشٕچ معشیت]] - ([[Special:Diff/145925|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki> # <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہس</nowiki> # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> ==== [[بویِنٛگ 747]] - ([[Special:Diff/145926|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اِیَربَس اے380]] - ([[Special:Diff/145927|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[مَنٛزیُٛم کال]] - ([[Special:Diff/145928|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگ </nowiki><b> -> </b><nowiki>جَنٛگ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki> ==== [[جۆم تہٕ کٔشیٖر ہِنٛز معشیت]] - ([[Special:Diff/145929|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[جاپانٕچ معشیت]] - ([[Special:Diff/145930|فَرَق]]) ==== # <nowiki> انتہائی </nowiki><b> -> </b><nowiki>اِنتِہٲیی</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ترٛامہٕ کال]] - ([[Special:Diff/145931|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[کٲنٛسؠ کال]] - ([[Special:Diff/145932|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[پٲکِستٲنِچ معیشت]] - ([[Special:Diff/145933|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==== [[ہِندوستانٕچ معیشت]] - ([[Special:Diff/145934|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> ==27-7-2026== ==== [[ویٖدِک کال]] - ([[Special:Diff/146045|فَرَق]]) ==== # <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki> # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> صحیح </nowiki><b> -> </b><nowiki>صٔحیٖح</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> م. </nowiki><b> -> </b><nowiki>م۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[جاوا (پرٛوگرٛامِنٛگ زَبان)]] - ([[Special:Diff/146046|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ورژن </nowiki><b> -> </b><nowiki>ؤرجَن</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> کِہ </nowiki><b> -> </b><nowiki>کہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[یوٗ سی براؤزر]] - ([[Special:Diff/146047|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==== [[ایٖرانٕچ معیشت]] - ([[Special:Diff/146048|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہُک</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> گھر </nowiki><b> -> </b><nowiki>گرٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[قراقرم مَہوَتھ]] - ([[Special:Diff/146049|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠ‌یاہک</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[گوٗگُل ڈیٖپ مایِنٛڈ]] - ([[Special:Diff/146050|فَرَق]]) ==== # <nowiki> ڈویژنس </nowiki><b> -> </b><nowiki>ڈِویجَنس</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈیمس ہسابس]] - ([[Special:Diff/146051|فَرَق]]) ==== # <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> بَھ </nowiki><b> -> </b><nowiki>بھَ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سافٹ ویر زٲژ]] - ([[Special:Diff/146052|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[برٛایِن وِلسن]] - ([[Special:Diff/146053|فَرَق]]) ==== # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سینٹینیلا ہسپتال میڈیکل سینٹر]] - ([[Special:Diff/146054|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گوٗگُل فوٹوز]] - ([[Special:Diff/146055|فَرَق]]) ==== # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki> # <nowiki> ٘ </nowiki><b> -> </b><nowiki>ٚ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[گوٗگُل ترجمہٕ]] - ([[Special:Diff/146056|فَرَق]]) ==== # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[گوٗگُل کروٗم]] - ([[Special:Diff/146057|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[سَبوے سرفرز]] - ([[Special:Diff/146058|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹیمپٕل رن]] - ([[Special:Diff/146059|فَرَق]]) ==== # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> ==== [[وٹس ایپ]] - ([[Special:Diff/146060|فَرَق]]) ==== # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> ھ. </nowiki><b> -> </b><nowiki>ھ۔</nowiki> ==== [[مایکروسافٹ ونڈوز]] - ([[Special:Diff/146061|فَرَق]]) ==== # <nowiki> ٹ. </nowiki><b> -> </b><nowiki>ٹ۔</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> ==== [[دربار مو]] - ([[Special:Diff/146062|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> چِہ </nowiki><b> -> </b><nowiki>چہِ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[کمبوجہ]] - ([[Special:Diff/146063|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جنگن </nowiki><b> -> </b><nowiki>جَنٛگن</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki> # <nowiki> صحیح </nowiki><b> -> </b><nowiki>صٔحیٖح</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اَشوک]] - ([[Special:Diff/146064|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[اِنٛڈین انسٹی ٹیوٹ آف سِکیٖنٛگ اینٛڈ ماونٛٹینیرِنٛگ]] - ([[Special:Diff/146065|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠ‌یاہَس</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈوٗگٕرؠ لوٗکھ]] - ([[Special:Diff/146066|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[جۆم تہٕ کٔشیٖر فُٹ بال ایسوسی ایشن]] - ([[Special:Diff/146067|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[اَبھِجیٖت دِپکے]] - ([[Special:Diff/146068|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> ==== [[جاپانٕچ معشیت]] - ([[Special:Diff/146069|فَرَق]]) ==== # <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> ==28-7-2026== ==== [[بی ایم ڈبلیٛو ایس1000آرآر]] - ([[Special:Diff/146163|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ڈُکاٹی مونسٹر]] - ([[Special:Diff/146164|فَرَق]]) ==== # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بَراک اوبامہ]] - ([[Special:Diff/146165|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> ==== [[لویی پارٹرِج]] - ([[Special:Diff/146166|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> ==== [[مٔہِنٛدرٛا تھار]] - ([[Special:Diff/146167|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ے. </nowiki><b> -> </b><nowiki>ے۔</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> ==== [[رولز رویِس فینٹم ٲٹھِم]] - ([[Special:Diff/146168|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> لگژری </nowiki><b> -> </b><nowiki>لَگجَری</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[فورد موٹر کمپنی]] - ([[Special:Diff/146169|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران ==== [[فورڈ ایف-سیریٖز]] - ([[Special:Diff/146170|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> پرچم </nowiki><b> -> </b><nowiki>جَنٛڈٕ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[وولکس ویگن بیٖٹل]] - ([[Special:Diff/146171|فَرَق]]) ==== # <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki> # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> دعویٰ </nowiki><b> -> </b><nowiki>دعوا</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> مجموعہٕ </nowiki><b> -> </b><nowiki>سۆمبرُن</nowiki> # <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki> # <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[نِکولاس مادُرو]] - ([[Special:Diff/146172|فَرَق]]) ==== # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[ٹیٚسلا سایبر ٹرَٛک]] - ([[Special:Diff/146173|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki> # <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==29-7-2026== ==== [[تادے پۄگاچار]] - ([[Special:Diff/146267|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[اپالاچی ہایی سکوٗل]] - ([[Special:Diff/146268|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[2024 اپالاچی ہایی سکوٗل گولہِ حملہٕ]] - ([[Special:Diff/146269|فَرَق]]) ==== # <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki> # <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> # <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[2026 آزاد کٔشیٖر احتِجاج]] - ([[Special:Diff/146270|فَرَق]]) ==== # <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> # <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[بَلتی زَبان]] - ([[Special:Diff/146271|فَرَق]]) ==== # <nowiki> اردو </nowiki><b> -> </b><nowiki>اُردوٗ</nowiki> # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پاکستانی </nowiki><b> -> </b><nowiki> پٲکِستٲنؠ</nowiki> # <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki> ==== [[سینٹرل اِنسٹیٹیوٹ آف بُدھِسٹ سٕٹَڈیٖز]] - ([[Special:Diff/146272|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> دوا </nowiki><b> -> </b><nowiki>دَوا</nowiki> # <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki> # <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki> # <nowiki> ٘ </nowiki><b> -> </b><nowiki>ٚ</nowiki> ==== [[ایس اَے جی سویِر ایس اَے جی ایم 400]] - ([[Special:Diff/146273|فَرَق]]) ==== # <nowiki> ق. </nowiki><b> -> </b><nowiki>ق۔</nowiki> ==== [[آل اِنٛڈیا کشمیٖر کمیٹی]] - ([[Special:Diff/146274|فَرَق]]) ==== # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[بَلتی لوٗکھ]] - ([[Special:Diff/146275|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki> # <nowiki> ضلعس </nowiki><b> -> </b><nowiki>ضِلس</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> ==== [[جَنٛگٕلؠ بیٛٲر]] - ([[Special:Diff/146276|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki> # <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki> # <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki> # <nowiki> ؠ. </nowiki><b> -> </b><nowiki>ؠ۔</nowiki> # <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠ‌مٕتؠ</nowiki> ==== [[رایَل ایٚنفیٖلڈ بُلیٚٹ]] - ([[Special:Diff/146277|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> ==== [[بازنطینی سلطنت]] - ([[Special:Diff/146278|فَرَق]]) ==== # <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki> # <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki> # <nowiki> جنگن </nowiki><b> -> </b><nowiki>جَنٛگن</nowiki> # <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki> # <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki> # <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠ‌یا</nowiki> # <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki> # <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki> # <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki> # <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki> # <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki> r3h78uhwn9txzwf0pd09zf3eshirhgt 2026 دِلہِ جنتر منتر احتِجاج 0 31641 146328 145992 2026-07-30T04:00:25Z CommonsDelinker 131 Removing [[:c:File:Protestors_at_Jantar_Mantar.jpg|Protestors_at_Jantar_Mantar.jpg]], it has been deleted from Commons by [[:c:User:Krd|Krd]] because: No permission since 22 July 2026. 146328 wikitext text/x-wiki {{مولوٗماتھ | تَصویٖر = Null.png | bgcolor = #cdeeff | data2a = {{flagicon|India}} [[ہِندوستٲنؠ سرکار]] {{bullet list |[[وزارت تٲلیٖم (ہِندوستان)|وزارت تٲلیٖم]] |[[دِلہِ پُلیٖس]] |سی آر پی ایف }} | data2b = {{bulleted list |[[File:Cockroach Janta Party logo.svg|25px]] [[کاکروچ جنتا پارٹی]] | [[File:AISF Flag.svg|25x25px]] [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] | [[File:SFI-flag.svg|25x25px]] [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]] | [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] | [[بھیٖم آرمی]] }} | customheader2 = جَمٲژٕ | label1 = حیثیت | data1 = [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم | data3a = {{bullet list |{{flagdeco|India}} [[نریندر مودی]] |{{flagdeco|India}} [[اَمِت شاہ]] |{{flagdeco|India}} [[دھرمیندر پرَٛدھان]] }} | customheader3 = رَہنُمٲیی شخصیت | data3b = {{bullet list |[[File:Cockroach Janta Party logo.svg|25px]] [[سونم وانٛگچُک]] |[[File:Cockroach Janta Party logo.svg|25px]] [[ابھِجیٖت دِپکے]] | [[نیہا بورا]] }} | تَصویٖر_تَفصیٖل = {{Multiple image | total_width = 300 | perrow = 2 | border = infobox | image1 = CJP Protestors holding Bhagat Singh posters.jpg | image2 =| image3 =| image4 =}} }} 6 جوٗن 2026 پیٹھٕ چھِ [[کاکروچ جنتا پارٹی]] (سی جے پی)، اَکھ ہِنٛدُستٲنؠ نوجوانَن پؠٹھ مبنی [[سِیٲسی ٹَسنہٕ|ٹَسنہٕ سیٲسی تحریٖک]] یۄسہٕ [[اَبھِجیٖت دِپکے]] سٕنٛدِ دٔسؠ قٲیِم کٔرمٕژ چھِ، چھِ [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]]، [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] تہٕ [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] ہِشہِ طٲلبہِ عٔلمہِ تنظیمَن سٟتؠ نیہِ دِلہِ ہِنٛدِس [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز سِلسِلہٕ احتجاج کران۔<ref name="bbc2">{{Cite web|last=Pandey|first=Geeta|date=1 July 2026|title=Why India's cockroach protesters are still on the streets in over 40C heat|url=https://www.bbc.com/news/articles/cly0ey5y10qo|access-date=16 July 2026|website=[[BBC News]]|language=en-GB}}</ref>مُظٲہِرین کٔر مرکٔزی وزیرِ تٲلیٖم [[دھرمیندر پرَٛدھان]] تہٕ ؤزیٖر اعظم [[نَرینٛدَر مودی]] سٕنٛدِ [[2026 نیٖٹ تنازٕ|2026 ہُک نیٖٹ پیپر لیٖک]] گژھنَس تہٕ سی بی ایس ای آن سکرین مارکنگ بےٚ قٲعدگی سٟتؠ سٟتؠ عوٲمی امتحانَن ہٕنٛدِس انعقادَس مَنٛز بٔڑِس تر اصلاحاتن پؠٹھ استعیٖفہٕ دِنٕچ منٛگ۔ کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُکن]] سٕنٛدِ طرفہٕ 28 جوٗن احتجاجی جایہِ پؠٹھ غٲر معینہ کال خٲطرٕ فاقہٕ ہڑتال شۆروٗع کرنہٕ پتہٕ کٔر احتجاجَن قومی توجہ پانس کُن پھِرِتھ۔<ref name="bbc3">{{cite web|last=Pandey|first=Geeta|date=16 July 2026|title=Indian activist urged to end hunger strike as he loses 9.1kg in 19 days|url=https://www.bbc.com/news/articles/crm0mg4z7edo|url-status=live|archive-url=https://web.archive.org/web/20260718084943/https://www.bbc.com/news/articles/crm0mg4z7edo|archive-date=18 July 2026|access-date=18 July 2026|website=[[BBC News]]}}</ref> اِبتِدٲیی سوشل میٖڈیا تحریٖک یَتھ کاکروچ جنتا پارٹی ناوٕ سٟتؠ زاننہٕ چھِ یِوان چھِ میی 2026 ہَس مَنٛز ڈِجٹَل کمیونیکیشن حکمت عملی مٲہر ابھیجیت دیپکے یَن سیٲسی طنز پٲٹھؠ بَنٲومٕژ۔ یہِ ناو چھُ ہندوستانٕکؠ چیٖف جسٹس [[سوٗریہ کانٛت]] سٕنٛدِس أکِس بیانَس کُن اِشارٕ کَران، یٔمؠ بےٚ روزگار نوجوانَن تہٕ سوشل میٖڈیا کارکُنَن ہُنٛد موازنہٕ "[[تِلٕکؠوٚم|وٹِل]]" تہٕ "[[پَرزُوُت|پَرزیٖوَن]]" سٟتؠ کوٚرمُت۔ آن لایِن بٔڑِس پیمانَس پؠٹھ مشہوٗری حٲصِل کرنہٕ پتہٕ گٔیہِ یہِ تحریٖک آف لایِن مُظٲہرَن مَنٛز تبدیٖل، یِمَن [[دِلہِ پُلیٖس|دِلہِ پُلیٖسَن]] اِجازت دِیُت۔ 28 جوٗن 2026 گٔیہِ احتجاجٕچ حرکِیت تَمہِ وِزِ بدلییہِ ییٚلہِ لداخہِ مٲہرِ ماحولیات تہٕ تٲلیٖمی کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُک]] [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز مُظٲہرَس مَنٛز شٲمِل گوٚو۔ تٔمؠ کٔر غٲر معینہٕ کال تام فاقہٕ ہڑتال شۆروٗع، یَتھ مَنٛز بٔڑؠ ہجوٗم تہٕ مُختٔلِف جمٲژ شٲمِل ٲسؠ‌، یِمن مَنٛز بُزرگ شہری تہٕ شہری تنظیمہٕ شٲمِل ٲسؠ‌، تہٕ پارلیمنٹَس کُن مارٕچ کرنُک مطالبہٕ کوٚرُن۔ جُلَے 2026 کِس منٛزس مَنٛز، دِلہِ پُلیٖسس مَنٛز قیادتٕچ تبدیلی پتہٕ، افسَرو ہٹٲوؠ احتجاجی جایہِ پؠٹھ بیریکیڈ تہٕ زبردستی وانٛگچُک ہسپتال مُنتقل۔ امہٕ کارروٲیی، دیپکے سٟتؠ وابستہٕ سیاہی لگاونہٕ کس واقعس سٟتؠ، کٔر میڈیاہک توجہ نوجوانن ہنٛز بےٚ روزگٲری کین احتجاج تہٕ بٔڑ مسٲیلن کُن پانس کُن پھیٖرِن۔<ref name=":2">{{Cite news|date=15 July 2026|title='Atmosphere of intimidation': PIL in Delhi high court questions continuous surveillance of Jantar Mantar protesters|url=https://timesofindia.indiatimes.com/city/delhi/atmosphere-of-intimidation-pil-in-delhi-high-court-questions-continuous-surveillance-of-jantar-mantar-protesters/articleshow/132419094.cms|access-date=17 July 2026|work=[[The Times of India]]|issn=0971-8257}}</ref> اَتھ وقتس دوران گٔیہِ واریاہ کٲشِرؠ سِیاسَت دان خاص کر نیشنل کانفرنسٕکؠ رکن تہٕ جۆم تہٕ کٔشیٖر ہُنٛد ؤزیٖرِ اعظم [[عمر عبداللہ]] تہِ جنتر منترَس پؠٹھ تہٕ کٔرٕکھ احتِجاج شۆروٗع زِ جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقس) گوٚژھ واپس رِیاستُک درجہٕ دِنہٕ یُن۔<ref>{{ویب حَوالہٕ|last=Desk|first=GK Video|title=Democracy being strangled; we were denied a peaceful protest for J&K statehood: CM Omar|url=https://www.greaterkashmir.com/videos/democracy-being-strangled-we-were-denied-a-peaceful-protest-for-jk-statehood-cm-omar-12181100|access-date=2026-07-21|website=www.greaterkashmir.com|language=en}}</ref> [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم ==حَوالہٕ== [[زٲژ:2026 واقعات]] [[زٲژ:ہِندوستان]] 7pbvy1rnb10ard6k09jojx7vyil803s 146332 146328 2026-07-30T07:11:06Z CommonsDelinker 131 Removing [[:c:File:CJP_Protestors_holding_Bhagat_Singh_posters.jpg|CJP_Protestors_holding_Bhagat_Singh_posters.jpg]], it has been deleted from Commons by [[:c:User:Shaan Sengupta|Shaan Sengupta]] because: [[:c:COM:NETCOPYRIGHT|Copyright violation]], found 146332 wikitext text/x-wiki {{مولوٗماتھ | تَصویٖر = Null.png | bgcolor = #cdeeff | data2a = {{flagicon|India}} [[ہِندوستٲنؠ سرکار]] {{bullet list |[[وزارت تٲلیٖم (ہِندوستان)|وزارت تٲلیٖم]] |[[دِلہِ پُلیٖس]] |سی آر پی ایف }} | data2b = {{bulleted list |[[File:Cockroach Janta Party logo.svg|25px]] [[کاکروچ جنتا پارٹی]] | [[File:AISF Flag.svg|25x25px]] [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] | [[File:SFI-flag.svg|25x25px]] [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]] | [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] | [[بھیٖم آرمی]] }} | customheader2 = جَمٲژٕ | label1 = حیثیت | data1 = [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم | data3a = {{bullet list |{{flagdeco|India}} [[نریندر مودی]] |{{flagdeco|India}} [[اَمِت شاہ]] |{{flagdeco|India}} [[دھرمیندر پرَٛدھان]] }} | customheader3 = رَہنُمٲیی شخصیت | data3b = {{bullet list |[[File:Cockroach Janta Party logo.svg|25px]] [[سونم وانٛگچُک]] |[[File:Cockroach Janta Party logo.svg|25px]] [[ابھِجیٖت دِپکے]] | [[نیہا بورا]] }} | تَصویٖر_تَفصیٖل = {{Multiple image | total_width = 300 | perrow = 2 | border = infobox | image1 =| image2 =| image3 =| image4 =}} }} 6 جوٗن 2026 پیٹھٕ چھِ [[کاکروچ جنتا پارٹی]] (سی جے پی)، اَکھ ہِنٛدُستٲنؠ نوجوانَن پؠٹھ مبنی [[سِیٲسی ٹَسنہٕ|ٹَسنہٕ سیٲسی تحریٖک]] یۄسہٕ [[اَبھِجیٖت دِپکے]] سٕنٛدِ دٔسؠ قٲیِم کٔرمٕژ چھِ، چھِ [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]]، [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] تہٕ [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] ہِشہِ طٲلبہِ عٔلمہِ تنظیمَن سٟتؠ نیہِ دِلہِ ہِنٛدِس [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز سِلسِلہٕ احتجاج کران۔<ref name="bbc2">{{Cite web|last=Pandey|first=Geeta|date=1 July 2026|title=Why India's cockroach protesters are still on the streets in over 40C heat|url=https://www.bbc.com/news/articles/cly0ey5y10qo|access-date=16 July 2026|website=[[BBC News]]|language=en-GB}}</ref>مُظٲہِرین کٔر مرکٔزی وزیرِ تٲلیٖم [[دھرمیندر پرَٛدھان]] تہٕ ؤزیٖر اعظم [[نَرینٛدَر مودی]] سٕنٛدِ [[2026 نیٖٹ تنازٕ|2026 ہُک نیٖٹ پیپر لیٖک]] گژھنَس تہٕ سی بی ایس ای آن سکرین مارکنگ بےٚ قٲعدگی سٟتؠ سٟتؠ عوٲمی امتحانَن ہٕنٛدِس انعقادَس مَنٛز بٔڑِس تر اصلاحاتن پؠٹھ استعیٖفہٕ دِنٕچ منٛگ۔ کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُکن]] سٕنٛدِ طرفہٕ 28 جوٗن احتجاجی جایہِ پؠٹھ غٲر معینہ کال خٲطرٕ فاقہٕ ہڑتال شۆروٗع کرنہٕ پتہٕ کٔر احتجاجَن قومی توجہ پانس کُن پھِرِتھ۔<ref name="bbc3">{{cite web|last=Pandey|first=Geeta|date=16 July 2026|title=Indian activist urged to end hunger strike as he loses 9.1kg in 19 days|url=https://www.bbc.com/news/articles/crm0mg4z7edo|url-status=live|archive-url=https://web.archive.org/web/20260718084943/https://www.bbc.com/news/articles/crm0mg4z7edo|archive-date=18 July 2026|access-date=18 July 2026|website=[[BBC News]]}}</ref> اِبتِدٲیی سوشل میٖڈیا تحریٖک یَتھ کاکروچ جنتا پارٹی ناوٕ سٟتؠ زاننہٕ چھِ یِوان چھِ میی 2026 ہَس مَنٛز ڈِجٹَل کمیونیکیشن حکمت عملی مٲہر ابھیجیت دیپکے یَن سیٲسی طنز پٲٹھؠ بَنٲومٕژ۔ یہِ ناو چھُ ہندوستانٕکؠ چیٖف جسٹس [[سوٗریہ کانٛت]] سٕنٛدِس أکِس بیانَس کُن اِشارٕ کَران، یٔمؠ بےٚ روزگار نوجوانَن تہٕ سوشل میٖڈیا کارکُنَن ہُنٛد موازنہٕ "[[تِلٕکؠوٚم|وٹِل]]" تہٕ "[[پَرزُوُت|پَرزیٖوَن]]" سٟتؠ کوٚرمُت۔ آن لایِن بٔڑِس پیمانَس پؠٹھ مشہوٗری حٲصِل کرنہٕ پتہٕ گٔیہِ یہِ تحریٖک آف لایِن مُظٲہرَن مَنٛز تبدیٖل، یِمَن [[دِلہِ پُلیٖس|دِلہِ پُلیٖسَن]] اِجازت دِیُت۔ 28 جوٗن 2026 گٔیہِ احتجاجٕچ حرکِیت تَمہِ وِزِ بدلییہِ ییٚلہِ لداخہِ مٲہرِ ماحولیات تہٕ تٲلیٖمی کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُک]] [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز مُظٲہرَس مَنٛز شٲمِل گوٚو۔ تٔمؠ کٔر غٲر معینہٕ کال تام فاقہٕ ہڑتال شۆروٗع، یَتھ مَنٛز بٔڑؠ ہجوٗم تہٕ مُختٔلِف جمٲژ شٲمِل ٲسؠ‌، یِمن مَنٛز بُزرگ شہری تہٕ شہری تنظیمہٕ شٲمِل ٲسؠ‌، تہٕ پارلیمنٹَس کُن مارٕچ کرنُک مطالبہٕ کوٚرُن۔ جُلَے 2026 کِس منٛزس مَنٛز، دِلہِ پُلیٖسس مَنٛز قیادتٕچ تبدیلی پتہٕ، افسَرو ہٹٲوؠ احتجاجی جایہِ پؠٹھ بیریکیڈ تہٕ زبردستی وانٛگچُک ہسپتال مُنتقل۔ امہٕ کارروٲیی، دیپکے سٟتؠ وابستہٕ سیاہی لگاونہٕ کس واقعس سٟتؠ، کٔر میڈیاہک توجہ نوجوانن ہنٛز بےٚ روزگٲری کین احتجاج تہٕ بٔڑ مسٲیلن کُن پانس کُن پھیٖرِن۔<ref name=":2">{{Cite news|date=15 July 2026|title='Atmosphere of intimidation': PIL in Delhi high court questions continuous surveillance of Jantar Mantar protesters|url=https://timesofindia.indiatimes.com/city/delhi/atmosphere-of-intimidation-pil-in-delhi-high-court-questions-continuous-surveillance-of-jantar-mantar-protesters/articleshow/132419094.cms|access-date=17 July 2026|work=[[The Times of India]]|issn=0971-8257}}</ref> اَتھ وقتس دوران گٔیہِ واریاہ کٲشِرؠ سِیاسَت دان خاص کر نیشنل کانفرنسٕکؠ رکن تہٕ جۆم تہٕ کٔشیٖر ہُنٛد ؤزیٖرِ اعظم [[عمر عبداللہ]] تہِ جنتر منترَس پؠٹھ تہٕ کٔرٕکھ احتِجاج شۆروٗع زِ جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقس) گوٚژھ واپس رِیاستُک درجہٕ دِنہٕ یُن۔<ref>{{ویب حَوالہٕ|last=Desk|first=GK Video|title=Democracy being strangled; we were denied a peaceful protest for J&K statehood: CM Omar|url=https://www.greaterkashmir.com/videos/democracy-being-strangled-we-were-denied-a-peaceful-protest-for-jk-statehood-cm-omar-12181100|access-date=2026-07-21|website=www.greaterkashmir.com|language=en}}</ref> [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم ==حَوالہٕ== [[زٲژ:2026 واقعات]] [[زٲژ:ہِندوستان]] 61p4z23p65kdcxt40a6ycsjbdbudrf6 146378 146332 2026-07-30T11:36:27Z آیات محراج 11062 /* */ 146378 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = #cdeeff | data2a = {{flagicon|India}} [[ہِندوستٲنؠ سرکار]] {{bullet list |[[وزارت تٲلیٖم (ہِندوستان)|وزارت تٲلیٖم]] |[[دِلہِ پُلیٖس]] |سی آر پی ایف }} | data2b = {{bulleted list |[[File:Cockroach Janta Party logo.svg|25px]] [[کاکروچ جنتا پارٹی]] | [[File:AISF Flag.svg|25x25px]] [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] | [[File:SFI-flag.svg|25x25px]] [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]] | [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] | [[بھیٖم آرمی]] }} | customheader2 = جَمٲژٕ | label1 = حیثیت | data1 = [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم | data3a = {{bullet list |{{flagdeco|India}} [[نریندر مودی]] |{{flagdeco|India}} [[اَمِت شاہ]] |{{flagdeco|India}} [[دھرمیندر پرَٛدھان]] }} | customheader3 = رَہنُمٲیی شخصیت | data3b = {{bullet list |[[File:Cockroach Janta Party logo.svg|25px]] [[سونم وانٛگچُک]] |[[File:Cockroach Janta Party logo.svg|25px]] [[ابھِجیٖت دِپکے]] | [[نیہا بورا]] }} }} 6 جوٗن 2026 پیٹھٕ چھِ [[کاکروچ جنتا پارٹی]] (سی جے پی)، اَکھ ہِنٛدُستٲنؠ نوجوانَن پؠٹھ مبنی [[سِیٲسی ٹَسنہٕ|ٹَسنہٕ سیٲسی تحریٖک]] یۄسہٕ [[اَبھِجیٖت دِپکے]] سٕنٛدِ دٔسؠ قٲیِم کٔرمٕژ چھِ، چھِ [[سُٹوڈنٹس فیڈریشن آف اِنٛڈیا]]، [[آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن]] تہٕ [[آل اِنٛڈیا سُٹوڈنٹس فیڈریشن]] ہِشہِ طٲلبہِ عٔلمہِ تنظیمَن سٟتؠ نیہِ دِلہِ ہِنٛدِس [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز سِلسِلہٕ احتجاج کران۔<ref name="bbc2">{{Cite web|last=Pandey|first=Geeta|date=1 July 2026|title=Why India's cockroach protesters are still on the streets in over 40C heat|url=https://www.bbc.com/news/articles/cly0ey5y10qo|access-date=16 July 2026|website=[[BBC News]]|language=en-GB}}</ref>مُظٲہِرین کٔر مرکٔزی وزیرِ تٲلیٖم [[دھرمیندر پرَٛدھان]] تہٕ ؤزیٖر اعظم [[نَرینٛدَر مودی]] سٕنٛدِ [[2026 نیٖٹ تنازٕ|2026 ہُک نیٖٹ پیپر لیٖک]] گژھنَس تہٕ سی بی ایس ای آن سکرین مارکنگ بےٚ قٲعدگی سٟتؠ سٟتؠ عوٲمی امتحانَن ہٕنٛدِس انعقادَس مَنٛز بٔڑِس تر اصلاحاتن پؠٹھ استعیٖفہٕ دِنٕچ منٛگ۔ کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُکن]] سٕنٛدِ طرفہٕ 28 جوٗن احتجاجی جایہِ پؠٹھ غٲر معینہ کال خٲطرٕ فاقہٕ ہڑتال شۆروٗع کرنہٕ پتہٕ کٔر احتجاجَن قومی توجہ پانس کُن پھِرِتھ۔<ref name="bbc3">{{cite web|last=Pandey|first=Geeta|date=16 July 2026|title=Indian activist urged to end hunger strike as he loses 9.1kg in 19 days|url=https://www.bbc.com/news/articles/crm0mg4z7edo|url-status=live|archive-url=https://web.archive.org/web/20260718084943/https://www.bbc.com/news/articles/crm0mg4z7edo|archive-date=18 July 2026|access-date=18 July 2026|website=[[BBC News]]}}</ref> اِبتِدٲیی سوشل میٖڈیا تحریٖک یَتھ کاکروچ جنتا پارٹی ناوٕ سٟتؠ زاننہٕ چھِ یِوان چھِ میی 2026 ہَس مَنٛز ڈِجٹَل کمیونیکیشن حکمت عملی مٲہر ابھیجیت دیپکے یَن سیٲسی طنز پٲٹھؠ بَنٲومٕژ۔ یہِ ناو چھُ ہندوستانٕکؠ چیٖف جسٹس [[سوٗریہ کانٛت]] سٕنٛدِس أکِس بیانَس کُن اِشارٕ کَران، یٔمؠ بےٚ روزگار نوجوانَن تہٕ سوشل میٖڈیا کارکُنَن ہُنٛد موازنہٕ "[[تِلٕکؠوٚم|وٹِل]]" تہٕ "[[پَرزُوُت|پَرزیٖوَن]]" سٟتؠ کوٚرمُت۔ آن لایِن بٔڑِس پیمانَس پؠٹھ مشہوٗری حٲصِل کرنہٕ پتہٕ گٔیہِ یہِ تحریٖک آف لایِن مُظٲہرَن مَنٛز تبدیٖل، یِمَن [[دِلہِ پُلیٖس|دِلہِ پُلیٖسَن]] اِجازت دِیُت۔ 28 جوٗن 2026 گٔیہِ احتجاجٕچ حرکِیت تَمہِ وِزِ بدلییہِ ییٚلہِ لداخہِ مٲہرِ ماحولیات تہٕ تٲلیٖمی کارکُن [[سونم وانٛگچُک (اِنجیٖنَر)|سونم وانٛگچُک]] [[جنتر منتر، نٔو دِل|جنتر منترَس]] مَنٛز مُظٲہرَس مَنٛز شٲمِل گوٚو۔ تٔمؠ کٔر غٲر معینہٕ کال تام فاقہٕ ہڑتال شۆروٗع، یَتھ مَنٛز بٔڑؠ ہجوٗم تہٕ مُختٔلِف جمٲژ شٲمِل ٲسؠ‌، یِمن مَنٛز بُزرگ شہری تہٕ شہری تنظیمہٕ شٲمِل ٲسؠ‌، تہٕ پارلیمنٹَس کُن مارٕچ کرنُک مطالبہٕ کوٚرُن۔ جُلَے 2026 کِس منٛزس مَنٛز، دِلہِ پُلیٖسس مَنٛز قیادتٕچ تبدیلی پتہٕ، افسَرو ہٹٲوؠ احتجاجی جایہِ پؠٹھ بیریکیڈ تہٕ زبردستی وانٛگچُک ہسپتال مُنتقل۔ امہٕ کارروٲیی، دیپکے سٟتؠ وابستہٕ سیاہی لگاونہٕ کس واقعس سٟتؠ، کٔر میڈیاہک توجہ نوجوانن ہنٛز بےٚ روزگٲری کین احتجاج تہٕ بٔڑ مسٲیلن کُن پانس کُن پھیٖرِن۔<ref name=":2">{{Cite news|date=15 July 2026|title='Atmosphere of intimidation': PIL in Delhi high court questions continuous surveillance of Jantar Mantar protesters|url=https://timesofindia.indiatimes.com/city/delhi/atmosphere-of-intimidation-pil-in-delhi-high-court-questions-continuous-surveillance-of-jantar-mantar-protesters/articleshow/132419094.cms|access-date=17 July 2026|work=[[The Times of India]]|issn=0971-8257}}</ref> اَتھ وقتس دوران گٔیہِ واریاہ کٲشِرؠ سِیاسَت دان خاص کر نیشنل کانفرنسٕکؠ رکن تہٕ جۆم تہٕ کٔشیٖر ہُنٛد ؤزیٖرِ اعظم [[عمر عبداللہ]] تہِ جنتر منترَس پؠٹھ تہٕ کٔرٕکھ احتِجاج شۆروٗع زِ جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقس) گوٚژھ واپس رِیاستُک درجہٕ دِنہٕ یُن۔<ref>{{ویب حَوالہٕ|last=Desk|first=GK Video|title=Democracy being strangled; we were denied a peaceful protest for J&K statehood: CM Omar|url=https://www.greaterkashmir.com/videos/democracy-being-strangled-we-were-denied-a-peaceful-protest-for-jk-statehood-cm-omar-12181100|access-date=2026-07-21|website=www.greaterkashmir.com|language=en}}</ref> [[دھرمیندر پرَٛدھان]] دِیُت 25 جُلَے 2026 اِستیٖفہٕ تہٕ احتِجاج گوٚو ختم ==حَوالہٕ== [[زٲژ:2026 واقعات]] [[زٲژ:ہِندوستان]] 68mkjcgxmtjwtby7eyjo4abie8uzjv9 بازنطینی سلطنت 0 31878 146278 146182 2026-07-29T18:01:16Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146278 wikitext text/x-wiki {{Infobox political geography|v_p18=Eastern Roman Empire 565 CE.svg|v_name=بازطینی سلطنت </br> (330–1453)}} بازنطینی سلطنت ٲس مشرقس مَنٛز رومی سلطنتک تسلسل، یس قسطنطنیہس پؠٹھ مرکوز چھِ، قدیم زمانہٕ کس آخرس پؠٹھ روٗد شَہَر 1453 مَنٛز عثمانین نِش پینہٕ تام جٲری۔ امک شہری ٲس پانس رومی سمجان، تہٕ اِصطلاح "بازنطینی" ٲس صرف امہٕ کہِ زوال پتہٕ لاگو کرنہٕ آمژ۔ قسطنطنیہ گۄڈٕنیُٛک تھٲو 4 مہٕ صدی مَنٛز قسطنطنیہچ بُنیاد تہٕ عیسایت کوٛرن قونوٗنی قرار، یس تھیوڈوسیس I بنوو پتہٕ ریاستی مذہب۔ وقتس سٟتؠ سٟتؠ، یونٲنی بدلہٕ سلطنتچ زبان تہٕ مشرقس مَنٛز چھُ ہیلینسٹک ثقافت غٲلب۔ سلطنت ووت جسٹنین I (527-565) کس دورس مَنٛز پننس علاقایی عروٗجس پؠٹھ، یم اٹلی تہٕ شمالی افریقہ دوبارٕ فتح کٔر تہٕ رومن قانونس مرتب کوٚر، مگر طاعوٗن تہٕ فارسس سٟتؠ زیٖٹھ جَنٛگن ترٛوو یہٕ کمزور۔ یہٕ کمزوری گیہٕ 7 مہٕ صدی مَنٛز درگہٕ ثٲبت، ییلہٕ عربو فتوحات شام، مصر تہٕ ٲخر کار شمالی افریقہ ختم کٔر، یمہٕ سٟتؠ سلطنتچ دولت تہٕ علاقہٕ مستقل طورس پؠٹھ کم گیہٕ۔ امہٕ باوجود، سلطنتن پاننٲو "تھیمز" کہِ اکہِ نیس فوجی انتظامی نظام کہِ ذریع تہٕ پتہٕ آیسورین تہٕ مقدونیایی خاندانن تحت گو دوبارٕ مستحکم تہٕ پھہلاونہٕ، تہٕ 11مہ صدی تام بنییہٕ یورپچ امیر ترین رِیاسَتھ۔ فوجی شکستہٕ پتہٕ گو زوال واپس، ییتھ کیٛن زن مانزیکرٹک جَنٛگ (1071) تہٕ 1204 کہِ تباہ کن ژوٗرم صلیبی جنگہٕ پتہٕ، ییلہٕ قسطنطنیہ آو برطرف کرنہٕ تہٕ سلطنت گیٔؠ مسابقتی یوٗنٲنی تہٕ لٲطینی ریاستن مَنٛز ٹکڑٕ۔ یۄدوَے قسطنطنیہ آو 1261 مَنٛز دوبارٕ قبضہٕ کرنہٕ، مگر بحال شدٕ سلطنتن کٔر نہٕ زانٛہہ حقیٖقی طاقت دوبارٕ حٲصل تہٕ وارٕ وار گیہٕ پھٔہلتھ سلطنت عثمانیہٕ سٟتؠ جذب تہٕ ٲخر کار 1453 مَنٛز گٔیہٕ۔ پننہٕ سیٲسی تٲریخہٕ علاوٕ، سلطنتن تروو اَکھ سرٛوٚن ثقافتی تہٕ ادارٕ جاتی میراث۔ امچ حکومتن ملٲو رومن انتظامی روایات عیسایی مذہبی اختیارس سٟتؠ، تہٕ امک قانونی ضٲبط- خاص طور پأٹھؠ جسٹنینن کارپس جیورس سولس- پورٕ یوٗرپ، روٗس تہٕ امہٕ ہمسایہِ قانونچ شکل۔ بازنطینی فن تہٕ فن تعمیر، یمچ مثال ہاگیا صوفیہ تہٕ مذہبی موزیک تہِ علامتن سٔتؠ، آرتھوڈوکس عیسایی ثقافتچ پہچان بنیی، ییٚلہٕ زن بازنطینی سکالرزو کلاسیکی یوٗنٲنی فلسفہٕ، ساینس تہٕ ادب محفوٗظ تہٕ منتقل کٔر، یمہٕ سٟتؠ اسلامی دُنؠ‌یا تہٕ اطالوی «نۆو زَنَم Renaissance» دۄنونی متٲثر گٔیہٕ۔ سلطنتن کوٚر سلاوِک لوٗکن مَنٛز عیسایت تہٕ پَرُن لؠکھُنپھۄہلاونس مَنٛز تہٕ مرکزی کردار ادا، یمہٕ سٟتؠ سیرلِک اَچھَر ہنٛز ترقی مَنٛز اہم کردار ادا کوٚر۔ قسطنطنیہ کہِ زوال پتہٕ، یہٕ میراث روٗد آرتھوڈوکس عیسایت، روسی "تریم روم" آسنک دعوا تہٕ یوٗنان تہٕ باقی بلقان ریاستن ہنٛز قومی شناختہٕ کہِ ذریع برقرار، یم بازنطینی سلطنت بنیٛو یوٗرَپی تہذیبس پؠٹھ اَکھ پایدار اثر تہٕ رسوٗخ۔<ref>https://en.wikipedia.org/wiki/Byzantine_Empire</ref> == حَوالہٕ == [[زٲژ:تَوٲریٖخ]] 2ej7xktmy6a2yypxzf8y4u2d6hbknrc رایَل ایٚنفیٖلڈ بُلیٚٹ 0 31879 146277 146187 2026-07-29T18:01:11Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146277 wikitext text/x-wiki {{Infobox motorcycle | سعة = {{convert|3.5|impgal|abbr=on}} | العرض = {{convert|750|mm|in||abbr=on}} | الطول = {{convert|2120|mm|in||abbr=on}} | الارتفاع = {{convert|1080|mm|in||abbr=on}} | قاعدة_الإطارات = {{convert|1370|mm|in||abbr=on}} | إنتاج = 1931-ازکال | صلة = [[رایَل ایٚنفیٖلڈ کلاسِک]] }} '''رایَل ایٚنفیٖلڈ بُلیٚٹ''' چھُ اَکھ اوور ہیڈ والو، سنگل سلنڈر، فور سٹروک موٹر سایکل یُس ابتدٲیی طور رایَل ایٚنفیٖلڈَن ریڈڈچ، ووسیسٹر شایر انگلینڈَس مَنٛز بَنوومُت چھُ۔ یہِ چھُ وۄنہِ رایَل ایٚنفیٖلڈَن [[چِنَے]]، تٲمل ناڈوٗ، ہندوستانَس مَنٛز تیار کَران، اَکھ کمپنی یُس اصلی مدراس موٹرزَن ہندوستانَس مَنٛز لاسنہِ تحت رایَل ایٚنفیٖلڈ موٹر سایکل بناونہٕ باپتھ قٲیم کوٚرمُت چھُ۔ رایَل ایٚنفیٖلڈ بُلیٚٹَس مَنٛز چھُ کُنہِ تہِ موٹر سایکلَس ہُنٛد ساروٕے کھۄتہٕ زیوٗٹھ تہٕ غٲر تبدیٖل پٲداوارُک دور یُس 1932 پؠٹھٕ لگاتار پٲداوارَس مَنٛز روٗدمُت۔<ref name="Bullet">{{cite web|title=Bullet Classic Range|url=http://royalenfield.com/motorcycles/classic-350|access-date=2008-12-16}}</ref>بُلیٚٹ مارکی چھُ امہِ کھۄتہٕ تہِ پرٛون تہٕ چھُ 75 ؤری مُسلسل پٲداوارَس مَنٛز گزرمُت۔ رایَل ایٚنفیٖلڈ تہٕ بُلیٹٕکؠ ناو ٲسؠ برطانوی کمپنی پیٚٹھٕ ماخوذ کرنہٕ آمٕتؠ یۄس ایٚنفیٖلڈ ، لندنس مَنٛز رایَل سمال آرمز فیکٹری ہُنٛد ذیلی ٹھیکیدار ٲس۔ ==حَوالہٕ== [[زٲژ:بایِک]] pg4kx3zjido2vt8sx6zh2vje4j0uhtk 2024 اپالاچی ہایی سکوٗل گولہِ حملہٕ 0 31880 146269 146253 2026-07-29T18:00:31Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146269 wikitext text/x-wiki {{Infobox civilian attack/Wikidata|weapons=[[ایس اَے جی سویِر ایس اَے جی ایم 400]]}} 4 سَتَمبَر 2024 مَنٛز، 14 وُہُر '''کولٹ گرٛے''' یَن کٔر [[وِنڈر، جارجیا|وِنڈر، جارجیاہَس]] نزدیٖک [[اپالاچی ہایی سکوٗل|اپالاچی ہایی سکوٗلَس]] مَنٛز گولہِ حملہٕ، یَتھ مَنٛز زٕ طٲلب علم ('''میسن شیرمرہورن''' تہٕ '''کرسچن اینگولو''') تہٕ زٕ وۄستاد ('''کرسٹینا ایرمی''' تہٕ '''رچرڈ اسپن وال''') ہلاک گٔیہِ، ییٚلہِ زِ باقی سَتھ گولہِ سٟتؠ زخمی گٔیہِ۔ یہِ چھُ جارجیا کِس تٲریخَس مَنٛز سکول تشددُک سارِوٕے کھۄتہٕ خطرناک واقعہٕ۔ [[فَیِل:Apalachee HS.jpg|thumb|اپالاچی ہایی سکوٗل ]] گرٛے اوس 103 راؤنڈ گولہٕ بوروٗد اوٚنمُت تہٕ أمؠ اوس اَکھ رایفل اِستِمال کوٚرمُت یُس أمؠ سٕنٛدِ مٲلؠ کولن گرٛے یَن پٔتمہِ ؤرؠ یہِ کرسمس تحفہٕ پٲٹھؠ دِژمُت اوس، کولنَس ٲس کولٹَن مبینہ طور آن لایِن گولہِ چلاونٕچ دھمکیَن مُتعلِق ایف بی اَے یٕچ گۄڈٕنِچہِ تحقیقاتَس متعلق آگاہ آسنہٕ باوجوٗد، تہٕ سٟتی کولٹٕنؠ دستاویزی ذہنی صحتٕچ جدوجہد۔ [[فَیِل:Booking Photos of Colt Gray.jpg|thumb|کولٹ گرٛے (2010ہس مَنٛز زامُت)]] حملہٕ ہُنٛد صُبح گوٚو خطرٕکؠ نِشانہٕ نِش ظٲہر: أکؠ اُستادَن اوس تَمہِ دۄہ سُلی کولٹ سٕنٛدِ غٲر معموٗلی وتیرٕ تہٕ گوٚبؠ بیک پیکُک نشان دِژمُت، أمؠ سٕنٛزِ ماجہِ کوٚر الارم مَنٛز سکوٗلَس فون، تہٕ سٹاف ژھانڈ أمِس باتھ روٗمہٕ پؠٹھٕ نیرنہٕ تہٕ گولہِ چلاونہٕ برٛونٛہہ کامیٲبی ورٲے أمِس ژھانڈان۔ افراتفری ہٕنٛدِ بٹنَو ذٔریعہٕ آو لاک ڈاوُن شۆروٗع کرنہٕ، تہٕ سکول ریسورس افسرَو کوٚر ٲخٕر کار أمِس بُتھہِ تہٕ گِرِفتار۔ [[فَیِل:Booking Photos of Colin Gray.jpg|thumb|کولٹ گرٛے سُنٛد مول]] تفتیٖش کَرن والؠو کوٚر پتہٕ جُرمَن ہٕنٛز اَکھ زیٖٹھ تٲریخ ظٲہِر۔ 2023 ہَس مَنٛز اوس ایف بی اَے یَن کولٹ سٕنٛدِس ڈسکارڈ اکاؤنٹَس پؠٹھ سکولَس مَنٛز گولہِ چلاونَس مُتعلِق گُمنام خطرَن ہُنٛد سُراغ لگٲومُت، مگر مقٲمی پولیسَن کوٚر غلط پیروی پتہٕ مقدمہٕ بنٛد۔ کولٹَس ٲس لۄکچارٕچ شٔدیٖد بدسلوکی تہٕ عدم استحکامٕچ دَستاویٖزی توٲریٖخ تہِ - یَتھ مَنٛز مٲلِس ماجہِ ہُنٛد تشدد، ماجہِ ہُنٛد منشیاتُک اِستِمال، ٹروینسی، تہٕ نانہِ ہٕنٛز گولہِ چلاونہٕ برٛونٛہہ کرٛایسس سینٹرَس مَنٛز دٲخٕل کرنٕچ ٲخری لمحاتٕچ ناکام کوٗشِش شٲمِل چھِ۔ مبینہ طور اوس تٔمؠ پننِس کمرَس مَنٛز سکوٗل شوٗٹرَن ہُنٛد اَکھ "مزار" تھوومُت تہٕ عیالَس سٟتؠ کتھ باتھ مَنٛز اوس پٔتِم گولہِ چلاونُک حوالہٕ دِتمُت۔ قونوٗنی طور اوسُکھ کولٹَس پؠٹھ 55 الزامَن ہُنٛد الزام لگاونہٕ آمُت، یِمَن مَنٛز ژور جُرمانہٕ قتلٕکؠ الزام تہِ شٲمِل چھِ، تہٕ کوٚرُن 24 جُلَے 2026 مَنٛز مُجرِم اقرار تہٕ پتہٕ آو پیرول ورٲے عمر قیدٕچ سزا دِنہٕ۔<ref>{{Cite news|last=Rojas|first=Rick|last2=Keenan|first2=Sean|date=2026-07-28|title=Georgia Teen Is Sentenced to Life for Deadly School Shooting|url=https://www.nytimes.com/2026/07/28/us/colt-gray-sentenced-apalachee-high-school-shooting.html|access-date=2026-07-28|work=The New York Times|language=en-US|issn=0362-4331}}</ref> أمؠ سٕنٛدِس مٲلِس کولنَس پؠٹھ آو الگ پٲٹھؠ مقدمہٕ چلاونہٕ تہٕ 3 مارٕچ 2026 مَنٛز آو پننِس نیٚچوِس معلوم خطرٕکؠ علاماتَو باوجوٗد ہتھیار فراہم کرنَس پؠٹھ تمام الزامَن مَنٛز مُجرِم قرار دِنہٕ۔ یہِ فٲصلہٕ آو سکولَن مَنٛز گولہِ چلاونَس مَنٛز مٲلِس ماجہِ مُجرمانہٕ طور جوابدہ ٹھہراونہٕ خٲطرٕ اَکھ قٲبلِ ذِکر نِظیر پٲٹھؠ وُچھنہٕ۔ اَمہِ حٲدِثہٕ سٟتؠ آیہِ کمیونٹی یادگار، طالبہِ علمَن ہُنٛد واک آؤٹ، سکوٗلَس مَنٛز میٹل ڈِٹیکٹرٕچ تنصیب تہٕ قومی سیٲسی شخصیاتَن ہٕنٛدِ بیان، یِمَن مَنٛز صدر بایڈن، نٲیِب صدر ہیرس، جارجیا گورنر کیمپ، تہٕ تمہِ وقتہٕ کِس امیدوار ڈونلڈ ٹرمپ شٲمِل چھِ، اَمہِ واقعہٕ سٟتؠ گٔیہِ بندوق کنٹرول تہٕ سکوٗلَن ہٕنٛدِس حفٲظتی اقداماتَس پؠٹھ تہِ بَحَث شۆروٗع۔ ==حَوالہٕ== [[زٲژ:2026 واقعات]] 0f3y0q0sl3wol5t4u3t2ovl03jdvvod اپالاچی ہایی سکوٗل 0 31881 146268 146255 2026-07-29T18:00:26Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146268 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = Lavender | کھٔٹِتھ = Calendar feed URL، Contact page URL، School district، Post town، }} اپالاچی ہایی سکوٗل چھُ اَکھ پبلک ہایی سکوٗل یُس [[وِنڈر، جارجیا]]، ریاستہاے متحدَس نزدیٖک واقعہٕ چھُ۔ سکوٗلُک [[شۄبنکر]] چھُ اَکھ [[جَنٛگٕلؠ بیٛٲر]]۔<ref>{{cite web|author=|date=|title=Apalachee High School - Apalachee High School|url=http://www.barrow.k12.ga.us/ahs/|url-status=live|archive-url=https://web.archive.org/web/20190607184642/http://www.barrow.k12.ga.us/ahs/|archive-date=7 June 2019|website=www.barrow.k12.ga.us|accessdate=7 June 2019}}</ref> اپالاچی چھُ بیرو کاؤنٹی سکوٗلَن ہُنٛد اَکھ حصہٕ، یُس اَکھ ٹایٹل I ضِلہٕ چھُ۔ فیڈر سکوٗلَن مَنٛز چھِ ہیمون مورِس مڈل سکوٗل تہٕ ویسٹ سایڈ مڈل سکوٗل شٲمِل۔ یہِ سکوٗل چھِ برو کاؤنٹی دویم ہایی سکوٗل تہٕ یہٕ آو 2000 مَنٛز کھولنہٕ۔<ref>{{ویب حَوالہٕ|date=2024-09-04|title=Two students, two teachers killed in shooting at Georgia high school; 14-year-old charged as an adult|url=https://www.nbcnews.com/news/us-news/suspect-custody-school-district-atlanta-put-lockdown-reports-campus-th-rcna169562|url-status=live|archive-url=https://web.archive.org/web/20240907002143/https://www.nbcnews.com/news/us-news/suspect-custody-school-district-atlanta-put-lockdown-reports-campus-th-rcna169562|archive-date=2024-09-07|access-date=2024-09-04|website=NBC News|language=en}}</ref> == 2024 گولہِ حملہٕ == {{اَہَم|2024 اپالاچی ہایی سکوٗل گولہِ حملہٕ }} ==حَوالہٕ== [[زٲژ:سۆکوٗل]] d7v6711ysbgs4eq6utuhnzjgxhv9i0r جَنٛگٕلؠ بیٛٲر 0 31882 146276 146205 2026-07-29T18:01:06Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146276 wikitext text/x-wiki {{Infobox species/Wikidata|item=Q47482585}} '''جَنٛگٕلؠ بیٛٲر''' چھِ اَکھ زٲژَن ہُنٛد کمپلیکس یَتھ مَنٛز زٕ لۄکٕٹؠ جَنٛگٕلؠ بیٛارِ زٲژ چھِ، [[یوٗرَپی جَنٛگٕلؠ بیٛٲر]] تہٕ [[اَفریٖقی جَنٛگٕلؠ بیٛٲر]]. جَنٛگٕلؠ بیٛٲر تہٕ بیٛارِ خاندانک باقی بٲژ چھِ تَقریٖبَن 10-15 ملین ؤری برٛونٛٹھ اَکھ ہِوُے آباو اجداد ٲسؠ‌مٕتؠ۔<ref name="Johnson1997">{{Cite journal|last=Johnson|first=W. E.|last2=O'Brien|first2=S. J.|date=1997|title=Phylogenetic Reconstruction of the Felidae Using 16S rRNA and NADH-5 Mitochondrial Genes|url=https://zenodo.org/record/1232587|journal=Journal of Molecular Evolution|volume=44|issue=S1|pages=S98–S116|bibcode=1997JMolE..44S..98J|doi=10.1007/PL00000060|pmid=9071018}}</ref> ==حَوالہٕ== [[زٲژ:جانوَر]] 8uiaa58ty98wa22d5ut34rd652zvjjh بَلتی لوٗکھ 0 31883 146275 146214 2026-07-29T18:01:01Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146275 wikitext text/x-wiki {{Infobox ethnic group/Wikidata|pop_place=پٲکِستان: [[گِلگِت بلتِستان]] </br> ہِندوستان: [[لَداخ]]|population=c. 393,000|languages=ماجہِ زؠو: [[بَلتی زَبان]] </br> [[اُردوٗ]]|image=File:Kids of Tarashing.jpg|religions=زیٛادٕ مانن وٲلؠ: [[اِسلام]] (یَتھ مَنٛز: [[شیعہ]] زیٛادٕ چھِ)}} '''بلتی''' چھِِ اَکھ تبتی نسلی گروپ یم پٲکستان کہ زیر انتظام [[گِلگِت بلتِستان]] تہٕ پتہٕ ہندوستان کہ زیر انتظام [[لَداخ]] مقٲمی چھِ، زیٛادٕ تر چھِ کرگل ضِلس مَنٛز یہنٛز تعداد [[لیہہ ضِلہٕ]] مَنٛز کم چھِ۔ کشمیر خطہٕ نؠبر چھِ بلتی پوٗرٕ پاکستانس مَنٛز چھِٔکرِنہٕ آمٕتؠ، یمن مَنٛز زیٛادٕ تر تارکین وطن [[لوہوٗر|لاہور]] [[کَرٲچی]] [[اِسلام آباد|اسلام آباد]] تہٕ [[راوَلپِنڈی]] ہوین اہم شہرن مَنٛز روزان چھِ۔<ref>{{Cite book|last=Read|first=A. F. C.|title=Balti Grammar|date=1934|publisher=London: The Royal Asiatic society}}</ref> ==حَوالہٕ== [[زٲژ:لوٗکھ]] c47dw79tb6ccw78w73ybhslt06csajc آل اِنٛڈیا کشمیٖر کمیٹی 0 31885 146274 146219 2026-07-29T18:00:56Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146274 wikitext text/x-wiki '''آل اِنٛڈیا کشمیٖر کمیٹی''' آیہِ برطانوی ہند خاص کٔرِتھ برطانوی پنجاب کہِ مُسلمان لیڈرو، رِیاسَتھ [[جۆم تہٕ کٔشیٖر (شاہزٲدؠ رِیاسَتھ)|جموں و کشمیر]] مَنٛز مسلمانن ہنٛدین حَقوٗقن خٲطرٕ لڑنہٕ خٲطرٕ قٲیم کرنہٕ۔ [[مرزا بشیر الدین محمود احمد]] دِژ واریاہ باقٕیہ لیڈرن سیٲسی حمایت حٲصِل کرنہٕ تہٕ پنن نظریہٕ پھۄہلاونہٕ باپتھ کمیٹی بناونہٕ خٲطرٕ دعوت، یمیچ مسلمانن ہٕنٛز اکثریتی مخالفت ٲس کران۔<ref name=":0">{{کِتاب حَوالہٕ|last=Kumar|first=Radha|title=Paradise at War: A Political History of Kashmir|publisher=Aleph|year=2018|isbn=9789388292122|location=New Delhi|pages=25–26}}</ref> ==حَوالہٕ== [[زٲژ:کٔشیٖر ہٕنٛز تَوٲریٖخ]] e6sqxpptl0tytn3hfzagdmqsc6t3f0u ایس اَے جی سویِر ایس اَے جی ایم 400 0 31887 146273 146231 2026-07-29T18:00:51Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146273 wikitext text/x-wiki {{Infobox weapon|nom=ایس اَے جی سویِر ایس اَے جی ایم 400 </br> SIG Sauer SIGM400}} ایس اَے جی سویِر ایس اَے جی ایم 400 (اَنٛگریٖزؠ : SIG Sauer SIGM400) چھُ اکہِ قٕسمُک بَنٛدوٗق۔<ref>{{cite web |url=https://www.sigsauer.com/products/firearms/rifles/sigm400/ |title=SIGM400 |publisher=SIG Sauer |access-date=13 March 2017 |archive-date=18 February 2020 |archive-url=https://web.archive.org/web/20200218152913/https://www.sigsauer.com/products/firearms/rifles/sigm400/ |url-status=dead }}</ref> ==اِستِمال کرن وٲلؠ== * {{BRA}} * {{OMN}} * {{PHL}} * {{USA}} ==حَوالہٕ== [[زٲژ:بندوٗق]] 7aoix6uk0zijllrlxo4hkwynpo7dtga سینٹرل اِنسٹیٹیوٹ آف بُدھِسٹ سٕٹَڈیٖز 0 31894 146272 146237 2026-07-29T18:00:47Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146272 wikitext text/x-wiki {{Infobox university/Wikidata|fetchwikidata=ALL|onlysourced=No|location=[[لیہہ]]، [[لَداخ]]، ہِندوستان|established={{Start date and age|1959}}}} سینٹرل انسٹیٹیوٹ آف بُدھِسٹ سٕٹَڈیٖز، یُس گوڈٕ '''سکول آف بدھ فلسفہٕ''' ناوٕ سٟتؠ زاننہٕ اوس یِوان، یُس [[لَداخ|لداخ]] کِس [[لیہہ]] قصبس مَنٛز واقعہٕ چھُ، چھُ [[وزارت ثقافت (ہِندوستان)|وزارت ثقافتس]] تحت اَکھ ڈیمڈ یوٗنِوَرسِٹی ۔ امِچہِ بُنیاد آیہِ 1959 ہَس مَنٛز ترٛاونہٕ تہٕ یہِ اوس گۄڈٕ وارانسیَس مَنٛز [[سمپُورنند سنسکرت یوٗنِوَرسِٹی]] سٟتہِ وابستہٕ۔<ref>{{cite web|date=2016-03-19|title=Central Institute of Buddhist Studies given deemed university status|url=https://economictimes.indiatimes.com/industry/services/education/central-institute-of-buddhist-studies-given-deemed-university-status/articleshow/51465085.cms|access-date=2020-10-11|website=The Economic Times}}</ref> == کورسز == بود فلسفہٕ علاوٕ چھِ [[سَنَسکرٕٛت زَبان|سَنَسکرٕٛت]]، [[اَنٛگریٖزی زَبان|اَنٛگریٖزی]]، [[ہِندی زَبان|ہندی،]] [[تِبتی زَبان|تبتی]] تہٕ [[پالی زَبان|پالی]] زبانہٕ تہٕ پرٚاونہٕ یوان۔<ref>{{ویب حَوالہٕ|last=Web|first=SNS|date=2020-02-24|title=Ladakh's Buddhist institute to go global|url=https://www.thestatesman.com/india/ladakhs-buddhist-institute-go-global-1502859295.html|access-date=2020-10-11|website=The Statesman}}</ref> تہٕ باقٕیہ کورسن مثلن رؠوٲیتی دَوا/بی ایس آر ایم ایس کورس، رؠوٲیت مصوری، رؠوایت پۄتُل گٔری، لٔکرؠن ہِنٛز نقشہٕ بندی تہٕ رؠوٲیٹ فلکیات کلاس تہٕ آیہِ پرناونہٕ۔ ==حَوالہٕ== [[زٲژ:یونِورسِٹی]] [[زٲژ:لَداخ]] 2bon2q3w1c56e5ssyqbn01hxfte46yu بَلتی زَبان 0 31895 146271 146243 2026-07-29T18:00:41Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146271 wikitext text/x-wiki {{Infobox language/Wikidata|familycolor=Sino-Tibetan|ethnicity=[[بَلتی لوٗکھ]]}} [[File:WIKITONGUES-_Rizwan_speaking_Balti.webm|thumb|یہِ چھُ بلتی ہنٛز اکھ ویٖڈیو مثال یتھ منٛز بلتی ہِنٛدؠ اکھ سپیکر رزوان بولان چھ۔]] '''بَلتی''' ([[فارسی اَچھَر|فارسی-عربی لِکھٲرؠ نِظام]]: {{خط نستعلیق|بلتی}}، [[تِبتی لِکھٲرؠ نِظام|تبتی]]: སྦལ་ཏི،) چھُ اَکھ تبتی زبان یۄس مقٲمی طور [[گِلگِت بلتِستان|گلگت بلتستان]] [[پٲکِستان|پٲکستان]]، [[لیہہ ضِلہٕ|لیہہ ضلع]] [[نُبرا|نبرا وادی]] تہٕ [[لَداخ|لداخ]] [[ہِندوستان|ہندوستان۔]] کس کرگل ضِلہٕ کس بلتی علاقس مَنٛز نسلی [[بَلتی لوٗکھ|بلتی لوک]] ہٕنٛد ذٔریع بولنہٕ چھےٚ یوان۔<ref name="General">{{کِتاب حَوالہٕ|title=Census of India, 1961: Jammu and Kashmir|publisher=[[Registrar General and Census Commissioner of India]]|year=1961|page=357|language=en}}</ref> زبان چھِ معیاری تبتی نِش مُختلف۔ پرٲنؠ تبتی زبانہِ ہٕنٛزٕ واریاہ آوازٕ یِم معیاری تبتی زبانہِ مَنٛز رٲومٕژ آسہٕ تِم چھِ بلتی زبانہِ مَنٛز برقرار۔ اَتھ مَنٛز چھُ اَکھ سادٕ پچ لہجہٕ نظام تہِ یُس صرف واریاہن حرفی لفظن مَنٛز چھُ ییٚلہِ زن معیٲری تبتی زبانہِ مَنٛز چھُ اَکھ پیچیدٕ تہٕ الگ پچ سسٹم آسان یَتھ مَنٛز لہجہِ ہُنٛد شکل شٲمِل چھُ۔ پٲکِستٲنؠ ذرایعہ ابلاغس مَنٛز غالب زبانن مثلا اُردوٗ، پنجابی تہٕ انگریزی زبانن ہندِ اثرن تہٕ عربی تہٕ فارسی زبانن ہندِ مذہبی اثرو کنؠ چھِ بلتی پٲکستانؠ کین باقی علاقایی زبانن ہندؠ پٲٹھؠ قرضہٕ لفظن ہندِ ذریعہ پننہِ لفظہٕ بَنڈار ہُراوان۔ ==حَوالہٕ== [[زٲژ:زَبان]] bttjfn05wmh1071zz9p5ccjms3ddyuc 2026 آزاد کٔشیٖر احتِجاج 0 31896 146270 146249 2026-07-29T18:00:36Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146270 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = #cdeeff | customheader1 = جَمٲژٕ | data1a = [[جموں کشمیر جۄیِنٛٹ عوامی ایکشن کمیٹی]] | data1b = {{tree list}} * [[File:State emblem of Pakistan.svg|25px]] [[پٲکِستٲنؠ سَرکار]] {{tree list/end}} [[File:AzadKashmirSeal.png|24px]] [[آزاد کٔشیٖر ہِنٛز سَرکار]] | customheader2 = ہَلاکتہٕ | data2a = 60 موٗدؠ‌مٕتؠ </br> 100+ زخمی | data2b = مُختلِف موٗدؠ‌مٕتؠ </br> 22 موٗدؠ ہلیٖکاپٹر پؠنہٕ سٕتؠ | کھٔٹِتھ = زَخمین ہُنٛد تعداد، ہَلاکتن ہُنٛد تَعداد }} پٲکِستان کِس زیر انتظام [[آزاد کٔشیٖر|آزاد کشمیرس]] مَنٛز گٔیہِ 7 جوٗن 2026 دۄہ جٲری مُظٲہرَن، ہڑتالَن تہٕ جڑپَن ہُنٛد سِلسِلہٕ شۆروٗع۔ یِم احتجاج چھِ بُنیٲدی طور [[جموں کشمیر جۄیِنٛٹ عوامی ایکشن کمیٹی]] (جے کے جے اے سی) دٔسؠ مُنعقد کرنہٕ یِوان، یُس [[پٲکِستان|پاکِستانَس]] مَنٛز کُنہِ جایہِ روزَن وٲلؠ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] کؠن پناہ گزینَن باپتھ [[آزاد کٔشیٖر قونوٗن ساز ایٚسمبلی]] مَنٛز 12 سیٖٹہٕ ریزرویشن کرنٕچ مخالفت کران چھُ۔<ref name="Al">{{cite news|title=Deadly protests in Pakistan-administered Kashmir: What's going on?|work=Al Jazeera|date=9 June 2026|url=https://www.aljazeera.com/news/2026/6/9/deadly-protests-in-pakistan-administered-kashmir-whats-going-on|archive-date=10 June 2026|access-date=15 June 2026|archive-url=https://web.archive.org/web/20260610174325/https://www.aljazeera.com/news/2026/6/9/deadly-protests-in-pakistan-administered-kashmir-whats-going-on|url-status=live}}</ref> تحریٖک چھِ دٔلیٖل دِوان زِ یہِ انتظام چھُ غٲر بسکینن [[آزاد کٔشیٖر|آزاد کشمیر]] کؠن سیٲسی معاملَن پؠٹھ اثر انداز گژھنُک اِجازت دِوان۔ بدامنیَس مَنٛز چھِ جے اے اے سی ہٕکؠ واریاہ رُکُن تہٕ پُلیٖس اہلکار ہلاک تہٕ زخمی گٔمٕتؠ‌۔ 7 جوٗن 2026 دۄہ آزاد کشمیرُک سپریم کورٹ کِس فٲصلہٕ پتہٕ گٔیہِ احتجاج تیز، یَتھ مَنٛز یہِ ماننہٕ اوس آمُت زِ پناہ گزینن ہٕنٛزٕ سیٖٹہٕ چھِ ٲییٖنی طور محفوٗظ تہٕ یِم ہیکَن نہٕ ٲییٖنی ترمیم بغٲر ختٕم کٔرِتھ۔ اَمہِ پتہٕ پھٔہلییہِ مُظٲہرٕ [[راوَلکوٹ]]، [[مُظفر آباد]]، [[میرپور (آزاد کشمیر)|میر پور]]، [[کوٹلی (آزاد کٔشیٖر)|کوٹلی]]، [[باغ، آزاد کٔشیٖر|باغ]] تہٕ باقٕے علاقن مَنٛز۔ ==حَوالہٕ== [[زٲژ:2026 واقعات]] [[زٲژ:آزاد کٔشیٖر]] c38dvizfmfl9nmr1iawmh4nb6h4w545 تادے پۄگاچار 0 31898 146257 2026-07-29T17:43:50Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366684747|Tadej Pogačar]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146257 wikitext text/x-wiki {{IPA|sl|taˈdɛ́ːj pɔˈɡáːtʃaɾ|lang|Tadej Pogačar spoken in Slovenian.ogg}}21 ستمبر 1998 زامُت، چھُ سلووینیا ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 ؤرشہِ وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔ 7aiyywrc3cbmbgg1cexgmp4xezg0vkc 146258 146257 2026-07-29T17:44:42Z آیات محراج 11062 /* */ 146258 wikitext text/x-wiki تادے پۄگاچار 21 ستمبر 1998 زامُت، چھُ سلووینیا ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 ؤرشہِ وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔ n8ymx9qganr6vyq65654mvkkpy61i5d 146259 146258 2026-07-29T17:47:06Z آیات محراج 11062 146259 wikitext text/x-wiki تادے پۄگاچار (سلوین : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ سلووینیا ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔ تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پوگاکار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ gogr4raq4ikzlyqttj3txml4siegyjj 146260 146259 2026-07-29T17:48:59Z آیات محراج 11062 /* */ 146260 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ [[سلووینیا]] ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔ تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پوگاکار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ i1bo4z8squ88ghdf1olazwv4gloxhkk 146261 146260 2026-07-29T17:50:16Z آیات محراج 11062 /* */ 146261 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ [[سلووینیا]] ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پوگاکار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ rciax8k3x7st3htnbgyjax2qb8qas3n 146262 146261 2026-07-29T17:52:15Z آیات محراج 11062 +[[زٲژ:سلووینی لوٗکھ]]; +[[زٲژ:1998 وَفات]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146262 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ [[سلووینیا]] ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرمٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پوگاکار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ ==حَوالہٕ== [[زٲژ:سلووینی لوٗکھ]] [[زٲژ:1998 وَفات]] s59p3huc5g219aiw2jlr9pajaohfq2a 146265 146262 2026-07-29T17:54:23Z آیات محراج 11062 /* */ 146265 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ [[سلووینیا]] ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرؠ مٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پوگاکار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ ==حَوالہٕ== [[زٲژ:سلووینی لوٗکھ]] [[زٲژ:1998 وَفات]] 8oeltmdizv2xevr6s99jqfl1mm2ll14 146266 146265 2026-07-29T17:57:18Z آیات محراج 11062 مِلاوُن [[زٲژ:کُلؠ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146266 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 ستمبر 1998 زامُت، چھُ [[سلووینیا]] ہُک اکھ مشہوٗر پیشہٕ ور سائیکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمۍ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرؠ مٕتۍ، یِمَن منٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ منٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمۍ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس منٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمۍ سٕنٛزن کامیٲبِین منٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی منٛز فتوحاتن ہُنٛد اکھ اہم سائیکل شٲمِل، ییٚمہِ سۭتۍ سُہ تٲریخ کِس عظیم سائیکل چلاون والیو منٛز اکھ پٲٹھۍ مضبوٗط گوٚو۔ پۄگاچار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمۍ سٕنٛدِس افسانوی حیثیتَس منٛز اہم کردار ادا کوٚرمُت، یَتھ منٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ ==حَوالہٕ== [[زٲژ:سلووینی لوٗکھ]] [[زٲژ:1998 وَفات]] kcm4x0jkutttkd2h5oglmskds229b70 146267 146266 2026-07-29T18:00:22Z Nadeemulhaqmir-bot 9480 باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]] 146267 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 سَتَمبَر 1998 زامُت، چھُ [[سلووینیا]] ہُک اَکھ مشہوٗر پیشہٕ ور سایکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمؠ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرؠ‌مٕتؠ‌، یِمَن مَنٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ مَنٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمؠ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس مَنٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمؠ سٕنٛزن کامیٲبِین مَنٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی مَنٛز فتوحاتن ہُنٛد اَکھ اہم سایکل شٲمِل، ییٚمہِ سٟتؠ سُہ تٲریخ کِس عظیم سایکل چلاون والیو مَنٛز اَکھ پٲٹھؠ مضبوٗط گوٚو۔ پۄگاچار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمؠ سٕنٛدِس افسانوی حیثیتَس مَنٛز اہم کردار ادا کوٚرمُت، یَتھ مَنٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ ==حَوالہٕ== [[زٲژ:سلووینی لوٗکھ]] [[زٲژ:1998 وَفات]] ivr671x5ipiajjdjy95zrwf1fyc03nm 146331 146267 2026-07-30T05:22:32Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 146331 wikitext text/x-wiki {{Infobox person ca/catalan}} '''تادے پۄگاچار''' ([[سلووین زَبان|سلوین]] : taˈdɛ́ːj pɔˈɡáːtʃaɾ ، {{IPA audio link|Tadej Pogačar spoken in Slovenian.ogg}})21 سَتَمبَر 1998 زامُت، چھُ [[سلووینیا]] ہُک اَکھ مشہوٗر پیشہٕ ور سایکل چلاون وول یُس یو سی آی ورلڈ ٹیم متحدہ عرب امارات ٹیم ایمریٹس ایکس آر جی یَس خٲطرٕ مقابلہٕ کران چھُ۔ تٔمؠ چھِ پانٛژ ٹور ڈی فرانس (2020، 2021، 2024، 2025، تہٕ 2026)، 2024 گیرو ڈی اٹالیا، تہٕ تُرٛواہ یادگار حٲصِل کٔرؠ‌مٕتؠ‌، یِمَن مَنٛز واریاہ باوقار اَکہِ دۄہٕچ ریسہٕ شٲمِل چھِ۔ قٲبلِ ذِکِر کتھ چھِ یہِ زِ سُہ بَنیٛوو 20 وُہُر وٲنٛسہِ مَنٛز سارِوٕے کھۄتہٕ لۄکُٹ یو سی آی ورلڈ ٹور ریس زینَن وول تہٕ وٲحِد سوار ییٚمؠ پنِنہِ گۄڈٕنِچہِ لَٹہِ ٹور ڈی فرانسَس مَنٛز جنرل، پہاڑ تہٕ نوجوان سوارَن ہٕنٛز درجہٕ بندی زیٖن۔<ref>{{cite web|last1=Strickson|first1=Will|date=4 April 2023|title=Opinion: Tadej Pogačar is the Greatest Of All Time|url=https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|url-status=live|archive-url=https://web.archive.org/web/20240115192158/https://www.cyclist.co.uk/news/tadej-pogacar-greatest-of-all-time|archive-date=15 January 2024|access-date=22 July 2024|publisher=Cyclist Magazine}}</ref> تٔمؠ سٕنٛزن کامیٲبِین مَنٛز چھِ قٲبلِ ذِکر دُشمنِی، ریکارڈ سٹیج زینٕن، تہٕ گرینڈ ٹورس تہٕ یادگارن دۄشوٕنی مَنٛز فتوحاتن ہُنٛد اَکھ اہم سایکل شٲمِل، ییٚمہِ سٟتؠ سُہ تٲریخ کِس عظیم سایکل چلاون والیو مَنٛز اَکھ پٲٹھؠ مضبوٗط گوٚو۔ پۄگاچار سٕنٛدِ جارحانہ ریسنٛگ ہُنٛد انداز تہٕ استعداد چھُ أمؠ سٕنٛدِس افسانوی حیثیتَس مَنٛز اہم کردار ادا کوٚرمُت، یَتھ مَنٛز ریکارڈ ہفتَن تام یو سی اَے روڈ ریسِنٛگ عالمی نمبر 1 آسُن تہِ شٲمِل چھُ۔ ==حَوالہٕ== [[زٲژ:سلووینی لوٗکھ]] [[زٲژ:1998 وَفات]] [[زٲژ:1998 پٲدٲیِش]] h03csl2zii43rk4wvp64a6g9ajb9n9f زٲژ:سلووینی لوٗکھ 14 31899 146263 2026-07-29T17:52:33Z آیات محراج 11062 Created blank page 146263 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 146264 146263 2026-07-29T17:52:52Z آیات محراج 11062 مِلاوُن [[زٲژ:سلووینیا]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146264 wikitext text/x-wiki [[زٲژ:سلووینیا]] l9blcmgcf3560346ew8k7dloxzi6bbn 2026 ٹوٗر دی فرٛانٛس 0 31900 146281 2026-07-29T18:10:14Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366695905|2026 Tour de France]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146281 wikitext text/x-wiki 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ یو اے ایی ٹیم ایمریٹس ایکس آر جی کس [[تادے پۄگاچار|تادے پۄگاچارن]] زیوٗن شیٚیمہ لٹہ تہٕ ترٛیٚیمس ؤرۍیس جٲری روٗزِتھ عام درجہ بٔنٛدی۔ 8ah2wdpfflqbnorhfhmes7rbl195svm 146282 146281 2026-07-29T18:12:44Z آیات محراج 11062 /* */ 146282 wikitext text/x-wiki {{Cycling race/infobox}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ یو اے ایی ٹیم ایمریٹس ایکس آر جی کس [[تادے پۄگاچار|تادے پۄگاچارن]] زیوٗن شیٚیمہ لٹہ تہٕ ترٛیٚیمس ؤرۍیس جٲری روٗزِتھ عام درجہ بٔنٛدی۔ mkj1yxuika8vu0db7vqz6tyklqo3vvp 146295 146282 2026-07-29T19:08:23Z آیات محراج 11062 /* */ 146295 wikitext text/x-wiki {{Cycling race/infobox}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک تادیج پوگاکارَن کوٚر ریسہِ منٛز لگاتار پنُن پونٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔ lfcutjtk9k1nh66ipwet62s6dvp7hlb 146296 146295 2026-07-29T19:09:52Z آیات محراج 11062 /* */ 146296 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔ hez2zs2dp012j3has65vew30aprvpj7 146298 146296 2026-07-29T19:17:17Z آیات محراج 11062 مِلاوُن [[زٲژ:کھیل]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146298 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔ == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] 9ebpfgkvq8rcopvpqn300um90c5vwwt 146299 146298 2026-07-29T19:17:32Z آیات محراج 11062 /* */ 146299 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] josy4tsn555usxywkfzpp7uo2fyywnb 146335 146299 2026-07-30T09:05:43Z آیات محراج 11062 146335 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> == سٹیجز == {{Cycling race/listofstages|Q126721429}} == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] ce1lslieeazcwbio8rqazn71zxu8g22 146337 146335 2026-07-30T09:08:39Z آیات محراج 11062 146337 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> ==سامان== {{Cycling race/listofteams|Q126721429}} == سٹیجز == {{Cycling race/listofstages|Q126721429}} == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] n3wqt60z3e3mq2iymlkm0kyxe4cxrdx 146339 146337 2026-07-30T09:21:38Z آیات محراج 11062 146339 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> ==سامان== {{Cycling race/listofteams|Q126721429}} == سٹیجز == {{Cycling race/listofstages|Q126721429}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q126721429}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q126721429}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q126721429}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q126721429}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q126721429}} == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] p2vcp2kt8v01npgoxmmi9tsdxqhlxq0 146346 146339 2026-07-30T09:35:18Z آیات محراج 11062 146346 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> ==سامان== {{Cycling race/listofteams|Q126721429}} == سٹیجز == {{Cycling race/listofstages|Q126721429}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q126721429}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q126721429}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q126721429}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q126721429}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q126721429}} == درجہ بندی ہُنٛد وکاس== {{Cycling race/listofstagesclassification|Q126721429}} == شرکت کرن وٲلؠ== {{Cycling race/startlist|Q126721429}} <small>'''کنونشنز:''' * '''DNF-N''': سٹیج N مَنٛز ترک کرُن * '''NP-N''' : سٹیج N پؠٹھ ایگزٹ نہٕ نِوان * '''FC-N''' : سٹیج N پؠٹھ وقت سٕتؠ باہر آمد (کنٹرول) * '''DQ-N''': سٹیج N مَنٛز نااہل یا کٔڑؠ‌مٕتؠ </small> == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] k9bw9ib8chvmk1fn9rzz7xvf6d8z9hh 146351 146346 2026-07-30T09:44:09Z آیات محراج 11062 مِلاوُن [[زٲژ:سایکلِنٛگ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146351 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> ==سامان== {{Cycling race/listofteams|Q126721429}} == سٹیجز == {{Cycling race/listofstages|Q126721429}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q126721429}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q126721429}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q126721429}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q126721429}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q126721429}} == درجہ بندی ہُنٛد وکاس== {{Cycling race/listofstagesclassification|Q126721429}} == شرکت کرن وٲلؠ== {{Cycling race/startlist|Q126721429}} <small>'''کنونشنز:''' * '''DNF-N''': سٹیج N مَنٛز ترک کرُن * '''NP-N''' : سٹیج N پؠٹھ ایگزٹ نہٕ نِوان * '''FC-N''' : سٹیج N پؠٹھ وقت سٕتؠ باہر آمد (کنٹرول) * '''DQ-N''': سٹیج N مَنٛز نااہل یا کٔڑؠ‌مٕتؠ </small> == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] [[زٲژ:سایکلِنٛگ]] 72rngl1zoxzktgkd99tiexdzumpyrzw 146352 146351 2026-07-30T09:46:36Z آیات محراج 11062 146352 wikitext text/x-wiki {{Cycling race/infobox|Q126721429}} 2026 ٹوٗر دی فرانس چھُ [[ٹوٗر دی فرٛانٛس|ٹوٗر دی فرٛانٛسُک]] 113 ہم اؠڈیشن۔ ریسہٕ گیہ 4 جولایی سپین کس [[بارسِلونا|بارسلونا]] ہس منٛز أکس سٹیجس پیٚٹھ شروٗع تہٕ گٔیہ 26 جولایی [[پیرِس|پیرس]] کس چیمپس الیسیسس منٛز ٲخری سٹیجس پیٚٹھ ختم۔ متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر ریسہِ منٛز لگاتار پنُن پوٗنٛژِم عام درجہٕ بندی ہُنٛد خطاب حٲصِل، یُس کول ڈو ٹورملیٹَس منٛز سٹیج 6 ہَس پیٹھ حملہٕ پتہٕ قٲیِم کرنہٕ آمُت برتری سۭتۍ غلبہٕ حٲصِل کوٚر۔ پوگاکارَن زینہِ ترٛےٚ پہٲڑی مرحلہٕ، ٲخٕر کار روٗد ریڈ بُل-بورا-ہینسگروہے کِس دٔیمِس نمبرَس پٮ۪ٹھ یِنہٕ وٲلِس ریمکو ایونپولَس نِش تقریباً ساڑٕ شےٚ منٹ برونٛہہ، ییٚمۍ جوناس وِنگگارڈ سٕنٛدِ حادثہٕ کہِ وجہہ سۭتۍ پتھ کھسنہٕ پتہٕ عہدٕ سنبال۔ گرمی ہٕنٛزِ لَہر سۭتۍ مُتٲثر گژھن واجنہِ ریسہِ منٛز کٔر 43.227 کلومیٹر فی گھنٹہٕ بے مثال اوسط رفتار ریکارڈ۔ لڈل-ٹریکٕکۍ میڈس پیڈرسنن کوٚر پۄیِنٹَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، ییٚلہِ زَن ای ایف ایجوکیشن-ایزی پوسٹٕکۍ رچرڈ کاراپازَن زیوٗن پہاڑَن ہٕنٛز درجہٕ بندی تہٕ آو ریسہِ ہُنٛد ساروٕے کھۄتہٕ زیادٕ جنگجو سوار قرار دِنہٕ۔ ٹیمَن ہٕنٛز درجہٕ بندی ٲس لڈل ٹریک سارِوٕے کھۄتہٕ سرفہرست ۔<ref name=":18">{{Cite web|last=Root|first=Tik|date=27 July 2026|title=The year climate change came for the Tour de France|url=https://www.motherjones.com/environment/2026/07/the-year-climate-change-came-for-the-tour-de-france/|access-date=2026-07-27|website=Mother Jones|language=en-US}}</ref> ==سامان== {{Cycling race/listofteams|Q126721429}} == سٹیجز == {{Cycling race/listofstages|Q126721429}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q126721429}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q126721429}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q126721429}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q126721429}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q126721429}} == درجہ بندی ہُنٛد {{مانے|وۄتلُن کرٛم|Evolution}}== {{Cycling race/listofstagesclassification|Q126721429}} == شرکت کرن وٲلؠ== {{Cycling race/startlist|Q126721429}} <small>'''کنونشنز:''' * '''DNF-N''': سٹیج N مَنٛز ترک کرُن * '''NP-N''' : سٹیج N پؠٹھ ایگزٹ نہٕ نِوان * '''FC-N''' : سٹیج N پؠٹھ وقت سٕتؠ باہر آمد (کنٹرول) * '''DQ-N''': سٹیج N مَنٛز نااہل یا کٔڑؠ‌مٕتؠ </small> == حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2026 واقعات]] [[زٲژ:سایکلِنٛگ]] 4tlwuierhg9ke5n1q2r8t41fldr5whw فرما:Cycling race/infobox 10 31901 146283 2026-07-29T18:14:17Z آیات محراج 11062 Content copied from catalan wiki 146283 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|infobox|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}</noinclude> fpd53k7az43c6dbkdj9pt1grmzre4di Module:Cycling race 828 31902 146284 2026-07-29T18:23:48Z آیات محراج 11062 Created page with "local p = {} local wiki = string.match(mw.site.server, "%a+") if wiki == "www" then wiki = "fr" end --import translation local l10n = mw.loadData("Module:Cycling race/l10n") --import data local data = mw.loadData("Module:Cycling race/data") local contentLanguage = mw.getContentLanguage() local wikilang = contentLanguage:getCode() local wikibase = mw.wikibase -- == Structure of the code == -- I) Constant -- II) Translation -- III) Basic functions -- IV) Functions less..." 146284 Scribunto text/plain local p = {} local wiki = string.match(mw.site.server, "%a+") if wiki == "www" then wiki = "fr" end --import translation local l10n = mw.loadData("Module:Cycling race/l10n") --import data local data = mw.loadData("Module:Cycling race/data") local contentLanguage = mw.getContentLanguage() local wikilang = contentLanguage:getCode() local wikibase = mw.wikibase -- == Structure of the code == -- I) Constant -- II) Translation -- III) Basic functions -- IV) Functions less basic called from other functions -----A) Time functions -----B) Link functions -----C) Functions for the output, like table -----D) Jersey, flag functions -----E) Other (winner) -- V) Main functions ----- A) Function race reference ----- B) Calendar ----- C) Victory ----- Cbis) Function for infobox ----- D) Stage infobox ----- E) List of teams ----- F) Classifications ----- G) Infobox ----- H) Race infobox ----- I) Team roster ----- J) Function list of winners (palmarès) ----- K) List of stages ----- L) List of stages classification ----- M) Start list ----- N) Rider ranking ----- O) Rider infobox ----- P) Team infobox -- .................. ----- Z) Miscellaneous / Other / Tests --Tip: search "--==" to navigate between the sections --== I) Classes declared as global == local textalign = "left" local floattable = "left" local floatinfobox = "right" if wiki == "ar" or wiki == "fa" or wiki == "ur" or wiki == "he" then textalign = "right" floattable = "right" floatinfobox = "left" end local Wikidatalogosize = "12px" if wiki == "ar" then Wikidatalogosize = "15px" end local standardtablecss=data.standardtablecss_part1..textalign..data.standardtablecss_part2 local lang_priority --for lang priority and fallback if l10n["lang_priority"] then lang_priority=l10n["lang_priority"] else --default lang_priority={} table.insert(lang_priority,wikilang) for _, lang in ipairs({'mul','en', 'fr', 'de','es','nl','it','da'}) do if lang~=wikilang then table.insert(lang_priority,lang) end end end --"country" means here, that there will be a separated column containing the country name --otherwise a flag is typically added in another column, for instance before the rider name local no_country_calendar={'ru','ar'} local no_country_victories={'ru','ar','da'} local no_country_classification={'es','da','no','ru','ar'} --to avoid wrong display, or country names becoming very long, --available_list==false --> country=false in the old code, --should be implemented here if not l10n["country_name_list"] then table.insert(no_country_calendar, wiki) table.insert(no_country_victories, wiki) table.insert(no_country_classification, wiki) end --Note about WDlink_on --On some wikipedia small wikidata flag are displayed after all data coming from wikidata --to enable that set WDlink_on on true local no_roll_startlist={'fr','da','no','ar','ru','de'} local display_language_in_riderinfobox={'ru'} local display_flag_in_riderinfobox={'ru'} local display_birthnameastitle_in_riderinfobox={'ru'} local display_noweight_in_riderinfobox={'fr','pl'} local display_noage_in_riderinfobox={'pl'} local display_nonickname_in_riderinfobox={'pl'} local display_cm_in_riderinfobox={'pl'} local silver_theme_countries={'da', 'pl'} local backgroundColor="#FFDF80" local backgroundColorLight="#FFF7DF" for _, value in pairs(silver_theme_countries) do -- get data if country should be printed in this wiki if value == wiki then backgroundColor="var(--background-color-neutral, #eaecf0)" backgroundColorLight="var(--background-color-neutral-subtle, #f8f9fa)" end end local arwiki_totemplate = false local artemp_module if wiki == "ar" then local totemplate = mw.getCurrentFrame():getParent().args["totemplate"] or mw.getCurrentFrame().args["totemplate"] if (totemplate and totemplate ~= "") then arwiki_totemplate = true end if arwiki_totemplate then artemp_module = require("Module:Cycling race/artemp") end end local dark_mode_countries={'ca', 'pl'} local picto_track=" [[File:Cycling (track) pictogram.svg|35px]]" local picto_road=" [[File:Cycling (road) pictogram.svg|35px]]" for _, value in pairs(dark_mode_countries) do if value == wiki then picto_track=" [[File:Cycling (track) pictogram.svg|35px|class=skin-invert]]" picto_road=" [[File:Cycling (road) pictogram.svg|35px|class=skin-invert]]" end end local function istrue(x) if x and (x == 1 or x == "1" or x == "true") then return true end return nil end --== II) Translation == local function translate(func_name_short, index, w_race, title) if index==1000 then --code for some custom function return title else if func_name_short then local func_name if w_race then func_name=func_name_short.."_women_translate" if l10n[func_name] and l10n[func_name][index] then return l10n[func_name][index] end end func_name=func_name_short.."_translate" if l10n[func_name][index] then return l10n[func_name][index] end return "translation for "..func_name.." index ".. tostring(index).." not found" else error('func_name found') end end end local function plural(num) local plural=false --latin language local gen_singular=false --for slavic language local gen_plural=false --for slavic language if num then if num > 1 then plural=true if num < 5 then -- 2, 3 and 4 gen_singular = true elseif num > 20 then local modulo = math.fmod( num, 10) --modulo==1 --> nothing, it is singular if modulo>1 and modulo<5 then gen_singular = true elseif modulo>4 then gen_plural=true end else gen_plural=true end end end return plural, gen_singular, gen_plural end local function black_list( Label) local black_list=l10n.black_list --[[ List of Wikipedia articles with the same lemma as the non existing rider article. Those lemmas are printed as text "black" in the tables, not "blue" or "red". This way there will be no false wikilinks at the WhatLinksHere entry. List should be updated maybe once a year. ]] return black_list[Label] end local function country_name_from_list(countryID) if l10n["country_name_list"] and l10n["country_name_list"][countryID] then return l10n["country_name_list"][countryID] end return nil end local function stageLink(x, a, b) -- x= 10a: a = 10, b = a. x = 5: a = 5, b = "" local word1 local word2=translate("func_prologue",2) --stage local word=word2 if wiki=="ar" then return word2 .. " " .. ( a or "" ) , "#" .. word2 .. " " .. ( a or "" ) end -- fr: {{1re}} étape, {{2e}} étape if wiki=="fr" then if b == "" then -- series_ordinal without character if a == "1" then word1 = "1<sup>re</sup> "..word else word1 = a.."<sup>e</sup> "..word end -- table text = {{1re}} étape, {{2ae}} étape, if a == "1" then word2 = "#1re "..word else word2 = "#"..a.."e "..word end --text of section header = #1re étape, #2e étape return word1, word2 end if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a" if a == "1" then word1 = "1<sup>re</sup> "..b.." "..word else word1 = a.."<sup>e</sup> "..b.." "..word end -- table text = {{1re}} étape, {{2ae}} étape, if a == "1" then word2 = "#1re "..b.." "..word else word2 = "#"..a.."e"..b.." "..word end --text of section header = #1re étape, #2e étape return word1, word2 end end if wiki=="hu" then if b == "" then return a..". "..word, "#"..a..". "..word else return a..b.." "..word, "#"..a..b.." "..word end end if wiki=="de" or wiki=="da" or wiki=="fo" or wiki=="lb" or wiki=="no" then return a..". "..b.." "..word, "#"..a..". "..b.." "..word end if wiki=="ca" then return a.."a "..b.." "..word, "#"..a..". "..b.." "..word end if wiki=="es" then return a..".ª "..word.." "..b, "#"..a..".ª "..word.." "..b end if wiki=="ast" then if b == "" then -- series_ordinal without character if a == "1" or a == "3" then word1 = a.."ᵉʳ "..word else word1 = a.."ª "..word end -- table text = 1ᵉʳ etapa, 2ª etapa, 3ᵉʳ etapa, if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..word else word2 = "#"..a.."ª "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa, #3ᵉʳ etapa return word1, word2 end if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a" if a == "1" or a == "3" then word1 = a.."ᵉʳ "..b.." "..word else word1 = a.."ª "..b.." "..word end -- table text = {{1ᵉʳ}} etapa, {{2ª}} etapa, if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..b.." "..word else word2 = "#"..a.."ª"..b.." "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa return word1, word2 end end -- default word1 = x -- table text = 1, 2a, 3 word2 = "#"..word.." ".. x -- text of section header = #Etappe 2a, #Stage 4 return word1, word2 end local function typeofstage(x, typ, noborder) -- plain, hilly, inter, ... must be "" or "any text" -- l10nDef[""] = {plain = "", hilly="", inter='', mount='', time_prologue='', time_team='', time_indiv='', uphill='', rest=''} local l10n=l10n["type_of_stage_translate"] local border if noborder then border="" else border="|border|right" end local stages = { ["plain stage"] = "[[File:Plainstage.svg"..border.."|20px|"..l10n.plain.."]]", ["hilly stage"] = "[[File:Hillystage.svg"..border.."|20px|"..l10n.hilly.."]]", ["intermediate stage"] = "[[File:Mediummountainstage.svg"..border.."|20px|"..l10n.inter.."]]", ["mountain stage"] = "[[File:Mountainstage.svg"..border.."|20px|"..l10n.mount.."]]", ["uphill time trial stage"] = "[[File:Mountain Time Trial Stage.svg"..border.."|20px|"..l10n.uphill.."]]", ["rest day"] = "[[File:Stage rest day.svg"..border.."|20px|"..l10n.rest.."]]" } if arwiki_totemplate then return artemp_module.arwiki_typeofstage(x, typ) end if stages[x] then return stages[x] end if x=='time trial stage' then if noborder then border="" else border="|right" end local stages2 = { ["Q2348250"] = "[[File:Team Time Trial Stage.svg"..border.."|20px|"..l10n.time_team.."]]", ["Q2266066"] = "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_indiv.."]]", ["Q485321"] = "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_prologue.."]]" } if stages2[typ] then return stages2[typ] end end end local function typeofstagelogo(stageID, noborder) local sType p = mw.wikibase.getBestStatements(stageID, 'P31') -- P31 is 'instance of' local stages = { ["Q20646667"] = {"plain stage", nil}, ["Q20646670"] = {"hilly stage", nil}, ["Q20680270"] = {"intermediate stage", nil}, ["Q20646668"] = {"mountain stage", nil}, ["Q485321"] = {"time trial stage", "Q485321"}, -- prologue ["Q2266066"] = {"time trial stage", "Q2266066"}, -- individual time trial ["Q2348250"] = {"time trial stage", "Q2348250"}, -- team time trial ["Q20679712"] = {"uphill time trial stage", nil} } for _, t in pairs(p) do if t.mainsnak.snaktype == 'value' then local iOf = t.mainsnak.datavalue.value.id if stages[iOf] then sType = typeofstage(stages[iOf][1], stages[iOf][2], noborder) break end end end return sType or '' end --== III) basic functions --[[ Get any value for a property which is not deprecated ]] local function firstValue(QID, PID, field) if QID then local ss = wikibase.getAllStatements(QID, PID) for _, s in pairs(ss) do if s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then return field and s.mainsnak.datavalue.value[field] or s.mainsnak.datavalue.value end end else return nil end end --[[ Go from season of a team to the team ]] local function getParentID(teamID) return firstValue(teamID, 'P5138', 'id') -- P361 is 'part of' or firstValue(teamID, 'P361', 'id') -- P5138 is 'season of club or team' end --[[ Get a label in any of the languages in the fallback list of language codes ]] local function getLabelFallback(itemID, fallback) local label if fallback==nil then --default fallback=lang_priority end for _, lang in ipairs(fallback) do label = mw.wikibase.getLabelByLang(itemID, lang) if label then break end end return label end --[[ Get a sitelink from the local wiki or from the fallback list of language codes ]] local function getSitelinkFallback(itemID, fallback) local link = mw.wikibase.getSitelink(itemID) if link then return link end for _, lang in ipairs(fallback) do link = mw.wikibase.getSitelink(itemID, lang .. 'wiki') if link then return link end end return nil end local function get_lf(frame) local lf = frame if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then lf = frame:getParent() end -- if wiki == "ar" then lf = frame:getParent() or frame end return lf end local function get_and_checkID(frame) local lf = get_lf(frame) local entityID = mw.text.trim(lf.args[1]) entityID= string.gsub(entityID, "%c", "") --probably redundant if type(entityID) ~= 'string' then error('parameter must be a string') end if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end return entityID, lf end local function make_IllWD2_link(q, arlabel, enlabel, text) local argse = { ["المعرف"] = q, target='en'} if arlabel and arlabel ~= '' then argse.label = arlabel elseif enlabel and enlabel ~= '' then argse.enlabel = enlabel end if text and text ~= "" then argse.text = text end local final = "" if arwiki_totemplate then final = "{{Ill-WD2" for k,v in pairs(argse) do final = final .. "|" .. k .. "=" .. v end final = final .. "}}" else argse.nocat = "t" final = mw.getCurrentFrame():expandTemplate{ title = 'Ill-WD2', args = argse } end return final end --[[ Iterator to get all statements for an entity and property which are not deprecated and have a value]] local function nextStatement(state, i) repeat i = i + 1 local s = state[i] if s and s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then return i, s end until s == nil end local function statements(QID, PID) return nextStatement, wikibase.getAllStatements(QID, PID), 0 end --[[ Iterator to get all qualifier values for a property for a statement]] local function nextQualifier(state, i) repeat i = i + 1 local q = state[i] if q and q.snaktype == 'value' then return i, q.datavalue end until q == nil end local function qualifiers(statement, PID) return nextQualifier, statement.qualifiers and statement.qualifiers[PID] or {}, 0 end local function qualifieramount(element, property) local result for _, q in qualifiers(element, property) do result = tonumber(q.value.amount) break end return result end local function dispmoney(amount, unit) if amount and unit then local cost = contentLanguage:formatNum(tonumber(amount)) if wiki == 'fo' then cost = string.gsub(cost, "%.", ",") end if unit == "http://www.wikidata.org/entity/Q4916" then cost = cost .. ' €' elseif unit == "http://www.wikidata.org/entity/Q4917" then cost = cost .. ' $' end return cost end return nil end --== IV) Functions less basic called from other functions == --=== A) Time functions === --[[ Get a Wikidata statement for an entity and property valid at the given timevalue ]] local function checktime(s,q, time) local start, startPrecision, END, endPrecision, timePrecision if not q or not time then return s end local _, _, _, m, _ = string.find(time, "(%d+)%p(%d+)%p(%d+)") if m=="00" then timePrecision=9 end if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time start = q.P580[1].datavalue.value.time startPrecision = q.P580[1].datavalue.value.precision if startPrecision == 9 or timePrecision==9 then -- precision is years start = string.sub(start, 1, 5) -- Cut of everything after year elseif startPrecision == 10 then -- precision is months start = string.sub(start, 1, 8) -- Cut of everything after month end end if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time END = q.P582[1].datavalue.value.time endPrecision = q.P582[1].datavalue.value.precision end if not start or start <= time then if not END then return s end if endPrecision == 9 or timePrecision==9 then -- precision 9 is 'years' END = string.sub(END, 1, 6) .. '13' -- Set month to 13 elseif endPrecision == 10 then -- precision 10 is 'months' END = string.sub(END, 1, 9) .. '32' -- Set day to 32 end if END >= time then return s end end return nil end local function getStatementForTime(ID, property, time) local temp for _, s in statements(ID, property) do temp =checktime(s, s.qualifiers, time) if temp then return temp end end return nil end --Display date interval in a natural way: --long: --4-5 January 2020 --4 January - 2 February 2020 --4 January 2020 - 2 February 2021 --small is the same with short month names --Does not work properly if the precision is not sufficient local function getStartEndTime(sTime, eTime, mode) -- Note: Add the 4formats to "formats" and use funcDate local lang = contentLanguage local starttime, endtime --local format = formats[wiki] or formats[''] if mode==nil then mode='long' end -- Timevalues is like "+2015-07-04T00:00:00Z" local y, m = string.match(sTime, "(%d+)-(%d+)-%d+") local y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+") if m=='00' then --manage the 30 November issue if mode=='long' or mode=="verylong" then starttime =lang:formatDate( "Y", sTime ) else starttime ='-' end else if y ~= y2 then if mode=='long' or mode=="verylong" then starttime = lang:formatDate( "j F Y", sTime ) else starttime = lang:formatDate( "j M Y", sTime ) end elseif m ~= m2 then if mode=='long' or mode=="verylong" then starttime = lang:formatDate( "j F", sTime ) else starttime = lang:formatDate( "j M", sTime ) end else starttime = lang:formatDate( "j", sTime ) end if wiki == "ar" then if y ~= y2 then starttime = lang:formatDate( "d F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "d F", sTime ) else starttime = lang:formatDate( "d ", sTime ) end elseif wiki == "br" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .." " end elseif wiki == "ca" or wiki == "es" or wiki == "ast" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime ) .." de ".. lang:formatDate( "Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .." " end elseif wiki == "cs" then if y ~= y2 then starttime = lang:formatDate( "j. xg Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j. xg", sTime ) else starttime = lang:formatDate( "j", sTime ) end elseif wiki == "de" or wiki == "da" or wiki == "fo" or wiki == "lb" or wiki == "no" then if y ~= y2 then starttime = lang:formatDate( "j. F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j. F", sTime ) else starttime = lang:formatDate( "j.", sTime ) end elseif wiki == "fi" then if y ~= y2 then starttime = lang:formatDate( 'j. F"ta" Y', sTime ) elseif m ~= m2 then starttime = lang:formatDate( 'j. F"ta"', sTime ) else starttime = lang:formatDate( "j.", sTime ) end elseif wiki == "eo" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .."-a " end elseif wiki == "eu" then if y ~= y2 then starttime = lang:formatDate( "Y", sTime ) ..".eko ".. lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) else starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) end elseif wiki == "hu" then starttime = lang:formatDate( "Y. F j.", sTime) elseif wiki == "ja" then if y ~= y2 then starttime = lang:formatDate( "Y年m月d日", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "Y年m月d日", sTime ) else starttime = lang:formatDate( "Y年m月d日", sTime ) end elseif wiki == "lv" then if m ~= m2 then starttime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", sTime ) else starttime = lang:formatDate( "Y. \\g\\a\\d\\a j.", sTime ) end elseif wiki == "pl" then if y ~= y2 then starttime = lang:formatDate( "j xg Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j xg", sTime ) else starttime = lang:formatDate( "j", sTime ) end end end if m2=='00' then --manage the 30 November issue if mode=='long' or mode=="verylong" then endtime= lang:formatDate( "Y", eTime ) else endtime= '-' end else if (mode=='long' and y ~= y2) or mode=="verylong" then endtime = lang:formatDate("j F Y", eTime) elseif y ~= y2 then --small endtime = lang:formatDate("j M Y", eTime) elseif mode=='long' then endtime = lang:formatDate("j F", eTime) else endtime = lang:formatDate("j M", eTime) end if wiki == "ar" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "d F Y", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "d F Y", eTime ) else endtime = lang:formatDate( "d F Y", eTime ) end elseif wiki == "br" then endtime = lang:formatDate( "j", eTime ) .." a viz ".. lang:formatDate( "F Y", eTime ) elseif wiki == "ca" or wiki == "es" or wiki == "ast" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "j", eTime ) .." de ".. lang:formatDate( "F", eTime ) .." de ".. lang:formatDate( "Y", eTime ) else endtime = lang:formatDate( "j", eTime ) .." de ".. lang:formatDate( "F", eTime ) end elseif wiki == "cs" then endtime = lang:formatDate( "j. xg Y", eTime ) elseif wiki == "de" or wiki == "da" or wiki == "fi" or wiki == "fo" or wiki == "lb" or wiki == "no" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "j. F Y", eTime ) else endtime = lang:formatDate( "j. M", eTime ) end elseif wiki == "eo" then endtime = lang:formatDate( "j", eTime ) .."-a de ".. lang:formatDate( "F Y", eTime ) elseif wiki == "eu" then endtime = lang:formatDate( "Y", eTime ) ..".eko ".. lang:formatDate( "F", eTime ) .."k ".. lang:formatDate( "j", eTime ) elseif wiki == "fi" then endtime = lang:formatDate('j F"ta" Y', eTime) elseif wiki == "hu" then if y ~= y2 then endtime = lang:formatDate( "Y. F j.", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "F j.", eTime ) else endtime = lang:formatDate( "j.", eTime ) end --endtime = lang:formatDate( "Y", eTime ) ..". ".. lang:formatDate( "F j", eTime ) .."." elseif wiki == "ja" then if y ~= y2 then endtime = lang:formatDate( "Y年m月d日", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "m月d日", eTime ) else endtime = lang:formatDate( "d日", eTime ) end elseif wiki == "lv" then if y ~= y2 then endtime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", eTime ) else endtime = lang:formatDate( "j. F", eTime ) end elseif wiki == "pl" then endtime = lang:formatDate( "j xg Y", eTime ) end end return starttime, endtime end local formats = data.formats -- Display the date, the mode changes the format local function funcDate(date, mode) -- local date = '+2016-05-20' -- local mode = 'small' local format = formats[wiki] or formats[''] local lang = contentLanguage --handle problems with lack of precision local dispDate = date if date and string.sub(date,7,8)=='00' then -- lack of month dispDate= string.sub(date,1,6).."01-01"..string.sub(date,12) if mode == 'long' or mode == 'onlyyear' or mode == 'monthly' then mode = 'onlyyear' else mode = 'nodate' end elseif date and string.sub(date,10,11)=='00' then -- lack of day dispDate= string.sub(date,1,9).."01"..string.sub(date,12) if mode == 'long' then mode = 'monthly' elseif mode == 'small' then mode = 'onlymonth' elseif mode == 'onlyday' then mode = 'nodate' end end if format[mode] == nil then mode = 'nodate' end return contentLanguage:formatDate(format[mode], dispDate) end --[[ get the year for a race as a string, or an empty string]] local function getYear(raceID) local year = firstValue(raceID, 'P580', 'time') or -- P580 is 'start time' firstValue(raceID, 'P585', 'time') -- P585 is 'point in time' if year then return string.sub(year, 2, 5) end return '' end local function isdisqualified(p,q) --disqualification can use deprecated or P1534 local cancelled="" local disqualified=false if p and p.rank=='deprecated' then cancelled='text-decoration:line-through;' disqualified=true else if q and q.P1534 and q.P1534[1].snaktype == 'value' then local tempdsq=q.P1534[1].datavalue.value.id if tempdsq=='Q1229261' then cancelled='text-decoration:line-through;' disqualified=true end --disqualified end end return cancelled, disqualified end --=== B) Link functions === local function getOfficialName(teamID, timeOfRace,season,strict) -- for team --return officialName, isLocal local strictLang = {mk = true} local cyrillic = {mk = true, ru = true} local strictLangBool= strictLang[wiki] or strict local correcttime, best, name, nametemp local wantedLanguages = {} for i, lang in ipairs(lang_priority) do wantedLanguages[lang] = i end --case one, one official name / period overloaded with other languages as qualifier --for instance https://www.wikidata.org/wiki/Q195833 best = 999 for _, p1448 in statements(teamID, 'P1448') do correcttime=true if timeOfRace and timeOfRace ~='' then correcttime =checktime(p1448, p1448.qualifiers, timeOfRace) end if correcttime then if p1448.qualifiers and p1448.qualifiers.P1448 then local q = p1448.qualifiers.P1448 best = 999 for _, l in pairs(q) do if l.snaktype == 'value' then local lang = l.datavalue.value.language if wantedLanguages[lang] and wantedLanguages[lang] < best then best = wantedLanguages[lang] name = l.datavalue.value.text end end end if name then return name, true end end --p1448 and correct time, look in the not qualifier part lang=p1448.mainsnak.datavalue.value.language if strictLangBool then if wiki==lang then name = p1448.mainsnak.datavalue.value.text end elseif wantedLanguages[lang] and wantedLanguages[lang] < best then best = wantedLanguages[lang] name = p1448.mainsnak.datavalue.value.text else if cyrillic[lang]==nil then --don't display cyrillic for latin wiki nametemp = p1448.mainsnak.datavalue.value.text end end end end if name then return name, true elseif not strictLangBool and nametemp then return nametemp, false end --no official name, get label local label=wikibase.getLabel(teamID) if season and season==true then if label then return string.sub(label,1,label:len()-5),true end -- else return label, true -- No official name, try label end end local function revertfirstlast(name) local nametable = mw.text.split(name, ",") if nametable[2] then --there is a coma return nametable[2].." "..nametable[1] else return nametable[1] end end local function checksitelink(sitelink, label) if sitelink==label then return "[[" .. sitelink .."]]" else return "[[" .. sitelink .. "|" .. label.. "]]" end end -- RiderID --> RiderLink local function getRiderLink(riderID, startOfSeason) --startOfSeason optional --Priority order --#1 P1813, short name, in correct alphabet, correct time --#2 P1448, official name, in correct alphabet, correct time --#3 sitelink (so label from wikipedia) in correct language --#4 label from wikidata in correct language --#5 label from wikidata in another language local strictLang = {mk = true, ru = true} local strictLangBool= strictLang[wiki] local sitelink = wikibase.getSitelink(riderID) local officialname,officialnametemp, language, name local correctlanguage=false local listOfProperty={'P1813','P1448'} for _, prop in ipairs(listOfProperty) do for _, p1813 in statements(riderID, prop) do if not officialname or not correctlanguage then language = p1813.mainsnak.datavalue.value.language officialnametemp = p1813.mainsnak.datavalue.value.text if strictLangBool then if wiki==language then name=officialnametemp --only exact language correctlanguage=true end else if wiki==language then --exact language --> ok name=officialnametemp correctlanguage=true elseif strictLang[language]==nil and not officialname then --normally all "latin" languages use the same name, except for cyrillic translation local russianLabel= wikibase.getLabelByLang(riderID, "ru") if russianLabel then local russianEnd=string.sub(russianLabel, -3) if russianEnd~="вна" and russianEnd~="вич" then --otherwise rejected name=officialnametemp correctlanguage=false end else -- no russian label, it is most probably not a cyrillic translation name=officialnametemp --any language latin correctlanguage=false end end end if startOfSeason~= nil then local q = p1813.qualifiers if q then local temp = checktime(name,q,startOfSeason) if temp then officialname = name end--if the time is correct than it is finished else officialname = name end else officialname = name end end end end if sitelink and officialname then --if there is an official name, then use it return checksitelink(sitelink, officialname), correctlanguage else if officialname then return officialname end if sitelink then if wiki == "de" then local label = wikibase.getLabelByLang(riderID, wiki) if label then local p27 = wikibase.getBestStatements(riderID, 'P27') -- P27 is country of citizenship if p27[1] and p27[1].mainsnak.snaktype == 'value' then local c = p27[1].mainsnak.datavalue.value.id if c=="Q159" or c=="Q184" or c=="Q212" or c=="Q232" then -- Q159, Q184, Q212, Q232 is Russia, Belarus, Ukraine, Kazakhstan return checksitelink(sitelink, label), correctlanguage end end end end if wiki == 'ru' then local label = revertfirstlast(mw.text.trim(string.gsub(sitelink, "%b()", ""), " ")) return checksitelink(sitelink, label), correctlanguage else return checksitelink(sitelink, mw.text.trim(string.gsub(sitelink, "%b()",""), " ")), correctlanguage end end -- No WP article. Display label, and make it a red link if no other article uses the title local link local label = wikibase.getLabelByLang(riderID, wiki) if label then if wiki == 'ar' then link = make_IllWD2_link(riderID, label) else if wiki=='ru' then label=revertfirstlast(label) end if black_list( label) then link = label else local title = mw.title.new(label) if title and title.exists then link = label else link = "[[" .. label.. "]]" end end end return link, correctlanguage end -- No label in the local language. Try other languages, but don't link. correctlanguage=false if wiki == 'ar' then link = make_IllWD2_link(riderID) else link = getLabelFallback(riderID) if link then link = string.gsub(link, "%b()", "") else link = "(label missing)" end end return link, correctlanguage end end -- Get the countryID, return a single one, not a list local function getCountryID(entityID, timeOfRace) local countryID if entityID then local stm = getStatementForTime(entityID, 'P1532', timeOfRace) -- P1532 is country for sport if stm == nil then stm = getStatementForTime(entityID, 'P17', timeOfRace) -- P17 is country end if stm then countryID = stm.mainsnak.datavalue.value.id end end return countryID end --[[ Get the name of a country ]] local function getCountryName(countryID) local name = country_name_from_list(countryID) if name == nil then local label, lang = wikibase.getLabelWithLang(countryID) --[[ Uses standard language fallback. Should not return nil, nil, as all countries have English labels. ]] if lang == wikilang then name = label elseif lang then name = label .. ' (' .. lang .. ')' end end return name or '' end --[[ Get sitelink with no wiki no formating ]] local function getRawTeamLink(teamID) local sitelink local parentID = getParentID(teamID) if parentID then -- try parent team first sitelink = mw.wikibase.getSitelink(parentID) end if not sitelink then sitelink = mw.wikibase.getSitelink(teamID) end return sitelink end --[[ Get sitelink, categoryID and maybe country for a team. Returns sitelink, team category ID, countryID (only countryID if country arg is true ]] local function getTeamLinkCat(teamID, timeOfRace, country, forceParentlink) local name, sitelink, catID, countryID, p31 local parentID = getParentID(teamID) local season=false -- Find team category --Hypothesis, it is a season, look in P2094 for _, p2094 in statements(teamID, 'P2094') do if checktime(p2094, p2094.qualifiers, timeOfRace) then if data.teamCats[p2094.mainsnak.datavalue.value.id] then catID = p2094.mainsnak.datavalue.value.id season=true break end end end --check if season if season==false then --otherwise already clear for _, p in statements(teamID, 'P31') do local natureID = p.mainsnak.datavalue.value.id if natureID=="Q53534649" then season=true break end end end --look by the parent, then P31 is used for the category if (not catID and parentID and season) then p31 = getStatementForTime(parentID, 'P31', timeOfRace) elseif not season then --it is the team look in the team directly p31 = getStatementForTime(teamID, 'P31', timeOfRace) end if p31 and data.teamCats[p31.mainsnak.datavalue.value.id] then catID = p31.mainsnak.datavalue.value.id end -- Find country if needed if country or data.natTeamCats[catID] then countryID = getCountryID(teamID, timeOfRace) end if countryID and data.natTeamCats[catID] then if countryID=='Q145' then name = getCountryName('Q23666') else --to solve the United-Kingdom/Great Britain problem by national team name = getCountryName(countryID) end local t={Q20738667=34, Q54555994=35, Q99658502=36} if t[catID] then --add U23, U19, B, (note: why "B" and not B) name = name ..' '..translate("headoftableIII",t[catID]) end sitelink = getRawTeamLink(teamID) else -- It is not a national cycling team local isLocal if season and not forceParentlink then sitelink = wikibase.getSitelink(teamID) name, isLocal = getOfficialName(teamID, timeOfRace,true) --problem here is that the label will be used if no official name, official name of the parent would actually be better... if not sitelink and parentID then sitelink = wikibase.getSitelink(parentID) end else if parentID then -- try parent team first sitelink = wikibase.getSitelink(parentID) name, isLocal = getOfficialName(parentID, timeOfRace) end if not sitelink then sitelink = wikibase.getSitelink(teamID) end end if not name or (not isLocal and l10n["lang_priority"]) then local partName, partIsLocal = getOfficialName(teamID, timeOfRace) if partName and (not name or partIsLocal) then name = partName end end end if sitelink then if name then sitelink = '[[' .. sitelink .. '|' .. name .. ']]' else sitelink = '[[' .. sitelink .. ']]' end else if wiki == "ar" then local arlabel = mw.wikibase.getLabelByLang((parentID or ''), 'ar') or "" local texte = mw.wikibase.getLabelByLang(teamID, 'ar') or "" sitelink = make_IllWD2_link((parentID or teamID), arlabel, name, texte) else if name then sitelink = name else sitelink = (parentID and wikibase.getLabel(parentID)) or wikibase.getLabel(teamID) or 'No name' end end end return sitelink, catID, countryID end local function getTeamCodeCat(teamID, timeOfRace) -- Find team category local codeUCI local p1998 =getStatementForTime(teamID, 'P1998', timeOfRace) if p1998 then codeUCI = p1998.mainsnak.datavalue.value else local parentID = getParentID(teamID) if parentID then p1998 =getStatementForTime(parentID, 'P1998', timeOfRace) if p1998 then codeUCI = p1998.mainsnak.datavalue.value end end end return codeUCI end local function getReference(lf,statement, outputLocal) local function formatRefDate(date, precision) if precision == 9 then -- Precision is year return string.sub(date, 2, 5) elseif precision == 10 then -- Precision is month return contentLanguage:formatDate("F Y", string.sub(date, 2, 8)) elseif precision >= 11 then -- Precision is day (or less) return funcDate(date, 'long') end end local ref = statement.references if not ref or not ref[1] then return nil end ref = ref[1].snaks if ref.P854 and ref.P854[1] and ref.P854[1].snaktype == 'value' then -- P854 is 'reference URL' local refURL = ref.P854[1].datavalue.value local refTitle = '' local refDate = '' local refRetrieved = '' local refLang = '' if ref.P1476 and ref.P1476[1] and ref.P1476[1].snaktype == 'value' then -- P1476 is 'title URL' refTitle = ref.P1476[1].datavalue.value.text local lang = ref.P1476[1].datavalue.value.language if lang ~= wikilang then refLang = '(' .. lang .. ')' if wiki == 'ar' then refLang = lang end end end if ref.P577 and ref.P577[1] and ref.P577[1].snaktype == 'value' then -- P577 is 'publication date' local value = ref.P577[1].datavalue.value refDate = formatRefDate(value.time, value.precision) if (wiki == 'ar') then refDate = refDate else refDate = ', ' .. refDate end end if ref.P813 and ref.P813[1] and ref.P813[1].snaktype == 'value' then -- P813 is 'retrieved' local value = ref.P813[1].datavalue.value refRetrieved = formatRefDate(value.time, value.precision) if wiki == "de" then refRetrieved = ", (abgerufen am " .. refRetrieved .. ')' elseif wiki == "ar" then refRetrieved = refRetrieved elseif wiki == "fr" then refRetrieved = " (consulté le " .. refRetrieved .. ')' elseif wiki == "da" then refRetrieved = " Hentet " .. refRetrieved .. '.' else refRetrieved = " Retrieved " .. refRetrieved .. '.' end end local domain = string.match(refURL, '//([^/]+)') if string.sub(domain, 1, 4) == 'www.' then domain = string.sub(domain, 5) end local refText if wiki == "ar" then refText = '{{web cite' .. '|url = ' .. refURL .. '|title= ' .. refTitle .. '|lang = ' .. refLang .. '|website=' .. domain .. '|date=' .. refDate .. '|accessdate=' .. refRetrieved .. '}}' elseif wiki == "fr" then -- fr: "(en) « Lloyd Mondory ... EPO », sur velonews.competitor.com (consulté le 30 april 2016), 30 octobre 2015." local sur = ', sur <span style="font-style:italic;"> ' .. domain .. '</span>' refText = refLang .. ' « ['.. refURL .. ' '.. refTitle .. '] »' .. sur .. refRetrieved .. refDate .. '.' elseif wiki == "de" then local In = ' In: <span style="font-style:italic;">' .. domain .. '</span>' refText = '<span style="font-style:italic;">['.. refURL.. ' '.. refTitle.. '.]</span> ' .. In .. refDate .. refRetrieved ..'.' else local at = ', <span style="font-style:italic;"> ' .. domain .. '</span>' refText = refLang .. ' [' .. refURL .. ' ' .. refTitle .. ']' .. at .. refDate .. '.' .. refRetrieved end if outputLocal==1 then return refText else local refargs = {} if wiki ~= "ar" then refargs.name = refText end return lf:extensionTag('ref', refText, refargs) end end end --Some wikipedia, like WP:ar, don't use model like --{{#invoke:Cycling race/infobox|Q123}} --But have the module included in another module --{{#invoke:wikidata|Cycling race/infobox|... --in this case frame does not refer to the arguments of /infobox but to the wanted ones --read https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#frame-object local function get_arg(index, lf, number) if lf.args[index] then if number then return tonumber(lf.args[index]) else return string.gsub(lf.args[index], "%c", "") end end return nil end local function getImageOrMap(QID, PID) local p18 = wikibase.getBestStatements(QID, PID) -- P18 is 'image' local first for _, image in pairs(p18) do if image.mainsnak.snaktype == 'value' then if not first then first = image.mainsnak.datavalue.value end local q = image.qualifiers if q and q.P2096 then for _, caption in pairs(q.P2096) do -- P2096 is 'caption' if caption.snaktype == 'value' and caption.datavalue.value.language == wikilang then return image.mainsnak.datavalue.value, caption.datavalue.value.text end end end end end return first end local function getLogo(QID) return getImageOrMap(QID, 'P154') end local function getImage(QID) return getImageOrMap(QID, 'P18') end local function getMap(QID) return getImageOrMap(QID, 'P242') end local function getSectionalView(QID) return getImageOrMap(QID, 'P2713') end --[[ Get link for race or competition]] local function raceLink(QID) local sitelink = wikibase.getSitelink(QID) local instanceOf = firstValue(QID, 'P3450', 'id') if instanceOf == nil then instanceOf = firstValue(QID, 'P31', 'id') -- P31 is 'instance of' end if instanceOf == 'Q1137352' then -- Q1137352 is 'French Road Cycling Cup' local label2 = wikibase.getLabel(instanceOf) if sitelink then if label2 then return '[[' .. sitelink .. '|' .. label2 .. ']]' end return '[[' .. sitelink .. ']]' end local sitelink2 = wikibase.getSitelink(instanceOf) if sitelink2 then return '[[' .. sitelink2 ..'|' .. string.gsub(sitelink2, " %b()", "") .. ']]' end if label2 then return label2 end end if sitelink then return "[[".. sitelink.. "]]" end return wikibase.getLabel(QID) or '' end local function getPlaceLink(placeID,timeOfRace) local sitelink = wikibase.getSitelink(placeID) local name = country_name_from_list(placeID) if name==nil then name=getOfficialName(placeID, timeOfRace,nil,true) --name should be in the right language end if sitelink then -- Delete " (...)" form e.g. "Unley (South Australia)" if name ~=nil then return '[[' .. sitelink .. '|' .. name .. ']]' else return '[[' .. sitelink .. '|' .. string.gsub(sitelink, ' %b()', '') .. ']]' end end local label = wikibase.getLabel(placeID) or '' if wiki == 'ar' then arlabel = wikibase.getLabelByLang(placeID, "ar") return make_IllWD2_link(placeID, arlabel) end return contentLanguage:ucfirst(label) end -- ClassID --> ClassLink -- some WPs use a unique article for this case local function classLinkFn(classID, circuitID) local link, label if wiki~="fr" then --not used link= wikibase.getSitelink('Q22348500') -- Q22348500 is 'cycling race class' elseif circuitID then link =wikibase.getSitelink(circuitID) --optional parameter to obtain [circuitlink|class label] end if classID=="Q18536594" then if wiki=="fr" then label="JO" else label="OG" end else label = getLabelFallback(classID) end if label and link then link = '[[' .. link .. '|' .. label .. ']]' elseif link then link = '[[' .. link .. ']]' elseif label then link = label else link='' end if wiki == "ar" then-- right now Q22348500 has no link in "ar" link = make_IllWD2_link(classID , "", label) end return link end --[[ Get local content to a infoboxe from template args ]] local function getLocalContent(contents, args) for _, content in pairs(contents) do local name = content.name if not name then error('translation missing in Module:Cycling race/l10n of your wikipedia') end local nameNoShy = string.gsub(name, '&#173;', '') -- filter soft hyphen out local nameNoShyLow, name_pluralNoShyLow if nameNoShy then nameNoShyLow = mw.ustring.lower(nameNoShy) end local name_plural = content.name_plural local name_pluralNoShy = name_plural and string.gsub(name_plural, '&#173;', '') -- filter soft hyphen out if name_pluralNoShy then name_pluralNoShyLow = mw.ustring.lower(name_pluralNoShy) end if args[nameNoShy] and args[nameNoShy] ~= '' then if content.special then local newname, value = string.match(args[nameNoShy], '([^:]+):(.*)') if value and mw.text.trim(value) ~= '' then content.name = mw.text.trim(newname) content.content = mw.text.trim(value) end else content.content = mw.text.trim(args[nameNoShy]) end elseif nameNoShyLow and args[nameNoShyLow] and args[nameNoShyLow] ~= '' then if content.special then local newname, value = string.match(args[nameNoShyLow], '([^:]+):(.*)') if value and mw.text.trim(value) ~= '' then content.name = mw.text.trim(newname) content.content = mw.text.trim(value) end else content.content = mw.text.trim(args[nameNoShyLow]) end elseif args[name_pluralNoShy] and args[name_pluralNoShy] ~= '' then content.name = content.name_plural content.content = mw.text.trim(args[name_pluralNoShy]) elseif name_pluralNoShyLow and args[name_pluralNoShyLow] and args[name_pluralNoShyLow] ~= '' then content.name = content.name_plural content.content = mw.text.trim(args[name_pluralNoShyLow]) end end end local function checkDis(q) --discipline dis="road" local sport_id=nil if q and q.P641 and q.P641[1] and q.P641[1].snaktype == 'value' then sport_id=q.P641[1].datavalue.value.id elseif q and q.P642 and q.P642[1] and q.P642[1].snaktype == 'value' then --fallback sport_id=q.P642[1].datavalue.value.id end if sport_id then if sport_id == 'Q520611' or sport_id =='Q1031445' then onlyRoad=false dis="mountainBike" elseif sport_id == 'Q335638' then onlyRoad=false dis="cycloCross" elseif sport_id == 'Q221635' then onlyRoad=false dis="track" end end return dis end -- Rider --> Team link local function getTeam(riderID, timeOfRace, q) -- q: qualifiers of statement in race entity where the rider is the value local teamID, link, catID, countryID if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team teamID = q.P54[1].datavalue.value.id link, catID, countryID = getTeamLinkCat(teamID, timeOfRace) else for _, s in statements(riderID, 'P54') do if not link then --like a break p54 =checktime(s, s.qualifiers, timeOfRace) if p54 then dis=checkDis(p54.qualifiers) if dis=='road' then --by default teamID = p54.mainsnak.datavalue.value.id link, catID, countryID = getTeamLinkCat(teamID, timeOfRace) end end end end end return link, teamID, catID, countryID end --RiderID --> UCI code local function getTeamCode(riderID, timeOfRace, q) -- q: qualifiers of statement in race entity where the rider is the value local teamID, code if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team teamID = q.P54[1].datavalue.value.id code = getTeamCodeCat(teamID, timeOfRace) else local p54 = getStatementForTime(riderID, 'P54', timeOfRace) if p54 then teamID = p54.mainsnak.datavalue.value.id code= getTeamCodeCat(teamID, timeOfRace) end end return code end local function seasonToTeamID(teamID) if teamID then local parentID=getParentID(teamID) if parentID then--season was used return parentID else return teamID end else return nil end end local function wdLink(id) local text = "[[File:Wikidata-logo S.svg| " .. Wikidatalogosize .. "|link=d:" .. id .. "]]" if arwiki_totemplate then text = artemp_module.wdLink(id) end return text end local function WPlinkpure(Qnumber) local link='' local Sitelink = wikibase.getSitelink(Qnumber) -- link to WParticle local Label = getLabelFallback(Qnumber) or '' if Sitelink ~= nil then link = "[[" .. Sitelink .. "|" .. mw.text.trim(string.gsub(Sitelink, "%b()", "")..' ') .. "]]" elseif wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(Qnumber, 'ar') or "" link = make_IllWD2_link(Qnumber , arlabel , Label) else link = mw.ustring.gsub(Label, "^(%a)", function (x) return mw.ustring.upper(x) end) end return link end --=== C) Function for the output === local function getCountryBool(no_country_list) local country = true if no_country_list then for _, value in pairs(no_country_list) do -- get data if country should be printed in this wiki if value == wiki then country = false end end end return country end local function handle_error_message(s) local error_message='' if s.error_message and s.error_message ~= 0 then error_message = func_error_message( 1) error_message = mw.ustring.gsub(error_message, "<1>", s.property) error_message = mw.ustring.gsub(error_message, "<2>", mw.wikibase.label( s.item )) error_message = mw.ustring.gsub(error_message, "<3>", s.item) error_message = ' [[File:Exclam icon.svg|12px|'.. error_message .. ']]' end return error_message end local function tableA(s) local error_message=handle_error_message(s) local t = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '0') :attr('cellspacing', '0') :css('border' , '1px solid var(--border-color-subtle, #c8ccd1)') :css('padding', '3px') local title =translate(s.header_function,s.header_1, s.w_race, s.title) if s.header_1 == 19 and wiki == "ar" then title = title .. " " .. s.year end local wd_link = mw.html.create('span'):cssText('float:left; margin: 0 5px'):wikitext(wdLink(s.item..'#'..s.property)) if arwiki_totemplate then wd_link = wdLink(s.item..'#'..s.property) end local caption = t:tag('tr'):tag('th'):attr('colspan', tostring(#s.header_2 + 1)) :cssText('padding:2px; text-align:center; line-height: 1.8em; color: inherit;') :css('background-color',backgroundColor) caption:wikitext(tostring(wd_link)..' '..error_message ..' '..title) local country=getCountryBool(s.no_country) local header = t:tag('tr') for i,k in ipairs(s.header_2) do if i == s.country_column then if country == true then header:tag('th') :cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap') :wikitext(translate(s.header_function,k,s.w_race)) end end if i ~= s.country_column then local column = header:tag('th') :cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap') :wikitext(translate(s.header_function,k,s.w_race)) if s.data_sort_type[i] == 'unsortable' then column:addClass('unsortable') end end end return t end local function tableB(s) --for startlist local error_message=handle_error_message(s) local roll = true for _, value in pairs(s.no_roll_startlist) do -- get data if country should be printed in this wiki if value == wiki then roll = false end end local cssTable= "border: 1px solid var(--border-color-subtle, #c8ccd1); margin: 0 0 0 0;".. "background-color: var(--background-color-base, #fff); padding: 0px; float: left;".. "clear: left; color: var(--color-base, #202122); text-align: left; vertical-align: top; font-size: 85%; line-height: 1.8em;" local wdlink_span = mw.html.create('span'):css('float',floattable):wikitext(wdLink(s.item.. '#'.. s.property)..' '..error_message) if arwiki_totemplate then wdlink_span = wdLink(s.item..'#'..s.property) end if roll == true then local rollTable1 = mw.html.create('div'):addClass("mw-collapsible") :cssText('center = margin: 0 0.5em 0;clear:both; border: 1px solid var(--border-color-subtle, #c8ccd1);' .. 'cellpadding="4" cellspacing="0" style="width:100%; background-color: var(--background-color-base, #fff); color:inherit; padding: 5px;'.. 'margin-bottom:1em; background-color:'..backgroundColor..';') :attr('title','['..translate("startlist",14)..']/['..translate("startlist",15)..']') local tDiv= rollTable1:tag('div') :cssText('text-align:'.. textalign ..";height:1.8em; color:inherit;font-weight:bold;") :css('background-color',backgroundColor) tDiv:tag('span') local tSpan=tDiv:wikitext(tostring(wdlink_span)) tDiv:wikitext(translate("startlist",1,s.w_race or false)) tDiv = rollTable1:tag('div'):addClass("mw-collapsible-content"):cssText("margin:0; background:var(--background-color-base, #fff); color: inherit; display:block; text-align:left;") local tTable= tDiv:tag('table'):cssText("border:1px solid var(--border-color-subtle, #c8ccd1)") local tCell = tTable:tag('tr'):tag('td') local insideTable =tCell:tag('table'):attr('cellpadding','4') -- cellspacing="0" style="width:100%;" color: black; :cssText(cssTable) return rollTable1, insideTable else --otherwise problem of clear local tab = mw.html.create('table') tCell=tab:tag('td') local tTable =tCell:tag('table') :attr('cellpadding','0') :cssText(cssTable) tCell = tTable:tag('tr'):tag('th') :css("background-color",backgroundColor) :css('color', 'inherit') :attr('colspan','3'):attr('align','center') tCell:node(wdlink_span) tCell:wikitext(translate("startlist",1,s.w_race or false)) local tRow=tCell:tag('tr') return tab, tRow end end --=== D) Jersey, flag functions === --used from 2 functions local flags = { Q16 = {'CAN', {'Flag of Canada.svg', '+1965-02-15'}}, Q17 = {'JPN', {'Flag of Japan.svg', '+1999-08-13'}, {'Flag of Japan (1870–1999).svg', '+1870-02-27', '+1999-08-12'}}, Q20 = {'NOR', {'Flag of Norway.svg', '+1821-07-13'}}, Q27 = {'IRL', {'Flag of Ireland.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Ireland.svg', '+1937-12-29', '+1980-07-19'}}, Q28 = {'HUN', {'Flag of Hungary.svg', '+1957-05-23'}}, Q29 = {'ESP', {'Flag of Spain.svg', '+1981-12-06'}, {'Flag of Spain (1977–1981).svg', '+1977-01-21', '+1981-12-06'}, {'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'}, {'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'}, {'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'}, {'Flag of Spain (1785–1873, 1875–1931).svg', '+1874', '+1931-04-13'}}, Q30 = {'USA', {'Flag of the United States.svg', '+1960-07-04'}}, Q31 = {'BEL', {'Flag of Belgium (civil).svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Belgium (civil).svg', '+1800', '+1980-07-19'}}, Q32 = {'LUX', {'Flag of Luxembourg.svg'}}, Q33 = {'FIN', {'Flag of Finland.svg', '+1918-05-29'}}, Q34 = {'SWE', {'Flag of Sweden.svg'}}, Q35 = {'DEN', {'Flag of Denmark.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Denmark.svg', '+1800', '+1980-07-19'}}, Q36 = {'POL', {'Flag of Poland.svg'}}, Q37 = {'LTU', {'Flag of Lithuania.svg', '+2004-09-01'}, {'Flag of Lithuania (1988-2004).svg', '+1990-03-11', '+2004-09-01'}}, Q38 = {'ITA', {'Flag of Italy.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Italy.svg', '+1946-06-19', '+1980-07-19'}, {'Flag of Italy (1861–1946).svg', '+1861', '+1946-06-19'}}, Q39 = {'SUI', {'Flag of Switzerland.svg', '+1980-08-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Switzerland.svg', '+1879-01-01', '+1980-07-19'}}, Q40 = {'AUT', {'Flag of Austria.svg', '+1945-05-01'}, {'Flag of Austria.svg', '+1919-10-21', '+1938-03-13'}}, Q41 = {'GRE', {'Flag of Greece.svg', '+1978'}}, Q43 = {'TUR', {'Flag of Turkey.svg'}}, Q45 = {'POR', {'Flag of Portugal.svg', '+1911-06-30'}}, Q55 = {'NED', {'Flag of the Netherlands.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the Netherlands.svg', '+1806', '+1980-07-19'}}, Q77 = {'URU', {'Flag of Uruguay.svg'}}, Q96 = {'MEX', {'Flag of Mexico.svg', '+1968-09-16'}, {'Flag of Mexico (1934-1968).svg', '+1934', '+1968-09-16'}}, Q114 = {'KEN', {'Flag of Kenya.svg'}}, Q115 = {'ETH', {'Flag of Ethiopia.svg', '+1996-10-31'}}, Q117 = {'GHA', {'Flag of Ghana.svg', '+1966-02-28'}}, Q142 = {'FRA', {'Flag of France (1794–1815, 1830–1974, 2020–present).svg', '+2020-07-14'}, {'Flag of France.svg', '+1980-07-29', '+2020–07-14'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of France.svg', '+1794-05-20', '+1980-07-19'}}, Q145 = {'GBR', {'Flag of the United Kingdom (3-5).svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the United Kingdom (3-5).svg', '+1980-07-19'}}, Q148 = {'CHN', {"Flag of the People's Republic of China.svg", '+1985'}}, Q155 = {'BRA', {'Flag of Brazil.svg', '+1992-05-11'}, {'Flag of Brazil (1968–1992).svg', '+1968-05-28', '+1992-05-11'}}, Q159 = {'RUS', {'Flag of Russia.svg', '+1993-12-11'}, {'Flag of Russia (1991–1993).svg', '+1991-08-22', '+1993-12-11'}, {'Flag of the Russian Soviet Federative Socialist Republic.svg', '+1954', '+1991-08-22'}, {'Flag of the Russian Soviet Federative Socialist Republic (1937–1954).svg', '+1937', '+1954'}}, Q183 = {'GER', {'Flag of Germany.svg', '+1949-05-23'}, {'Flag of the German Reich (1935–1945).svg', '+1935-09-15', '+1945-05-23'}, {'Flag of the German Reich (1933–1935).svg', '+1933-03-12', '+1935-09-15'}, {'Flag of Germany (3-2 aspect ratio).svg', '+1919-04-11', '+1933-03-12'}, {'Flag of the German Empire.svg', '+1871-04-16', '+1919-04-11'}}, Q184 = {'BLR', {'Flag of Belarus.svg', '+2012-05-11'}, {'Flag of Belarus (1995–2012).svg', '+1995-06-07', '+2012-05-11'}, {'Flag of Belarus (1918, 1991–1995).svg', '+1991-09-19', '1995-06-07'}}, Q189 = {'ISL', {'Flag of Iceland.svg', '+1944-06-17'}}, Q191 = {'EST', {'Flag of Estonia.svg'}}, Q211 = {'LAT', {'Flag of Latvia.svg'}}, Q212 = {'UKR', {'Flag of Ukraine.svg', '+1992-01-28'}}, Q213 = {'CZE', {'Flag of the Czech Republic.svg', '+1920-03-30'}}, Q214 = {'SVK', {'Flag of Slovakia.svg'}}, Q215 = {'SLO', {'Flag of Slovenia.svg'}}, Q217 = {'MDA', {'Flag of Moldova.svg'}}, Q218 = {'ROU', {'Flag of Romania.svg', '+1989-12-27'}, {'Flag of Romania (1965-1989).svg', '+1989-12-27', '+1965'}, {'Flag of Romania (1952-1965).svg', '+1952', '+1965'}, {'Flag of Romania (1948-1952).svg', '+1948-01-08', '+1952'}, {'Flag of Romania.svg', '12. april 1867-04-12', '+1948-01-08'}}, Q219 = {'BUL', {'Flag of Bulgaria.svg', '+1990-11-22'}, {'Flag of Bulgaria (1971 – 1990).svg', '+1971-05-18', '+1990-11-22'}}, Q222 = {'ALB', {'Flag of Albania.svg', '+1992'}}, Q224 = {'CRO', {'Flag of Croatia.svg', '+1990-12-21'}, {'Flag of Croatia (white chequy).svg', '+1990-06-27', '+1990-12-21'}}, Q227 = {'AZE', {'Flag of Azerbaijan.svg'}}, Q228 = {'AND', {'Flag of Andorra.svg'}}, Q229 = {'CYP', {'Flag of Cyprus.svg', '+2006-08-20'}, {'Flag of Cyprus (1960-2006).svg', '+1960-08-16', '+2006-08-20'}}, Q232 = {'KAZ', {'Flag of Kazakhstan.svg'}}, Q235 = {'MON', {'Flag of Monaco.svg'}}, Q238 = {'SMR', {'Flag of San Marino.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of San Marino.svg', '+1980-07-19'}}, Q241 = {'CUB', {'Flag of Cuba.svg'}}, Q244 = {'BAR', {'Flag of Barbados.svg'}}, Q252 = {'INA', {'Flag of Indonesia.svg'}}, Q258 = {'RSA', {'Flag of South Africa.svg', '+1994-04-27'}, {'Flag of South Africa (1982–1994).svg', '+1982-06-01', '+1994-04-27'}, -- exacte datum in 1982 onbekend {'Flag of South Africa (1928-1982).svg', '+1928-05-31', '+1982-05-31'} }, Q262 = {'ALG', {'Flag of Algeria.svg'}}, Q265 = {'UZB', {'Flag of Uzbekistan.svg'}}, Q298 = {'CHI', {'Flag of Chile.svg'}}, Q334 = {'SGP', {'Flag of Singapore.svg'}}, Q347 = {'LIE', {'Flag of Liechtenstein.svg'}}, Q398 = {'BRN ', {'Flag of Bahrain.svg','+2002-02-17'}, {'Flag of Bahrain (1972–2002).svg', '+1972-08-19', '+2002-02-16'}}, Q403 = {'SRB', {'Flag of Serbia.svg', '+2004-08-18'}, {'Flag of Serbia (1992–2004).svg', '+1992-04-27', '+2004-08-17'}}, Q408 = {'AUS', {'Flag of Australia.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Australia.svg', '+1980-07-19'}}, Q414 = {'ARG', {'Flag of Argentina.svg'}}, Q419 = {'PER', {'Flag of Peru.svg', '+1950'}, {'Flag of Peru (1825-1950).svg', '+1825-02-25', '+1950'}}, Q424 = {'CAM', {'Flag of Cambodia.svg', '+1993-06-30'}, {'Flag of Cambodia.svg', '+1948-10-20', '+1970-10-09'}}, Q664 = {'NZL', {'Flag of New Zealand.svg'}}, Q711 = {'MGL', {'Flag of Mongolia.svg'}}, Q717 = {'VEN', {'Flag of Venezuela.svg', '+2006-03-12'}, {'Flag of Venezuela (1930–2006).svg', '+1930','+2006-03-12'}}, Q733 = {'PAR', {'Flag of Paraguay.svg', '+2013-07-15'}, {'Flag of Paraguay (1990–2013).svg', '+1990', '+2013-07-14'}}, Q736 = {'ECU', {'Flag of Ecuador.svg'}}, Q739 = {'COL', {'Flag of Colombia.svg'}}, Q750 = {'BOL', {'Flag of Bolivia.svg', '+1851-10-31'}}, Q754 = {'TTO', {'Flag of Trinidad and Tobago.svg'}}, Q769 = {'GRN', {'Flag of Grenada.svg'}}, Q774 = {'GUA', {'Flag of Guatemala.svg'}}, Q778 = {'BAH', {'Flag of the Bahamas.svg'}, '+1973-07-10'}, Q783 = {'HON', {'Flag of Honduras.svg'}, '+1949'}, Q786 = {'DOM', {'Flag of the Dominican Republic.svg'}}, Q794 = {'IRI', {'Flag of Iran.svg', '+1980-07-29'}, {'Flag of Iran (1964–1980).svg', '+1964', '+1980-07-29'}}, Q800 = {'CRC', {'Flag of Costa Rica (state).svg', '+1906-11-27'}}, Q801 = {'ISR', {'Flag of Israel.svg'}}, Q804 = {'PAN', {'Flag of Panama.svg'}}, Q813 = {'KGZ', {'Flag of Kyrgyzstan.svg', '+1992-03-03'}}, Q817 = {'KUW', {'Flag of Kuwait.svg', '+1961-09-07'}}, Q833 = {'MAS', {'Flag of Malaysia.svg', '+1963-09-16'}}, Q842 = {'OMA', {'Flag of Oman.svg', '+1995'}}, Q846 = {'QAT', {'Flag of Qatar.svg'}}, Q858 = {'SYR', {'Flag of Syria.svg', '+1980-03-29'}}, Q865 = {'TPE', {'Flag of the Republic of China.svg', '+1928-12-17'}}, Q869 = {'THA', {'Flag of Thailand.svg'}}, Q878 = {'UAE', {'Flag of the United Arab Emirates.svg'}}, Q881 = {'VIE', {'Flag of Vietnam.svg', '+1976-02-07'}}, Q884 = {'KOR', {'Flag of South Korea.svg', '+1997-10'}}, Q889 = {'AFG', {'Flag of Afghanistan (2013–2021).svg','+2013-08-19'}, {'Flag of Afghanistan (2004-2021, Variant).svg', '+2004-10-09', '+2013-08-18'}, {'Flag of Afghanistan (2002–2004, variant with golden arms).svg', '+2002-06-27', '+2004-10-08'}, {'Flag of Afghanistan (2002–2004).svg', '+2002-01-28', '+2002-06-26'}, {'Flag of Afghanistan (2001–2002).svg', '+2001-11-13', '+2002-01-27'}, {'Flag of Afghanistan (1992–2001).svg', '+1992-12-07', '+2002-01-26'}, {'Flag of Afghanistan (1992).svg', '+1992-04-27', '+1992-12-06'}, {'Flag of Afghanistan (1987–1992).svg', '+1987-11-30', '+1992-04-26'}, {'Flag of Afghanistan (1980–1987).svg', '+1980-04-22', '+1987-11-29'}, {'Flag of Afghanistan (1978–1980).svg', '+1978-10-19', '+1980-04-21'}, {'Flag of Afghanistan (1978).svg', '+1978-04-27', '+1978-10-18'}, {'Flag of Afghanistan (1974–1978).svg', '+1974-05-9', '+19780-4-26'}, {'Flag of Afghanistan (1973–1974).svg', '+1973-03-17', '+1974-05-8'}, {'Flag of Afghanistan (1931–1973).svg', '+1930-03-27', '+1973-03-16'}, {'Flag of Afghanistan (1929–1931).svg', '+1929-01-1', '+1930-03-26'}}, Q902 = {'BAN ', {'Flag of Bangladesh.svg','+1972-01-17'}, {'Flag of Bangladesh (1971).svg', '+1971-03-06', '+1972-01-16'}}, Q916 = {'ANG', {'Flag of Angola.svg', '+1975-11-11'}}, Q917 = {'BHU ', {'Flag of Bhutan.svg','+1972-06-08'}, {'Flag of Bhutan (1956–1969).svg', '+1956-07-01', '+1972-06-07'}, {'Flag of Bhutan (1949–1956).svg', '+1949-01-01', '+1956-06-30'}}, Q921 = {'BRU', {'Flag of Brunei.svg', '+1959-09-29'}}, Q928 = {'PHI', {'Flag of the Philippines.svg', '+1998'}}, Q948 = {'TUN', {'Flag of Tunisia.svg', '+1999-07-03'}}, Q954 = {'ZIM', {'Flag of Zimbabwe.svg', '+1980-04-18'}}, Q965 = {'BUR', {'Flag of Burkina Faso.svg'}}, Q983 = {'GEQ', {'Flag of Equatorial Guinea.svg', '+1979-08-21'}, {'Flag of Equatorial Guinea (1973–1979).svg', '+1973', '+1979-08-21'}, {'Flag of Equatorial Guinea (without coat of arms).svg', '+1968-10-12', '+1973'}}, Q986 = {'ERI', {'Flag of Eritrea.svg'}}, Q1000 = {'GAB', {'Flag of Gabon.svg', '+1960-08-09'}}, Q1007 = {'GBS', {'Flag of Guinea-Bissau.svg', '+1973-09-24'}}, Q1008 = {'CIV', {"Flag of Côte d'Ivoire.svg"}}, Q1009 = {'CMR', {'Flag of Cameroon.svg'}}, Q1027 = {'MRI', {'Flag of Mauritius.svg', '+1968-03-13'}}, Q1028 = {'MAR', {'Flag of Morocco.svg'}}, Q1030 = {'NAM', {'Flag of Namibia.svg', '+1990-03-21'}}, Q1036 = {'UGA', {'Flag of Uganda.svg', '+1962-10-09'}}, Q1037 = {'RWA', {'Flag of Rwanda.svg', '+2001-10-25'}, {'Flag of Rwanda (1962–2001).svg', '+1962', '+2001-10-25'}}, Q1183 = {'PUR', {'Flag of Puerto Rico.svg'}}, Q9676 = {'IMN', {'Flag of the Isle of Man.svg'}}, Q15180 = {'URS', {'Flag of the Soviet Union.svg', '+1980-08-15', '+1991-12-25'}, {'Flag of the Soviet Union (1955–1980).svg', '+1955-08-19', '+1980-08-14'}, {'Flag of the Soviet Union (1924–1955).svg', '+1923-11-13', '+1955-08-18'}}, Q16957 = {'GDR', {'Flag of East Germany.svg', '+1959-10-01'}, {'Flag of Germany.svg', '+1949-10-07', '+1959-10-01'}}, --German Democratic Republic Q8646 = {'HKG', {'Flag of Hong Kong.svg'}}, Q25228 = {'AIA', {'Flag of Anguilla.svg'}}, Q29999 = {'NED', {'Flag of the Netherlands.svg', '+1980-07-29'}, --Kingdom of the Netherlands {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the Netherlands.svg', '+1690', '+1980-07-19'}}, Q33946 = {'TCH', {'Flag of the Czech Republic.svg', '+1920'}}, -- Czechoslovakia (1918–1992) Q36704 = {'YUG', {'Flag of Yugoslavia (1992–2003).svg', '+1992-04-27', '+2003-02-04'}, --Yugoslavia {'Flag of Yugoslavia (1943–1992).svg', '+1946', '+1992-04-27'}}, Q41304 = {'GER', {'Flag of Germany (3-2 aspect ratio).svg', '+1918-11-09'}}, -- Weimar Republic Q47588 = {'EU', {'Flag_of_the_Basque_Country.svg'}}, Q83286 = {'YUG', {'Flag of Yugoslavia (1943–1992).svg'}}, --Socialist Federal Republic of Yugoslavia Q172579 = {'ITA', {'Flag of Italy (1861–1946).svg'}}, --Kingdom of Italy (1861-1946) Q216923 = {'TPE', {'Flag of Chinese Taipei for Olympic games.svg'}}, -- Chinese Taipei Q268970 = {'AUT', {'Flag of Austria.svg', '+1918-11-12', '+1919-09-10'}}, -- German-Austria (1918-1919) Q713750 = {'FRG', {'Flag of Germany.svg'}}, --West Germany Q853348 = {'TCH', {'Flag of the Czech Republic.svg'}, '+1960-07-11', '+1990-03-29'}, -- Czechoslovak Socialist Republic (1960-1990) Q2415901 = {'GER', {'Merchant flag of Germany (1946–1949).svg', '+1945-05-09', '+1949-05-23'}}, -- Allied-occupied Germany Q13474305 = {'ESP', {'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'}, -- Francoist Spain (1935-1976) {'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'}, {'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'}}, Q113486069={'NEUTRAL', {'Flag white.svg'}} --Russia and Belarus during the ban, cannot replace the flags above, because there are cases where it does not apply } local function flag(countryID, date) local trackingCategory = '' --[[ If you uncomment the line under this comment, all pages with look-up misses in the flag table will be placed in a tracking category. You can use this to find more flags to add to the table. ]] -- trackingCategory = '[[Category:Missing flag in Module:Cycling race]]' local entry = flags[countryID] local IOC local file local result = "" if entry then for i, v in ipairs(entry) do if i == 1 then IOC = v else if not date then file = v[1] break else local from = v[2] local to = v[3] if (not from or from <= date) and (not to or to > date) then file = v[1] break end end end end end local flagpxSize = '20px' if countryID == 'Q39' then flagpxSize = '16px'end -- Small size for an square flag as Switzerland if file then result = '[[File:' .. file .. '|border|' .. flagpxSize ..'|' .. IOC .. ']]' if arwiki_totemplate then result = '{{flagicon|' .. IOC .. '}}' end elseif not date then local p41 = firstValue(countryID, "P41") -- P41 is flag image if p41 then result = '[[File:' .. p41 .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]' if arwiki_totemplate then result = '{{flagicon image|' .. p41 .. '}}' end end else -- Search flag for specific date local p41 = getStatementForTime(countryID, "P41", date) -- P41 is flag image if p41 then result = '[[File:' .. p41.mainsnak.datavalue.value .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]' if arwiki_totemplate then result = '{{flagicon image|' .. p41.mainsnak.datavalue.value .. '}}' end end end return result .. trackingCategory end -- countryID --> shape ([[France|FRA]]) local function uciCodeCountry(countryID) local uciCode, countryName local blacklist={Q736=true} if countryID then --get UCI code if flags[countryID] then uciCode=flags[countryID][1] end --get link, assumed for a country the label is equal to the link, where not correct in the blacklist --if the black list becomes too long, we could create a second list for the sitelinks countryName=country_name_from_list(countryID) if countryName == nil or blacklist[countryID] then countryName = mw.wikibase.getSitelink(countryID) end if uciCode and countryName then return ' <small>([['..countryName..'|'..uciCode..']])</small> ' end end return '' --else end local function jersey_infobox( winner_classification, item, timeOfRace) local jersey, jersey_name = '', '' local jerseyWPID = '' -- 1. Item of race, e.g. Tour de France = 'Q33881' -- 2. type of winner, names are the ones in variable t_s -- 3. and 4. start and end time. '+2500' means year 2500. Always beginning with a '+' -- 5. item of the jersey -- 6. item of the Wikipedia article of that jersey --timeOfRace = '+1968-07-01T00:00:00Z' timeOfRace = string.match(timeOfRace, "+%d%d%d%d") or '' for _, v in pairs(item) do for _, value in pairs(data.stageinfobox_jersey) do if v == value[1] then if winner_classification == value[2] then if (timeOfRace >= value[3]) and (timeOfRace <= value[4]) then jersey = value[5] jerseyWPID = value[6] end end end end end -- local starttime, endtime = '', '+2500' if jersey ~= '' then --and (timeOfRace > starttime) and (timeOfRace < endtime) then local entity_jersey = mw.wikibase.getEntity(jersey) jersey = entity_jersey.claims['P18'][1].mainsnak.datavalue.value jersey_name = entity_jersey:getLabel(wikilang) or '' if jerseyWPID ~= '' then local entity = mw.wikibase.getEntity( jerseyWPID ) local Sitelink = entity:getSitelink(wiki..'wiki') -- link to WParticle if Sitelink ~= nil then jerseyWPID = wiki..':'..Sitelink else jerseyWPID = '' end end return jersey, jersey_name, jerseyWPID else return '', '', '' end end local function jersey(h) local jersey_string = ' ' local jerseys = { ['Q24257871'] = {file = 'Jersey yellow.svg', name_ar = 'قميص أصفر لمتصدر الترتيب العام', name_fr = 'maillot jaune de leader du classement général', name_es = 'maillot amarillo de líder de la clasificación general', name_ru = 'жёлтая майка лидера генеральной классификации' }, ['Q24645209'] = {file = 'Jersey green.svg', name_ar = 'قميص أخضر لمتصدر ترتيب النقاط', name_fr = 'maillot vert de leader du classement par points', name_es = 'maillot verde de líder de la clasificación por puntos', name_ca = 'mallot verd del líder de la classificació per punts', name_ru = 'зелёная майка лидера очковой классификации' }, ['Q640430'] = {file = 'Jersey white.svg', name_ar = 'قميص أبيض لمتصدر ترتيب الشباب', name_fr = 'maillot blanc de leader du classement du meilleur jeune', name_es = 'maillot blanco de líder de la clasificación de los jóvenes', name_ru = 'белая майка лидера молодёжной классификации', name_de = 'weißes Trikot des Führenden der Nachwuchswertung' }, } if type(h) == 'table' and h[1] then for _, v in ipairs(h) do local jersey_name if jerseys[v] then jersey_string = jersey_string .. '[[File:' .. jerseys[v].file .. '|20px' jersey_name = jerseys[v]['name_' .. wiki] or mw.wikibase.getLabel(v) or jerseys[v]['name_fr'] if jersey_name then jersey_string = jersey_string .. '|' .. jersey_name end jersey_string = jersey_string .. ']]' else local p18 = mw.wikibase.getBestStatements(v, 'P18') if p18[1] and p18[1].mainsnak.snaktype == 'value' then jersey_string = jersey_string .. '[[File:' .. p18[1].mainsnak.datavalue.value .. '|20px' jersey_name = getLabelFallback(v) if jersey_name then jersey_string = jersey_string .. '|' .. jersey_name end jersey_string = jersey_string .. ']]' end end end end return jersey_string end -- function end --=== E) Other (winner) === local function isHuman(riderId) local isHuman = false if riderId then local p31 = wikibase.getBestStatements(riderId, 'P31') for _, iOf in pairs (p31) do if iOf.mainsnak.snaktype == 'value' and iOf.mainsnak.datavalue.value.id == "Q5" then isHuman = true break end end end return isHuman end local function isCountry(inputID) local isCountry = false if inputID then local p31 = wikibase.getBestStatements(inputID, 'P31') for _, iOf in pairs (p31) do -- exception Hong-Kong and Taiwan if iOf.mainsnak.snaktype == 'value' and (iOf.mainsnak.datavalue.value.id == "Q6256" or iOf.mainsnak.datavalue.value.id =="Q15634554" or iOf.mainsnak.datavalue.value.id =="Q779415") then isCountry = true break end end end return isCountry end local function isWomenrace(raceID) --for translation for _, p2094 in statements(raceID, 'P2094') do if p2094.mainsnak.datavalue.value.id == "Q1451845" then return true end end return false end local function isWomenteam(teamID, timeOfRace) if isWomenrace(teamID) then --simplest way return true end --else we can identify with teamCat local _, catID= getTeamLinkCat(teamID, timeOfRace, false) if data.womenCats[catID] then return true end return false end local function getNationality(wID, timeOfRace,q) --for a rider local p27, countryID --allow overload of the property, for cases like Russian/BLR ban, or Commonwealth games, only for P1532 if q and q.P1532 and q.P1532[1].snaktype == 'value' then countryID = q.P1532[1].datavalue.value.id else local listOfProperty={'P1532','P27'} if wID then for _, prop in ipairs(listOfProperty) do if countryID==nil then p27 = getStatementForTime(wID, prop, timeOfRace) --P27 is country of citizenshi if p27 then countryID = p27.mainsnak.datavalue.value.id end end end end if wiki=='eu' and (countryID=="Q142" or countryID=="Q29") then --look for people or location in the Basque Country, quite expensive function local birth_place = firstValue(wID, 'P19','id') --birth place if data.BasqueTown[birth_place] then return "Q47588" end end end return countryID end local function subwinner(riderId, timeOfRace, q) local outTable={} local riderTeam, riderLink, countryID if riderId then if isHuman(riderId) then riderLink = getRiderLink(riderId, timeOfRace) countryID = getNationality(riderId, timeOfRace,q) if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end riderTeam = getTeam(riderId, timeOfRace, q) or '' else local _ riderLink, _, countryID = getTeamLinkCat(riderId, timeOfRace, true) if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end end end return riderLink, riderTeam end local function winner(lf,raceID, winners, timeOfRace, country, WDlink_on, team, ref, winnersId) local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner' for _, winner in pairs(p1346) do local wID = winner.mainsnak.snaktype == 'value' and winner.mainsnak.datavalue.value.id local wOf, wCause, wCriterion, riderLink local q = winner.qualifiers if q then local _, disqualified =isdisqualified(winner,q) local propertyOf=nil if q.P2501 and q.P2501[1].snaktype == 'value' then propertyOf=q.P2501 --result elseif q.P828 and q.P828[1].snaktype == 'value' then --cause, for cancellation propertyOf=q.P828 elseif q.P642 and q.P642[1].snaktype == 'value' then propertyOf=q.P642 --fallback end if propertyOf and propertyOf[1].snaktype == 'value' then for _, qprop in pairs(propertyOf) do wOf = qprop.datavalue.value.id if not wOf then -- Try P1346 (winner) instead -- Assume Q20882667 ('overall winner general classification') if neither are found wOf = q.P1346 and q.P1346[1].snaktype == 'value' and q.P1346[1].datavalue.value.id or 'Q20882667' end wCause = q.P828 and q.P828[1].snaktype == 'value' and q.P828[1].datavalue.value.id -- P828 is 'has cause' wCriterion = q.P1013 and q.P1013[1].snaktype == 'value' and q.P1013[1].datavalue.value.id -- P1013 is 'criterion used' if winners[wOf] then if wID then local reference = ref and getReference(lf,winner) local _, countryID if isHuman(wID) then riderLink = getRiderLink(wID, timeOfRace) if reference then riderLink = riderLink .. reference end if team then local riderTeam = getTeam(wID, timeOfRace, q) if riderTeam then riderLink = riderLink .. ' (' .. riderTeam .. ')' end end elseif isCountry(wID) then riderLink = flag(wID, timeOfRace).." "..getCountryName(wID) if reference then riderLink = riderLink .. reference end country=true else --team local _ riderLink, _, countryID = getTeamLinkCat(wID, timeOfRace, country) if reference then riderLink = riderLink .. reference end end if not country then if not countryID then if isHuman(wID) then countryID = getNationality(wID, timeOfRace,q) else countryID = getCountryID(wID, timeOfRace) end end if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end end if WDlink_on then riderLink = riderLink .. ' ' .. wdLink(wID) end else riderLink = wCriterion and contentLanguage:ucfirst(wikibase.getLabel(wCriterion) or '') or '' if wCause then local cause = wikibase.getLabel(wCause) if cause then riderLink = riderLink .. ' (' .. cause .. ')' end end end if disqualified==true then riderLink='<s>'..riderLink..'</s>' end if winnersId and winnersId[wOf] then if disqualified or ((not wID) and wCriterion) then winnersId[wOf]= 'Q666' --to identify disqualification else winnersId[wOf]= wID --identify cancelled end end if winners[wOf] == '' then winners[wOf] = riderLink else winners[wOf] = winners[wOf] .. '<br/>' .. riderLink end end end end end end end local function sortAndConcat(t_Body, resultTable) table.sort(t_Body, function(a, b) return a['sortkey'] < b['sortkey'] end) for _, m in ipairs(t_Body) do resultTable:node(m['body']) end return resultTable end --------- Definition sub-functions for calendar and victory ------ local function getTimeOfRace(raceID, mandatory, p582_prio) local timeOfRace, properties if p582_prio then --for case like UCI Europe Tour 2006 (Q1455600) where most of the competition is in the next year properties={'P582','P585','P580'} else properties={'P580','P585','P582'} end for _, prop in ipairs(properties) do timeOfRace= firstValue(raceID, prop, 'time') if timeOfRace ~= nil then return timeOfRace end end local link = getSitelinkFallback(raceID, {'en', 'fr', 'de','es'}) --language is not important here, it is just to get the year if link then local year = string.match(link, '%d%d%d%d') if year then return year .. '-01-01T00:00:00Z' end end if wiki == "ar" then return '+1970-01-01T00:00:00Z' end if mandatory then error('> Wikidata is missing data about start time (P580) or point in time (P582)') end return nil end local function get_formatted_date(entityID, functionName) local sTime = firstValue(entityID, 'P580', 'time') -- P580 is 'start time' local eTime = firstValue(entityID, 'P582', 'time') -- P582 is 'end time' local style1, style2 if functionName=="infobox" then style1='verylong' --force to display the year style2='long' else style1='small' style2='small' end if sTime and eTime then local startTime, endTime = getStartEndTime(sTime, eTime, style1) if functionName==nil or functionName=='infobox' then --calendar, infobox return startTime .. ' – ' .. endTime, sTime, true else --victory, general classification return endTime, eTime, true end else local pTime = firstValue(entityID, 'P585', 'time') -- P585 is 'point in time' if pTime then return funcDate(pTime, style2), pTime, false end end return nil end local function fn_date(entityID, functionName) --to move as a general function local tempdate, timeOfRace, _ = get_formatted_date(entityID, functionName) --is there a reason why timeofrace cannot be sTime?? local _, _, y, m, d = string.find(timeOfRace or "", "(%d+)-(%d+)-(%d+)") local sortkey=(y or '')..(m or '')..(d or '') if sortkey =='' then sortkey = '0000' end local tCell = mw.html.create('td'):attr('data-sort-value',sortkey) :cssText("style=text-align:right;padding:0 0.5em") :wikitext(tempdate) return timeOfRace, tostring(tCell), sortkey end local function fn_country(entityID, timeOfRace,country, raceCell, parentID) -- This function gives countries where the race take place -- parentID taken from fn_race, optional local country_str, country_name, country_flag local cssCell="text-align:" .. textalign .. ";padding:0 0.5em" local tCell= mw.html.create('td'):cssText(cssCell) local countryID = getCountryID(entityID, timeOfRace) if countryID==nil then countryID = getCountryID(parentID, timeOfRace) end if countryID then country_flag=flag(countryID, timeOfRace) country_str=country_flag country_name = getCountryName(countryID) if country_name~='' then tCell:attr('data-sort-value',country_name) if country~= false then country_str=country_str.." "..country_name end end else country_flag="no flag" end if country==false then tCell:wikitext(country_flag.." "..(raceCell or '')) country_name='' else if country_str then tCell:wikitext(country_str) end end return country_flag, country_name, tCell end local function commaStage(stageID,raceLabel) --how to write "stage, " local outTable={} local stageNumber='' local subStage = '' local stageNumberonly, stageLetter local temp=firstValue(stageID, 'P1545') if temp then stageNumber = temp end if stageNumber=='0' then --prologue stageNumber= translate("victories",9) else if stageNumber==nil then stageNumber= translate("victories",8) else --look for subStage local i,j = string.find(stageNumber, "%a+") --if letter in the stage number if i ~= nil then --we have to do something local k,l = string.find(stageNumber, "%d+") --select the number in the stage number stageNumberonly = string.sub(stageNumber, k, l)--cut the string in 2 stageLetter = string.sub(stageNumber, i, j) stageNumber=stageNumberonly if stageLetter ~= nil then subStage=stageLetter end end if wiki == 'ar' then stageNumber= translate("victories",8)..' '..number('f', tonumber(stageNumber), wiki) else stageNumber= number('f', tonumber(stageNumber), wiki)..subStage..' '..translate("victories",8) end end end local comma = ", " if wiki == 'ar' then comma = " ، " end if wiki == 'fr' then local correpondance={ {name="^Trois", article= " des "}, {name="^Quatre", article= " des "}, {name="^Boucles", article= " des "}, {name="^Triptyque", article= " du "}, {name="^Tour", article= " du "}, {name="^Grand Prix", article= " du "}, {name="^Circuit", article= " du "}, {name="^Mémorial", article= " du "}, {name="^Trophée", article= " du "}, {name="^Ronde", article= " de la "}, {name="^Semaine", article= " de la "}, {name="^Classica", article= " de la "}, {name="^Flèche", article= " de la "}, {name="^Course", article= " de la "}, {name="^Classique", article= " de la "}, {name="Race", article= " de la "}, {name="^Étoile", article= " de l'"}, {name="^La", article= " de "} } for _, v in ipairs(correpondance) do if string.find(raceLabel, v.name) then comma = v.article break end end end if wiki == 'fr' or wiki=="ca" or wiki=="es" or wiki=="ast" then outTable["prefix"]=stageNumber..comma outTable["postfix"]='' else --if wiki=="de" or wiki=="da" or wiki=="fo" or wiki == "lb" or wiki=="no" or wiki=="ru" or wiki=="ar" or wiki=="lv" or wiki=="pl" then outTable["prefix"]='' outTable["postfix"]=comma..stageNumber end return outTable end local function getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace) --the link to the edition but with a general name local instanceOf, instanceOfTemp, label, Sitelink, isclass, prefix, postfix local arlabel local stage_link=false if stageID then Sitelink=wikibase.getSitelink(stageID) if Sitelink then stage_link=true end end if Sitelink==nil then Sitelink=wikibase.getSitelink(entityID) end prefix=''; postfix='' --general classification listOfProperty={'P2561','P1448'} --main race link is in the parent --can be improved for _, p31 in statements(entityID, 'P31') do instanceOfTemp = p31.mainsnak.datavalue.value.id if instanceOfTemp ~= "Q27020041" and instanceOfTemp ~= 'Q88903067' and data.class_dic[instanceOfTemp]==nil then --but the main race instanceOf=instanceOfTemp end end --get information from the parent if instanceOf then --look for for _, prop in ipairs(listOfProperty) do for _, p2561 in statements(instanceOf, prop) do --name for championship if label==nil then local lang_WD = p2561.mainsnak.datavalue.value.language if wiki == lang_WD then local nametemp = p2561.mainsnak.datavalue.value.text if timeOfRace~= nil then local q = p2561.qualifiers if q then local temp = checktime(nametemp,q,timeOfRace) if temp then label = nametemp end--if the time is correct than it is finished else label = nametemp arlabel = label end end end end end end if label==nil then label=getLabelFallback(instanceOf,lang_priority) --the case of 'ar' should be handled in lang_priority if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(instanceOf, 'ar') end if not label then label=getLabelFallback(entityID,lang_priority) or '' end end if Sitelink==nil and entity_type~=0 then --only if no link to the race direct Sitelink=wikibase.getSitelink(instanceOf) end if Sitelink==nil and entity_type==0 then --only for champ local temp=firstValue(entityID, 'P361','id') --temp is NC France 2019 for instance if temp then Sitelink= wikibase.getSitelink(temp) end if Sitelink == nil then local temp2=firstValue(entityID, 'P31','id') -- French NC Men ITT if temp2 then Sitelink= wikibase.getSitelink(temp2) if Sitelink == nil then local temp3=firstValue(temp2, 'P361','id') -- French NC ITT if not temp3 then temp3=firstValue(temp2, 'P31','id') end if temp3 then Sitelink= wikibase.getSitelink(temp3) if Sitelink == nil then local temp4=firstValue(temp3, 'P361','id') -- French NC if not temp4 then temp4=firstValue(temp3, 'P31','id') end if temp4 then Sitelink= wikibase.getSitelink(temp4) end end end end end end end end --affect the label if label==nil then label=getLabelFallback(entityID,lang_priority) or '' if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(entityID, 'ar') end end --look for link to the race if nothing --if different languages have to be added, a language table can be created if entity_type==2 then if functionName~=nil then --calendar=nil if wiki == 'fr' then prefix= translate("victories",1)..', ' --general classification elseif wiki == 'ar' then postfix ='، '..translate("victories",1) else postfix = ', '..translate("victories",1) end end elseif entity_type=='stage' then --how to write "stage, " is concentrated in one function local commaTable=commaStage(stageID, label) prefix= commaTable["prefix"] postfix=commaTable["postfix"] end if Sitelink == nil then if wiki == 'ar' then label = make_IllWD2_link(entityID,arlabel,label) end return prefix..label..postfix elseif stage_link then return '[['..Sitelink..'|'..prefix..label..postfix..']]' else return prefix..'[['..Sitelink..'|'..label..']]'..postfix end end --look for the circuitID to create a link as [[World Tour|1.UWT]] --a bit redundant with classLink which needs less computation --for infobox classLink gives enough info local function classToCircuit(classID, entityID, child, q) local displayedCircuitID, circuitID if classID then if classID=='Q23005601' or classID=='Q23005603' then --1WWT 2WWT clear displayedCircuitID = 'Q21075974' elseif classID=='Q22231106' or classID=='Q22231107' then --1UWT 2UWT clear displayedCircuitID = 'Q635366' else --we have to look in the item if child then --for instance Flèche wallonne 2020 for _, p361 in statements(entityID, 'P361') do circuitID = p361.mainsnak.datavalue.value.id for _, p31 in statements(circuitID, 'P31') do --is it a UCI circuit? parentCircuitID = p31.mainsnak.datavalue.value.id if data.UCI_Circuits[parentCircuitID] then displayedCircuitID=circuitID end end end else --for instance Flèche wallonne if q then if q.P118 and q.P118[1].snaktype == 'value' and q.P118[1].datavalue.value.id then --fallback displayedCircuitID = q.P118[1].datavalue.value.id elseif q.P642 and q.P642[1].snaktype == 'value' and q.P642[1].datavalue.value.id then --fallback displayedCircuitID = q.P642[1].datavalue.value.id end end end end end return displayedCircuitID end local function getStartEndfromQuali(q) --return sTime and eTime as date local sTime, eTime if q then if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time sTime = q.P580[1].datavalue.value.time end if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time eTime = q.P582[1].datavalue.value.time end end return sTime, eTime end local function funcDateFigure(date,mode) local y, m = string.match(date, "(%d+)-(%d+)-%d+") if mode=='Y' or m=='00' or not m then return y elseif y then return string.gsub(m,'0','').."."..y else return nil end end local function getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) local period if sTime and eTime then if startTime==endTime then period=startTime --only (1990) else period=startTime .. '-'..endTime end elseif sTime then period=startTime .. '-' elseif eTime then period='-'..endTime else period="" end if brackets and period~="" then period="("..period..")" end return period end local function getPeriodSub(sTime, eTime, brackets) local startTime, endTime, y, m, y2, m2 if sTime then y, m = string.match(sTime, "(%d+)-(%d+)-%d+") if m=='00' or m=='01' then startTime= funcDateFigure(sTime, 'Y') else startTime= funcDateFigure(sTime,'m') end end if eTime then y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+") if m2=='00' or m2=='12' then endTime=funcDateFigure(eTime, 'Y') else endTime=funcDateFigure(eTime, 'm') end end return getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) end local function getPeriodSub_season(sTime, eTime, brackets) local startTime, endTime if sTime and eTime then startTime, endTime = getStartEndTime(sTime, eTime, 'small') elseif sTime then startTime=funcDate(sTime, 'small') elseif eTime then endTime=funcDate(eTime, 'small') end return getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) end -- for display period with only year, for instance (2020-2021) local function getPeriod(q, brackets,season) local sTime, eTime = getStartEndfromQuali(q) if season then return getPeriodSub_season(sTime, eTime, brackets), sTime else return getPeriodSub(sTime, eTime, brackets), sTime end end -- For infobox local function getClass(entityID) local classLink, circuitID, circuitLink local classTable={} for ii, p279 in statements(entityID, 'P279') do if p279 and p279.mainsnak.snaktype == 'value' then local classID = p279.mainsnak.datavalue.value.id if data.class_dic[classID]~=nil then circuitID=classToCircuit(classID, entityID, false, p279.qualifiers) classLink=classLinkFn(classID,circuitID) if classLink then local period, sTime=getPeriod(p279.qualifiers, true) local classStr = classLink .. " <small>"..period.."</small>" table.insert(classTable, {sTime, classStr, circuitID}) end end end end if #classTable~=0 then table.sort(classTable, function(a, b) return a[1] < b[1] end) end for _, class in pairs(classTable) do if not str then str='' else str=str..'<br>' end str=str..class[2] if class[3] then circuitLink=WPlinkpure(class[3]) end end return str, circuitLink, #classTable end local function fn_race(entityID,displayed_class,display_class,timeOfRace, functionName,country)--return link to the race and class --first function read from victory main local Sitelink, entity_type, classID, stageID, race_tCell, class_tCell, parentID for _, p31 in statements(entityID, 'P31') do if data.stages[p31.mainsnak.datavalue.value.id] then entity_type = 'stage' --then the class is one stage above! parentID = getParentID(entityID) classID=firstValue(parentID, 'P279', 'id') stageID= entityID --everything slide from one rank entityID = parentID end end --Now we have the class and know the type of race it is if entity_type == 'stage' then Sitelink=getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace) else classID=firstValue(entityID, 'P279', 'id') Sitelink=getMainRaceLink(entityID,data.class_dic[classID],nil, functionName,timeOfRace) end if country~=false then local tCell=mw.html.create('td'):cssText("text-align:".. textalign ..";padding:0 2.3em"):wikitext(Sitelink) race_tCell=tostring(tCell) else race_tCell=Sitelink --already opened end if display_class == true and classID~=nil and (displayed_class==nil or displayed_class[classID]~=nil) then local circuitID=classToCircuit(classID, entityID, true,nil) local classLink=classLinkFn(classID,circuitID) --return '' worst case class_tCell=mw.html.create('td') :attr('data-sort-value',data.class_sort[classID]) --sortkey :cssText("text-align:center;padding:0 0.5em") :wikitext(classLink) end return parentID, race_tCell, class_tCell end local function fn_rider(lf,entityID,timeOfRace,display_team,only_winner,country) local winners, countrytemp, result local WDlink_on = (wiki == "mk" or wiki == "ja") local thereisawinner=false if only_winner == 1 then winners = {Q20882667 = '', Q20882747=''} -- first, general or stage elseif only_winner == 0 then winners = { Q20882667 = '', Q20882668 = '',Q20882669 = ''} -- Q20882668 is 'second overall' else --3 winners = { Q47640757='' } -- World Tour -- name not used here end if country==nil then countrytemp=false else countrytemp=country end winner(lf,entityID, winners, timeOfRace, countrytemp, WDlink_on, display_team, true) local tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em") if only_winner == 0 then tCell:wikitext(winners.Q20882667) result=tostring(tCell) tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882668) result=result..tostring(tCell) tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882669) return result..tostring(tCell) else local tempwinner if only_winner == 1 then if winners.Q20882667~=nil and winners.Q20882667~='' then tempwinner=winners.Q20882667 else tempwinner=winners.Q20882747 end else tempwinner=winners.Q47640757 end if tempwinner~='' and tempwinner~=nil then thereisawinner=true end return tCell:wikitext(tempwinner), thereisawinner end end local function compareDate(tdate) --test future if tdate then local today=os.date("*t") local _, _, y, m, d = string.find(tdate, "(%d+)%p(%d+)%p(%d+)") local tYear=tonumber(y) local tMonth=tonumber(m) local tDay=tonumber(d) if tYear>today['year'] then return true elseif tYear<today['year'] then return false --the last race is the future else if tMonth>today['month'] then return true elseif tMonth<today['month'] then return false else if tDay>today['day'] then return true elseif tDay<today['day'] then return false else return false --arbitrary end end end else return false --arbitrary end end local function calculateAge(birthDate, endDate) --test future local eYear, eMonth, eDay local longestcontractyears=10 if birthDate then if not endDate then local today=os.date("*t") eYear=today['year'] eMonth=today['month'] eDay=today['day'] else local _, _, y, m, d = string.find(endDate, "(%d+)%p(%d+)%p(%d+)") eYear=tonumber(y) eMonth=tonumber(m) eDay=tonumber(d) end local _, _, y, m, d = string.find(birthDate, "(%d+)%p(%d+)%p(%d+)") local tYear=tonumber(y) local tMonth=tonumber(m) local tDay=tonumber(d) local alreadyThisYear if eMonth>tMonth then alreadyThisYear=true elseif eMonth<tMonth then alreadyThisYear=false else if eDay>tDay then alreadyThisYear=true elseif eDay<tDay then alreadyThisYear=false else alreadyThisYear=true end end if alreadyThisYear then return eYear-tYear, tYear, eYear+longestcontractyears else return eYear-tYear-1, tYear, eYear+longestcontractyears end else return 0, tYear, eYear+longestcontractyears end end local function evaluateWinnerMax(t) local winners = t.vainqueur local result local most_wins = 0 local most_wins_ID = {} for winnerID, winner in pairs(winners) do if winner.count > most_wins then most_wins = winner.count most_wins_ID = { winnerID } elseif winner.count == most_wins then most_wins_ID[#most_wins_ID + 1] = winnerID end end if most_wins > 1 then for _, id in pairs(most_wins_ID) do if not result then result=winners[id].link else result=result.."<br>"..winners[id].link end end local _, gen_singular, gen_plural=plural(most_wins) if gen_singular then --slavic plural, 1 victory is not displayed word_victory=translate("raceinfobox",29) elseif gen_plural then word_victory=translate("raceinfobox",30) else word_victory=translate("raceinfobox",32) --singular end result=result.."<br>("..tostring(most_wins).." "..word_victory..")" end t.maxWinner=result end local function listOfWinners(itemID,t, team,lf, mandatory_prop) local winners = { Q20882667 = '',}-- Q20882667 is 'overall winner general classification' local winnersId={ Q20882667 = '',}--to detect disqualification local WDlink_on, sitelink if wiki == "mk" or wiki == "ja" or wiki == "ru" then WDlink_on = true else WDlink_on = false end -- Get the date to sort the editions for _, p527 in statements(itemID, 'P527') do --_, p527 local raceDate, year, raceID, entity_race, a, b raceId = p527.mainsnak.datavalue.value.id -- Qnumbers of the parts of a tour raceDate=getTimeOfRace(raceId) table.insert(t.race, { raceId=raceId, raceDate=raceDate, future=compareDate(raceDate)} ) --check if future table.sort(t.race, function(a,b) return a['raceDate'] < b['raceDate'] end) -- t.race is sorted after year end --look for the next race local lastRunEdition, lastEditionDate, nextEdition for num, race in ipairs(t.race) do if race['future'] then nextEdition=num break end end --Get the winners local numberOfEditions=0 local lastWinner, winnerId if not team then --for race, a test shall be performed for num=1,#t.race do winners.Q20882667='' winnersId.Q20882667='' winner(lf,t.race[num]['raceId'], winners, t.race[num]['raceDate'], false, WDlink_on, nil, nil, winnersId ) if t.race[num]['future']==false then --in the past if winnersId.Q20882667~="Q30108381" and winnersId.Q20882667~="Q54806642" then --cancelled numberOfEditions=numberOfEditions+1 lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] lastWinner=winners.Q20882667 end end winnerId=winnersId.Q20882667 if winnerId~=nil and winnerId~='' and winnerId~='Q666' and winnerId~='Q30108381' and winnersId.Q20882667~="Q54806642" then --code for disqualification if not t.vainqueur[winnerId] then t.vainqueur[winnerId]={} t.vainqueur[winnerId].link=winners.Q20882667 t.vainqueur[winnerId].count=0 end t.vainqueur[winnerId].count=t.vainqueur[winnerId].count+1 end end else --for team the check is lighter for num=1,#t.race do if t.race[num]['future']==false then --in the past if mandatory_prop==nil then numberOfEditions=num lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] else local ss = wikibase.getAllStatements(t.race[num]['raceId'], mandatory_prop) if #ss >0 then numberOfEditions=num lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] end end end end end local monthId=firstValue(itemID, 'P2922','id') if monthId then t.lastEditionMonth=getLabelFallback(monthId) or '' else t.lastEditionMonth=contentLanguage:formatDate("M", lastEditionDate) end if lastEditionDate then t.lastEditionYear=funcDate(lastEditionDate,"onlyyear") end t.numberOfEditions=numberOfEditions if not team then evaluateWinnerMax(t) end if lastRunEdition then t.lastWinner=lastWinner or '' --t.vainqueur[lastRunEdition]['link'] t.lastID=t.race[lastRunEdition]['raceId'] sitelink = wikibase.getSitelink(t.lastID) if sitelink ~= nil then t.lastLink = "[[" .. sitelink .. "]]" else t.lastLink = nil end end if nextEdition then t.nextID=t.race[nextEdition]['raceId'] sitelink = wikibase.getSitelink(t.nextID) if sitelink ~= nil then t.nextLink = "[[" .. sitelink .. "]]" else t.nextLink = nil end end end local function getPeriodicity(itemID, t) local p = wikibase.getBestStatements(itemID, 'P2257') if p[1] and p[1].mainsnak.snaktype == 'value' then local period=p[1].mainsnak.datavalue.value.amount local periodunit=p[1].mainsnak.datavalue.value.unit if tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q577' then return translate("raceinfobox",1).." ("..t.lastEditionMonth ..")" elseif tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q5151' then return translate("raceinfobox",2) else return nil end else return nil end end local function getType(itemID) local result, typeID typeID =firstValue(itemID, 'P31', 'id') if typeID ~= nil then if typeID=="Q2912397" and wiki=="fr" then result="[[Cyclisme_sur_route#Épreuve_d'un_jour|Course d'un jour]]" else result=WPlinkpure(typeID) end end --else result=nil return result end local function getFormerNames(itemID, PID, season) local listOfNames={} local officialname,language local kk=1 while #listOfNames == 0 and kk<=#lang_priority do lang=lang_priority[kk] kk=kk+1 for _, prop in ipairs({PID}) do for _, p1813 in statements(itemID, prop) do language = p1813.mainsnak.datavalue.value.language officialname = p1813.mainsnak.datavalue.value.text if lang==language then --only exact language local period, sTime=getPeriod(p1813.qualifiers, nil, season) if not sTime then sTime="+1900-01-01T00:00:00Z" end --first table.insert(listOfNames,{sTime, period, officialname, language}) end end end end table.sort(listOfNames, function(a, b) return a[1] < b[1] end) return listOfNames end local function officialSite(itemID) local url=firstValue(itemID, 'P856') if url then return '['..url.." "..translate("raceinfobox",3)..']' end return nil end local function checkkm(p) local km, unit if p[1] and p[1].mainsnak.snaktype == 'value' then km = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q828224' then return km end end return nil end local function checkm(p, in_cm) local m, unit, res if p[1] and p[1].mainsnak.snaktype == 'value' then m = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q11573' then res=m elseif unit=='http://www.wikidata.org/entity/Q174728' then --cm res=m*0.01 end if res then if in_cm then res=res*100 end return res end end return nil end local function checkkmh(p) if p[1] and p[1].mainsnak.snaktype == 'value' then kmh = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q180154' then -- Q180154 is 'kilometre per hour' return kmh end end return nil end local function checkkg(p) local kg, unit if p[1] and p[1].mainsnak.snaktype == 'value' then kg = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q11570' then return kg end end return nil end local function formatNumber(e, addUnit, trans) local text if e then text = contentLanguage:formatNum(e) if wiki == 'fo' then text = string.gsub(text, "%.", ",") end if addUnit then local t=translate("unit",trans) if string.find( t," ")==1 then text = text ..t else text = text .. ' ' ..t end end end return text end local function getHeight(entityID, in_cm) local p = mw.wikibase.getBestStatements(entityID, 'P2048') if in_cm then return formatNumber(checkm(p, in_cm), true, 11) else return formatNumber(checkm(p, in_cm), true, 9) end end local function getWeight(entityID) local p = mw.wikibase.getBestStatements(entityID, 'P2067') return formatNumber(checkkg(p), true, 10) end local function getDistance(raceID, addUnit) local p = mw.wikibase.getBestStatements(raceID, 'P3157') -- P3157 is 'event distance' local km =checkkm(p) if not km then --for stage race we can sum the distances from each stage local stagep, tempkm for _, p527 in statements(raceID,'P527') do stagep=mw.wikibase.getBestStatements(p527.mainsnak.datavalue.value.id, 'P3157') tempkm=checkkm(stagep) if tempkm then if not km then km=0 end km=km+tempkm end end end return formatNumber(km, addUnit, 8), km end local function getElevation(raceID) local p =mw.wikibase.getBestStatements(raceID, 'P7297') return formatNumber(checkm(p), true, 9) end local function getSpeed(raceID, addUnit,kmdistance, property) local timeOfRace local p = mw.wikibase.getBestStatements(raceID, 'P2052') -- P2052 is 'speed' local kmh=checkkmh(p) if not kmh and kmdistance then --calculate speed local p2321= wikibase.getBestStatements(raceID, property) --winner supposed to be first of overall classification if p2321 and p2321[1] and p2321[1].mainsnak.snaktype == 'value' then local q = p2321[1].qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank for _, q1352 in pairs(q.P1352) do rank = tonumber(q1352.datavalue.value.amount) end if rank == 1 then timeOfRace=qualifieramount(p2321[1], 'P2781') --get time end end if timeOfRace then kmh=math.modf(1000*kmdistance/(timeOfRace/3600))/1000 end end end return formatNumber(kmh, addUnit, 5) end local function getGenderCode(riderID, default) local gender=default -- default is for teams, n or f local g = firstValue(riderID, 'P21', 'id') if g == 'Q6581097' then gender = 'm' -- Male elseif g == 'Q6581072' then gender = 'f' -- Female elseif g == 'Q1052281' then gender = 't' -- Transgenre end return gender end function number(gender, b, wiki) local str if b==nil or b=="" then return "" end if wiki=="ar" then str = b elseif wiki == "ca" then if b==1 then str = b.."r" elseif b==2 then str = b.."n" elseif b==3 then str = b.."r" elseif b==4 then str = b.."t" else str = b.."è" end elseif wiki=="es" then if gender == 'm' or gender == 'n' then str = b..".º" elseif gender == 'f' then str = b..".ª" else str = b.."." end elseif wiki=="fr" then if b==1 then if gender == 'm' then str="1<sup>er</sup>" elseif gender == 'f' or gender == 'n' then str="1<sup>re</sup>" else str="1<sup>e</sup>" end else str=b.."<sup>e</sup>" end elseif wiki=="nl" then str=b.."e" elseif wiki=="ru" then str=b.."-й" elseif wiki=="eo" then str=b.."-a" elseif wiki=="ast" then if gender == 'm' or gender == 'n' then str = b.."ᵘ" elseif gender == 'f' then str = b.."ª" else str = b.."." end else str = b .. ". " end return str end local function calculateTime(t) local time = tonumber(t) local h, m, s = 0, 0, 0 local str = '' if time == nil then return '' end if time < 60 then s = time elseif time < 3600 then m = math.modf(time/60) s = time - m*60 else h = math.modf(time/3600) m = math.modf((time - h*3600)/60) s = time - h*3600 - m*60 end if h>0 then str = str..mw.ustring.format ('%i'..translate("unit",2), h) end if m>=0 and h>0 then str = str.. mw.ustring.format('%02i'..translate("unit",3), m) end if m>0 and h==0 then str = str.. mw.ustring.format('%i'..translate("unit",3), m) end if s>=0 and (h>0 or m>0) then str = str.. mw.ustring.format('%02i'..translate("unit",4), s) end if s>=0 and h==0 and m==0 then str = str.. mw.ustring.format('%i'..translate("unit",4), s) end return str --time..': '..h..' '..m..' '..s end local function func_error_message(x) local l10nDef = { ["fr"] = {"La propriété <1> est manquante dans l'item <2> (<3>)"}, ["en"] = {'Property <1> is missing in item "<2>" (<3>)'}, ["ar"] = {'الخاصية <1> غير موجودة في العنصر "<2>" (<3>)'}, } local l10n = l10nDef[wiki] if not l10n then l10n = l10nDef["en"] end -- default return l10n[x] end local function getMissingLabelTrackingCategory() local l10nDef = { ["cs"] = '[[Kategorie:Údržba:Doplnit štítek na Wikidatech]]', ["lv"] = '[[Category:Vikidatos trūkst nosaukuma latviešu valodā]]', ["he"] = '[[קטגוריה:ויקינתונים:ערכים חסרי תווית בעברית: קבוצת אופניים]]', } local l10n = l10nDef[wiki] if not l10n then l10n = '' end return l10n end local function getStageLabel(inp) local a local b='' local this_label='' if inp then a, _ = string.gsub(inp, "%a", "") -- 20, not 20a if string.find(inp, "%a") then b = string.sub(inp, string.find(inp, "%a")) end if inp == "0" then this_label = translate("func_prologue",1) else this_label = stageLink(inp, a, b) end end return this_label end --[[ Make a table row for infoboxes with links to previous and next ]] local function getPreviousNextLine(raceID, stage) local previousID = firstValue(raceID, 'P155', 'id') -- P155 is 'follows' local nextID = firstValue(raceID, 'P156', 'id') -- P156 is 'followed by' if not nextID or not previousID then for _, s in statements(raceID, 'P3450') do -- for items using P3450 local q = s.qualifiers if q then if not previousID and q.P155 and q.P155[1] and q.P155[1].snaktype == 'value' then previousID = q.P155[1].datavalue.value.id end if not nextID and q.P156 and q.P156[1] and q.P156[1].snaktype == 'value' then nextID = q.P156[1].datavalue.value.id end end end end if not previousID and not nextID then return '' end local previousText, nextText = '', '' local direction = contentLanguage:getDir() local previous_sign = (direction == 'ltr') and '&#x25C0;' or '&#x25B6;' local next_sign = (direction == 'ltr') and '&#x25B6;' or '&#x25C0;' local this_label if previousID then if stage then local series_ordinal= firstValue(previousID, 'P1545', 'value') this_label=getStageLabel(series_ordinal) else this_label = getYear(previousID) end local link = wikibase.getSitelink(previousID) if link then previousText = '<span style="color:#3366CC">[[' .. link .. '| ' .. previous_sign .. this_label .. ']]</span>' else previousText = '<span style="color:#3366CC">' .. previous_sign .. '</span> ' .. this_label end end if nextID then if stage then local series_ordinal= firstValue(nextID, 'P1545', 'value') this_label=getStageLabel(series_ordinal) else this_label = getYear(nextID) end local link = wikibase.getSitelink(nextID) if link then nextText = '<span style="color:#3366CC">[[' .. link .. '|' .. this_label .. next_sign .. ']]</span>' else nextText = this_label .. ' <span style="color:#3366CC">' .. next_sign .. '</span>' end end local direction = contentLanguage:getDir() local outTable = mw.html.create('tr') local tCell=outTable:tag('td') tCell:cssText("text-align:" .. ((direction == 'ltr') and 'left' or 'right')):wikitext(previousText) if stage ~= nil and wiki=="ar" then tCell:css('width','50%') end tCell=outTable:tag('td') :cssText("text-align:" .. ((direction == 'ltr') and 'right' or 'left')):wikitext( nextText) if stage ~= nil and wiki=="ar" then tCell:css('width','50%') end return outTable end --== Functions for infobox -- functions for infoboxs local function get_others_dic() return { { name = translate("infobox",29,w_race)}, -- picture { name = translate("infobox",30,w_race)}, -- caption { name = translate("infobox",31,w_race)}, -- map { name = 'sectional'}, -- sectional { name = translate("infobox",30,w_race)}, -- caption map { name = translate("infobox",30,w_race)}, -- caption sectional } end local function infoGetOthers(others, entityID) if not others[1].content then --picture others[1].content, others[2].content = getLogo(entityID) if not others[1].content then others[1].content, others[2].content = getImage(entityID) -- picture, caption end end if not others[3].content then -- map others[3].content, others[5].content = getMap(entityID) -- P242 is 'locator map image' end if not others[4].content then -- map others[4].content, others[6].content = getSectionalView(entityID) -- sectional_view end end local function infoGetPlaceOrCountry(details,index, entityID, timeOfRace, PID) --generalized infoGetCountry if not details[index].content then -- country -- This function gives countries where the race take place local place = {} if not place[1] then for _, p17 in statements(entityID, PID) do -- P17 is 'country' local countryID = p17.mainsnak.datavalue.value.id if PID=='P17' then place[#place + 1] = flag(countryID, timeOfRace) .. ' ' .. getCountryName(countryID) else place[#place + 1] = wikibase.getLabel(countryID) end end end if place[1] then if #place > 1 then details[index].name = details[index].name_plural end details[index].content = table.concat(place, '<br/>') end end end local function infoGetPlace(details,index, entityID, timeOfRace) infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P276") end local function infoGetCountry(details,index, entityID, timeOfRace) infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P17") end local function infoGetStartEnd(details,index, entityID, timeOfRace) if not details[index].content then -- start place local place = firstValue(entityID, 'P1427', 'id') -- P1427 is 'start point' details[index].content = place and getPlaceLink(place, timeOfRace) end if not details[index+1].content then -- end place local place = firstValue(entityID, 'P1444', 'id') -- P1444 is 'destination point' details[index+1].content = place and getPlaceLink(place, timeOfRace) end end local function infoGetParticipants(details,index, entityID) -- Function that give the number of cyclists at the beginning and at the finishing of a race for _, p1132 in statements(entityID, 'P1132') do -- P1132 is 'number of participants' local amount = tonumber(p1132.mainsnak.datavalue.value.amount) -- tonumber to remove starting '+' for _, q in qualifiers(p1132, 'P276') do -- P276 is 'location' local location = q.value.id if location == "Q529711" then -- Q529711 is 'beginning' if not details[index].content then details[index].content = amount end -- participants at start elseif location == "Q12769393" then -- Q12769393 is 'end' if not details[index+1].content then details[index+1].content = amount end -- participants at end end end end end local function infoInitTab(width, name, icon, cellpadding) if width==nil then width= '320px' end local tab = mw.html.create('table'):addClass('infobox') if wiki == "eo" then tab:cssText(standardtablecss):css('width','23em') else cellpadding=tostring(cellpadding or 4) tab:attr('cellpadding',cellpadding) :attr('cellspacing','0') :cssText(standardtablecss) :cssText("float:"..floatinfobox.."; max-width:"..width) end local tCell=tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('border-bottom:5px solid var(--background-color-base, #fff); color:inherit; font-size:175%; text-align:center') :css('background-color',backgroundColor) local topTable = tCell:tag('table') :cssText('width:100%') local tRow=topTable:tag('tr') tRow:tag('td'):wikitext(name or '') tRow:tag('td'):wikitext(icon or '') return tab end local function addARow(name, content) local tRow if content then tRow= mw.html.create('tr'):css('vertical-align','top') tRow:tag('td'):css('width','40%'):css('font-weight','bold') :wikitext(name) tRow:tag('td'):wikitext(content) end return tRow end local function addATitle(title) local tRow if title then tRow= mw.html.create('tr'):tag('td'):attr('colspan','2') :css('text-align','center') :css('background-color',backgroundColor) :css('font-weight','bold') :css('color', 'inherit') :wikitext(title) end return tRow end local function infoFillOthersDetails(tab, others, details,title, pxmax) if not pxmax then pxmax="300px" end if others and others[1].content then -- picture tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:" .. others[1].content .."|center|"..pxmax.."]]") if others and others[2].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[2].content) end end if details then tab:node(addATitle(title)) for _, row in ipairs(details) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end end local function infoFillOthersMap(tab, others) if others[3].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[3].content .. "|center|300px]]") if others[5].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[5].content) end end if others[4].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[4].content .. "|center|300px]]") if others[6].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[6].content) end end end local function wdDoc(tab, s, translation, ID) local tCell=tab:tag('tr'):tag('td') local tC, link local commons_cat=firstValue(ID, 'P373', 'id') if commons_cat then commons_cat=string.gsub(commons_cat, '%s', '_') local icon="[[File:Commons-logo.svg|12px|link=https://commons.wikimedia.org/wiki/Category:"..commons_cat.."]]" tC=tCell:cssText('text-align:left; border-top:3px solid '..backgroundColor..'; font-size:93%') :wikitext(icon):tag('td') else tC=tCell:attr('colspan','2') end if wiki == "ar" then link = wdLink(ID) .." [[" .. s .. "|" .. translation .. "]]" else link = "[[" .. s .. "|" .. translation .. "]] "..wdLink(ID) end tC:cssText('text-align:right; border-top:3px solid '..backgroundColor..'; font-size:93%') :wikitext(link) end local function listWPlink(details, index, entityID, PID, bool_link) local org={} for _, p in statements(entityID, PID) do if p and p.mainsnak.snaktype == 'value' then if bool_link then table.insert(org,WPlinkpure(p.mainsnak.datavalue.value.id)) else local label=wikibase.getLabelByLang(p.mainsnak.datavalue.value.id, wiki) table.insert(org,label) end end end if org[1] then if #org > 1 then details[index].name = details[index].name_plural end details[index].content = table.concat(org, '<br/>') end end --Display in a chronological order fields in a table local function listWPlinkChrono(details, index, entityID, listOfProperty, option, initialYear, display_flag, comma,season) local period, sTime, value, ID, temp local list={} if not initialYear then initialYear="1900" end if not details[index].content then for _, prop in ipairs(listOfProperty) do if #list==0 then --if P1532 is used P17 is not used for _, p in statements(entityID, prop) do if p and p.mainsnak.snaktype == 'value' then ID=p.mainsnak.datavalue.value.id if p.qualifiers then period, sTime=getPeriod( p.qualifiers, true,season) end if not sTime then sTime="+"..initialYear.."-01-01T00:00:00Z" end --first if option =='label' then value=wikibase.getLabelByLang(ID, wiki) elseif option == 'country' then value=getCountryName(ID) if display_flag then value= flag(ID, sTime).." "..value end elseif option=='officialname' then value=getOfficialName(ID, sTime,false) --official name is necessary because of continental team change in ProTeam elseif option =='place' then value=getPlaceLink(ID, sTime) elseif option=='UCIcode' then value=getTeamCodeCat(entityID, sTime) --! getTeamCodeCat uses teamID elseif option=='money' then local amount=p.mainsnak.datavalue.value.amount local unit=p.mainsnak.datavalue.value.unit value=dispmoney(amount, unit) or '' else --rider value=getRiderLink(ID, sTime) end if value then table.insert(list,{sTime,period,value}) end end end end end if #list ~=0 then table.sort(list, function(a, b) return a[1] < b[1] end) end local separator='<br/>' if comma then separator=', ' end if list and #list==1 then details[index].content=list[1][3] or '' elseif list and #list~=0 then details[index].name = details[index].name_plural details[index].content='' for _, v in pairs(list) do temp=v[3] or '' if v[2] then temp=temp..' <small>'..v[2]..'</small>'..separator else temp=temp..separator end details[index].content=details[index].content..temp end end end end -- == Functions for team roster local function getReason(riderReason, riderRef, p527,timeOfRace,riderEnd,lf) --reason for end local listofproperty={'P1642','P1643','P1534'} local outTable={} local seasonYear, endYear if timeOfRace then seasonYear=tonumber(string.sub(timeOfRace, 2, 5)) end if riderEnd then endYear=tonumber(string.sub(riderEnd, 2, 5)) end --if not the last season, do not display the reason for end if (riderReason == nil and (not endYear or (seasonYear and endYear and (seasonYear== endYear)))) then --if no riderReason before then look for it, otherwise don't touch it for _,v in ipairs(listofproperty) do for _, q in qualifiers(p527, v) do riderReason = q.value.id end end if riderReason then local label =string.gsub(getLabelFallback(riderReason,lang_priority), "%b()", "") riderRef = getReference(lf,p527, 1) riderReason = ', ' .. label end end return riderReason, riderRef end local function getPosition(riderPosition,v) local stagiaire if riderPosition == nil then -- find the 'position' (P39) of a rider for _, q in qualifiers(v, 'P39') do stagiaire = q.value.id local label = string.gsub(getLabelFallback(stagiaire,lang_priority), "%b()", "") Sitelink = wikibase.getSitelink('Q2328847') if Sitelink then riderPosition=', ' .. "[["..Sitelink .."|"..label.."]]" else riderPosition =', ' .. label end end end return riderPosition end local function trans(date, month, day) if date ~= '' and date~=nil then local _, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)") if m == '00' then m = month end if d == '00' then d = day end date = '+'..y..'-'..m..'-'..d..'T00:00:00Z' return date end return nil end local function parseDate(date, defaultYear, defaultMonth, defaultDay, errortext, etext) local y, m, d local date=trans(date, defaultMonth, defaultDay) if not date then date = '+'..defaultYear..'-'..defaultMonth..'-'..defaultDay..'T00:00:00Z' y=defaultYear m=defaultMonth d=defaultDay errortext=errortext..etext else _, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)") if not y or y=="0000" then y=defaultYear errortext=errortext..etext end date = '+'..y..'-'..m..'-'..d..'T00:00:00Z' end return date, y, m, d, errortext end local function findLastName(label,wiki) if not label then label = '' end local _, count = string.gsub(label, " ", " ") local names local a,b,c,d = '', '', '', '' local done = false if count ~= nil then count = count + 1 else count = 1 end if count > 1 then if count == 2 then if label ~= '' then a, b = string.match(label, "(%S+)%s+(%S+)") names = b..' '..a end else local name_parts_mk = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'} local name_parts_ru = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'} local name_parts = {'da', 'de', 'di', 'De', 'la', 'Le', 'ten', 'van', 'Van'} if count == 3 and label ~= '' then a, b, c = string.match(label, "(%S+)%s+(%S+)%s+(%S+)") if wiki == 'mk' then for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..a done = true break end end elseif wiki == 'ru' then for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..a done = true break end end else for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..a done = true break end end end if not done then names = tostring(c)..' '..tostring(a)..' '..tostring(b) done = true end end if count > 3 and label ~= '' then a, b, c, d = string.match(label, "(%S+)%s+(%S+)%s+(%S+)%s+(%S+)") if wiki == 'mk' then for _,v in ipairs(name_parts_mk) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end elseif wiki == 'ru' then for _,v in ipairs(name_parts_ru) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end else for _,v in ipairs(name_parts) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end end if not done then names = label.."%"..b end --b..' '..c..' '..d..' '..a end end end end return names or '' end local function findSortKey(riderID, correctlanguage, wikiIsSlavic) --find the last name to sort if wikiIsSlavic and correctlanguage then local label = wikibase.getLabelByLang(riderID, wiki) if label then local nametable = mw.text.split(label, ",") if nametable[2] then --there is a coma so the lastname is first return nametable[1]..nametable[2] else --no coma return findLastName(label,wiki) end end end --all other cases label = getLabelFallback(riderID) return findLastName(label,wiki) end --== V) Main functions == --=== A) Function race reference === local function race_reference(raceID,lf) -- Allow to display the reference below the classifications -- local bases={ {"ProCyclingStats", "P2327", "http://www.procyclingstats.com/race.php?id="}, {"Cycling Quotient", "P2648", "http://www.cqranking.com/men/asp/gen/race.asp?raceid="}, {"Cycling Archives", "P2330", "http://www.cyclingarchives.com/ritfiche.php?ritid="}, {"Cycling Quotient", "P2708", "http://www.cqranking.com/women/asp/gen/race.asp?raceid="}, -- cycling team {"ProCyclingStats", "P2328", "http://www.procyclingstats.com/team/"}, {"Cycling Quotient", "P2649", ""}, --The entire link is indicated in full {"Cycling Archives", "P2331", "http://www.cyclingarchives.com/ploegfiche.php?id="} } local links = {} local ref for _, base in pairs(bases) do local p = mw.wikibase.getBestStatements(raceID, base[2]) if p[1] and p[1].mainsnak.snaktype == 'value' then if base[2]=="P2648" and p[1].mainsnak.datavalue.value=="1" then --code for general reference of results ref=getReference(lf,p[1], 1) if ref then table.insert(links, ref) end else table.insert(links, ' [' .. base[3] .. p[1].mainsnak.datavalue.value .. " " .. base[1] ..']') end end end if #links == 1 then return translate("race_reference", 1) .. table.concat(links) elseif #links > 1 then return translate("race_reference", 2) .. table.concat(links) else return '' end end --=== B) Calendar === function p.calendarcustom(frame) local headers={2} --date local calendarID, lf =get_and_checkID(frame) local display_numbering=false --default local country_column=2 if istrue(get_arg('display_numbering',frame)) then display_numbering=true table.insert(headers, 3) country_column=3 end --no_country modify the way the country is displayed local no_country={} if istrue(get_arg('no_country',frame)) or wiki == "ar" then no_country={wiki} end -- country -- table.insert(headers, 5) --race-- table.insert(headers, 4) local display_class=false if istrue(get_arg('display_class',frame)) then display_class=true table.insert(headers, 6) end table.insert(headers, 7) --winner local only_winner=1 if istrue(get_arg('podium',frame)) or wiki == "ar" then only_winner =0 table.insert(headers, 8) --second table.insert(headers, 9) --third end local display_leader=false if istrue(get_arg('display_leader',frame)) then display_leader=true table.insert(headers, 10) end local display_team =false if istrue(get_arg('display_team',frame)) then display_team =true end local data_type={} for ii=1,#headers do table.insert(data_type,'') end local w_race=isWomenrace(calendarID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = 1000, -- translation 1 in function Calendar is printed in the upper part of the table header header_2 = headers,-- translations 2, 3, 4, 5, 6 in function Calendar are printed in this order title=wikibase.getLabel(calendarID), -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. country_column = country_column, data_sort_type = data_type, -- see https://meta.wikimedia.org/wiki/Help:Sorting item = calendarID, property = 'P527', no_country = no_country, only_winner = only_winner, display_numbering = display_numbering, displayed_class =nil, display_team=display_team, display_class=display_class, display_leader= display_leader, w_race=w_race, lf=lf } return calendar_main(s, tableA(s)) end function p.calendar(frame) ----- function to display UCI calendar of one year ---- ----- based on WWTcalendar function ----- ----- author: Mr. Ibrahem ----- local calendarID --determined later local lf = get_lf(frame) local UCI = data.UCIYearToQ local header_1_tab = {["UWT"]=13 ,["europe"]=14 ,["asia"]=15,["america"]=16 ,["africa"]=17 ,["oceania"]=18, ["WWT"]=11, ["women"]=1, ["Pro"]=22} local display_code_tab= {["UWT"]=1 ,["europe"]=2 ,["asia"]=2,["america"]=2 ,["africa"]=2 ,["oceania"]=2, ["WWT"]=1, ["women"]=2, ["Pro"]=2} local header_1_number = 12 local display_code local tempdic, year, keyk, yeary local tempdic1 = { header_2 = {2, 3,5, 4, 7, 8, 9, 10}, only_winner =0, display_numbering=true, display_team=false, display_class=false, display_leader=true } local tempdic2 = { header_2 = {2, 5, 4, 6, 7}, only_winner =1, display_numbering=false, display_team=true, display_class=true, display_leader=false } for key, v in pairs(UCI) do year = get_arg(key,frame) --with lf does not work if not year then year = get_arg(key, lf) end if not calendarID and year then if v[year] then calendarID = v[year] header_1_number = header_1_tab[key] display_code = display_code_tab[key] keyk=key yeary=year end end end if wiki == "ar" then if (get_arg('code', lf) == "1") then display_code = 1 end if (not calendarID or calendarID == "") and get_arg('test', lf) then calendarID = get_arg('test',lf) end end if not calendarID or calendarID == "" then return "" end if display_code == 1 then tempdic=tempdic1 if keyk=="UWT" and tonumber(yeary) > 2018 then tempdic.display_leader=false --no more leader after 2018 tempdic.header_2 ={2, 3,5, 4, 7, 8, 9} end else tempdic=tempdic2 end if istrue(get_arg('display_numbering',lf)) then tempdic.display_numbering=true elseif get_arg('display_numbering',lf) and istrue(get_arg('display_numbering',lf)) == nil then tempdic.display_numbering=false end local w_race=isWomenrace(calendarID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = header_1_number, -- t header_2 = tempdic.header_2, -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. country_column = 3, data_sort_type ={'', 'unsortable', '', '', '','',''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting item = calendarID, property = 'P527', no_country = no_country_calendar, only_winner = tempdic.only_winner, display_numbering = tempdic.display_numbering, displayed_class = nil, --all display_team=tempdic.display_team, display_class=tempdic.display_class, display_leader=tempdic.display_leader, w_race=w_race, lf=lf } return calendar_main(s, tableA(s)) end function calendar_main(s, resultTable)--Display the UCI women calendar of one year local lf = s.lf local limit = tonumber(get_arg("limit", lf) or "250") local offset = tonumber(get_arg("offset", lf) or "0") local offset_limit = offset + limit local count = 0 local calendarID=s.item local t_Body ={} local w_race=isWomenrace(calendarID) local temp=firstValue(calendarID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) ----- Begin of the main part of the code for kk, p527 in statements(calendarID, 'P527') do count = count + 1 if not (count <= offset_limit and count >= offset) -- to display statement with limit then break end local RaceID = p527.mainsnak.datavalue.value.id ---- Create a row ---- local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID) local parentID, race_tCell, class_tCell= fn_race(RaceID,s.displayed_class,s.display_class,timeOfRace,nil,country) if race_tCell~=nil then --otherwise the class is not display local country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --create the table local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") tRow:node(date_tCell) if s.display_numbering == true then tRow:tag('td'):cssText("text-align:center;padding:0 0.5em"):wikitext(tostring(kk)) end tRow:node(country_tCell) if country then tRow:node(race_tCell) end if class_tCell then tRow:node(class_tCell) end local rider_tCell =fn_rider(lf,RaceID,timeOfRace,s.display_team,s.only_winner) tRow:node(rider_tCell) if s.display_leader==true then local leader_tCell=fn_rider(lf,RaceID,timeOfRace,s.display_team,3) tRow:node(leader_tCell) end ---- Add the row to the table table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end end return sortAndConcat(t_Body, resultTable) end function p.nationalchampionships(frame) local calendarroadID, calendarITTID, year local lf=get_lf(frame) local listOfCalendar={data.NationalRoadCyclingChampionships,data.NationalITTCyclingChampionships} for ii, thisCalendar in pairs(listOfCalendar) do --road/ITT for key, v in pairs(thisCalendar) do --look for the key of the dictionnary, here women/men year = get_arg(key, frame) --with lf does not work if not year then year = get_arg(key, lf) end if ((ii==1 and calendarroadID==nil) or (ii==2 and calendarITTID ==nil)) and year then if v[year] then if ii==1 then calendarroadID = v[year] else calendarITTID = v[year] end end end end end local w_race=isWomenrace(calendarroadID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = 19, -- header_2 = {5, 20, 21}, country_column = 1, data_sort_type = {'', '', ''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting item= calendarroadID, calendarroadID = calendarroadID, calendarITTID = calendarITTID, property = 'P527', year = year, no_country = {}, --no sense here to hide the country display_team = true, display_countrylink = false, --too expensive w_race=w_race, lf=lf } return nationalchampionships_main(s,tableA(s)) end function nationalchampionships_main(s, resultTable)--Display the list of national champions for one year local lf = s.lf local tableChamp, t_Body = {}, {}, {} local timeOfRace ='+'..tostring(s.year).."-01-01T00:00:00Z" local rider_tCell, thereisawinner, parentID, parentParentID, sitelink local country_flag, country_name, country_tCell local temp=firstValue(s.calendarroadID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local listOfCalendarID={s.calendarroadID, s.calendarITTID} --create the table with the information for ii, thisCalendarID in ipairs(listOfCalendarID) do if thisCalendarID ~= nil then for _, p527 in statements(thisCalendarID, 'P527') do thisID = p527.mainsnak.datavalue.value.id country_flag, country_name, country_tCell=fn_country(thisID,timeOfRace,s.country) if country_name == nil then country_name="country not found" end sortkey=string.gsub(country_name, 'É', 'E') --case États Unis --create the table if tableChamp[sortkey]==nil then tableChamp[sortkey]={} tableChamp[sortkey]['countryname']=country_name tableChamp[sortkey]['roadwinner']='<td></td>' tableChamp[sortkey]['ITTwinner']='<td></td>' --look for sitelink to championship sitelink=nil --reinit if s.display_countrylink then --expensive parentID = firstValue(thisID, 'P361', 'id') --part of if parentID then parentParentID = firstValue(parentID, 'P31', 'id') if parentParentID then sitelink = wikibase.getSitelink(parentParentID) end end end tableChamp[sortkey]['sitelink']=sitelink tableChamp[sortkey]['flag']=country_flag end --fill the table rider_tCell, thereisawinner=fn_rider(lf,thisID,timeOfRace,s.display_team,1,true) if tableChamp[sortkey]['thereisawinner']~=true then --all other cases tableChamp[sortkey]['thereisawinner']=thereisawinner end if ii==1 then tableChamp[sortkey]['roadwinner']=rider_tCell else tableChamp[sortkey]['ITTwinner']=rider_tCell end end end end -- structure the display for key, thisRow in pairs(tableChamp) do if thisRow['thereisawinner'] then --there is a winner local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") if thisRow['sitelink']~=nil then tRow:tag('td'):wikitext(thisRow['flag']..' [['..thisRow['sitelink']..'|'..thisRow['countryname']..']]') else tRow:tag('td'):wikitext(thisRow['flag']..' '..thisRow['countryname']) end tRow:node(thisRow['roadwinner']) tRow:node(thisRow['ITTwinner']) table.insert(t_Body, {sortkey=key, body=tRow}) end --no winner end --end list of key return sortAndConcat(t_Body, resultTable) end --=== C) Victory === function p.victories(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "victories", -- translations are in function victories header_1 = 2, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {3, 4, 5, 6, 7},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. data_type = {'date', 'race', 'country', 'class', 'rider'}, country_column = 3, data_sort_type = {'', 'unsortable', '', '', ''}, -- see https://meta.wikimedia.org/wiki/Help:Sorting item = tempID, property = 'P2522', no_country = no_country_victories, lf=lf, w_race=w_race } return victory_main(s ,tableA(s)) end function victory_main(s, resultTable) local lf = s.lf local _ _, _, s.item = string.find(s.item, "(%w+)") local temp=firstValue(s.item, s.property,'id') if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) local t_Body = {} for _, p2522 in statements(s.item, 'P2522') do local RaceID = p2522.mainsnak.datavalue.value.id local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID, 'victory') local parentID, race_tCell, class_tCell=fn_race(RaceID,nil ,true,timeOfRace, 'victory',country)--displayed_class=nil if race_tCell~= nil then --otherwise class not to be displayed country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --Build the table tRow:node(date_tCell) if country==true then tRow:node(race_tCell) --race site link is in fn_countrytable end tRow:node(country_tCell) tRow:node(class_tCell) --class local rider_tCell =fn_rider(lf,RaceID,timeOfRace,false,1) tRow:node(rider_tCell) table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end --no winner end --end list of key return sortAndConcat(t_Body, resultTable) end --== D) Stage infobox function p.stageinfobox(frame) local stageID, lf = get_and_checkID(frame) local w_race=isWomenrace(stageID) local details = { { name = translate("stageinfobox",2,w_race)}, -- course / not used { name = translate("stageinfobox",2,w_race)}, -- competition { name = translate("stageinfobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- stage type { name = translate("stageinfobox",4,w_race), name_plural = translate("infobox",7,w_race)}, -- date { name = translate("stageinfobox",6,w_race)}, -- distance { name = translate("stageinfobox",7,w_race), name_plural = translate("infobox",10,w_race)}, -- country { name = translate("stageinfobox",9,w_race)}, -- start place { name = translate("stageinfobox",10,w_race)}, -- endplace { name = translate("stageinfobox",11,w_race)}, -- participants at start { name = translate("stageinfobox",12,w_race)}, -- participants at end { name = translate("stageinfobox",13,w_race)}, -- speed { name = translate("stageinfobox",44,w_race)}, -- elevation { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 } local others = get_others_dic() --begin of the function local t_Of = { Q20882747={'results', 'first'}, Q20882748={'results', 'second'}, Q20882749={'results', 'third'}, Q21686770={'results', 'winner_fighting'}, Q2250962={'results', 'cima_coppi'}, Q10452933={'results', 'cima_pantani'}, Q20882763={'gen', 'leader'}, Q20882764={'gen', 'deuxieme'}, Q20882765={'gen', 'troisieme'}, Q20883213={'annex', 'montagne'}, Q20883140={'annex', 'jeune'}, Q20883008={'annex', 'points'}, Q20883329={'annex', 'sprints'}, Q20893984={'annex', 'super_combatif'}, Q20965880={'annex', 'combine'}, Q27104688={'annex', 'stage_volantes'}, Q27104684={'annex', 'regularite'}, Q20882922={'annex', 'equipe'}, Q27104271={'annex', 'equipe_points'}, Q20882667={'gen', 'leader'}, Q20882668={'gen', 'deuxieme'}, Q20882669={'gen', 'troisieme'}, Q20883212={'annex', 'montagne'}, Q20883139={'annex', 'jeune'}, Q20883007={'annex', 'points'}, Q20883328={'annex', 'sprints'}, Q20893983={'annex', 'super_combatif'}, Q20893979={'annex', 'combine'}, Q27067359={'annex', 'stage_volantes'}, Q27067170={'annex', 'regularite'}, Q27907747={'annex', 'azzurri_ditalia'}, Q27907748={'annex', 'azzurri_ditalia'}, Q27907714={'annex', 'breakaway'}, Q27907715={'annex', 'breakaway'}, Q20882921={'annex', 'equipe'}, Q27104269={'annex', 'equipe_points'} } getLocalContent(details, lf.args) getLocalContent(others, lf.args) local timeOfRace local temp = firstValue(stageID, 'P31','id') icon = '' if temp and temp ~= 'Q18131152' then if temp=='Q2266066' or temp=='Q2348250' or temp=='Q485321' then icon = picto_track else icon = picto_road end details[3].content = typeofstagelogo(stageID, true).." "..WPlinkpure(temp) end local name = getLabelFallback(stageID) or '' if wiki == 'fr' and name ~= nil then name= mw.ustring.gsub(name, "^(%d+)([re]+)", "%1<sup>%2</sup> ") end name= mw.ustring.gsub(name, "^(%a)",function (x) return mw.ustring.upper(x) end) infoGetOthers(others, stageID) --name local race={} if course==nil then temp = firstValue(stageID, 'P1545') if temp then details[2].content =getStageLabel(temp) raceId = getParentID(stageID) --for instance Tour de France 2020 if raceId then details[2].content = (details[2].content or '') .. '، '.. WPlinkpure(raceId) for k, p31 in statements(raceId, 'P31') do --get Tour de France race[k] = p31.mainsnak.datavalue.value.id --for the jersey end end end end -- This function give a format to dates when P585 (date) is used in a single day race local pTime = firstValue(stageID, 'P585', 'time') -- P585 is 'point in time' if pTime then details[4].content = funcDate(pTime, 'long') timeOfRace = pTime end local kmdistance if not details[5].content then details[5].content, kmdistance = getDistance(stageID, true) end -- distance infoGetCountry(details,6, stageID, timeOfRace) infoGetStartEnd(details,7, stageID, timeOfRace) infoGetParticipants(details,9, stageID) if not details[11].content then details[11].content = getSpeed(stageID, true, kmdistance, 'P2417') end --speed if not details[12].content then local elevation=getElevation(stageID) if elevation ~= nil then details[12].content =elevation else details[12].content = nil end end --Elevation local jerseyWPID, jersey_name local t_s = { order={'results', 'gen', 'annex'}, results={show=false, header=15, order = {'first','second','third','winner_fighting','winner_fighting2','cima_coppi','cima_pantani'}, first={translation=16}, second={translation=17}, third={translation=18}, winner_fighting={translation=19}, winner_fighting2={translation=19}, -- two winner_fighting possible cima_coppi={translation=40}, cima_pantani={translation=41} }, gen={show=false, header=20, order = {"leader", "deuxieme", "troisieme"}, leader={translation=21}, deuxieme={translation=22}, troisieme={translation=23} }, annex={show=false, header=24, order={"points","montagne","sprints","jeune","super_combatif","combine", "stage_volantes","regularite","azzurri_ditalia","breakaway","equipe","equipe_points"}, points={translation=25}, montagne={translation=26}, sprints={translation=27}, jeune={translation=28}, super_combatif={translation=29}, combine={translation=30}, stage_volantes={translation=31}, regularite={translation=32}, azzurri_ditalia={translation=42}, breakaway={translation=43}, equipe={translation=33}, equipe_points={translation=34} } } --Winner for _, p1346 in statements(stageID, 'P1346') do local id_speed, id_time, id_time_gap, id_points_a, id_points_b, type_ofclas, name_ofclas local q = p1346.qualifiers local riderId = p1346.mainsnak.datavalue.value.id id_time = qualifieramount(p1346, 'P2781') id_time_gap =qualifieramount(p1346, 'P2911') id_speed =qualifieramount(p1346, 'P2052') id_points_a = qualifieramount(p1346, 'P1358') id_points_b =qualifieramount(p1346, 'P1351') if riderId ~= nil then local riderLink,riderTeam = subwinner(riderId, timeOfRace, q) --sub function to avoid code in double -- looks into race item if the winner has a P642 statement for showing the type of winner(points, mountain, ..) propertyOf=nil if q.P2501 and q.P2501[1].snaktype == 'value' then propertyOf=q.P2501 elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback propertyOf=q.P642 end if propertyOf and propertyOf[1].snaktype == 'value' then for _, vv in pairs(propertyOf) do local qual = vv.datavalue.value.id if qual~=nil and deprecated~='deprecated' and t_Of[qual] then if qual=="Q21686770" and t_s['results']['winner_fighting'][1] ~= "" then t_Of[qual][2] = 'winner_fighting2' end type_ofclas=t_Of[qual][1] --annex or gen name_ofclas=t_Of[qual][2] --name of ranking local v=t_s[type_ofclas][name_ofclas] v['link']=riderLink v['team']=riderTeam v['rank']=isdisqualified(p1346,q) v['time']=id_time v['gap']=id_time_gap if id_points_a then v['points']=id_points_a end if id_points_b then v['points']=id_points_b end v['speed']=id_speed if qual=="Q27104271" and t_s.annex.equipe_points['link']==nil then t_s.annex.equipe_points['link']=riderId end if qual=="Q20882922" and t_s.annex.equipe['link']==nil then t_s.annex.equipe['link']=riderId end v['genre'] = getGenderCode(riderId,'f') end end end end end local rank, deprecated, prop, order, thisorder -- look into P2417, stage classification, then p2321 gen classification for ii, thistable in ipairs({'results','gen'}) do if ii==1 then prop='P2417' order = {'first', 'second', 'third'} else prop='P2321' order = {'leader', 'deuxieme', 'troisieme'} end for _, p2417 in statements(stageID, prop) do local q = p2417.qualifiers if q.P1352 and q.P1352[1].snaktype == 'value' then for _, q1352 in pairs(q.P1352) do rank = tonumber(q1352.datavalue.value.amount) end if rank == 1 or rank == 2 or rank == 3 then thisorder=order[rank] local v=t_s[thistable][thisorder] v['rank'] = isdisqualified(p2417, q) local thisid= p2417.mainsnak.datavalue.value.id v['link'],_ = subwinner(thisid, timeOfRace, q) if v['gap'] == nil and v['time'] == nil then v['gap'] = qualifieramount(p2417, 'P2911') end if v['gap'] == nil and v['time'] == nil then v['time'] = qualifieramount(p2417, 'P2781') end v['speed'] = qualifieramount(p2417, 'P2052') v['genre'] = getGenderCode(thisid, 'f') end end end end for _, thistable in ipairs({t_s.results,t_s.gen,t_s.annex}) do for _, v in ipairs(thistable.order) do --order is the list of all classification names if thistable[v]['link'] then thistable.show = true end end end ---General table local temp local width= '320px' -- size standard 320px, special 340px if t_s.annex.show == true and (wiki == 'no' or wiki == '..') then width= '340px' end tab= infoInitTab(width, name, icon) infoFillOthersDetails(tab, others, details,translate("stageinfobox",1,w_race)) -- ranking table, general and stage for _, value_order in ipairs(t_s.order) do local thistable =t_s[value_order] --results or gen or annex if thistable.show then -- if a section of the stageinfobox should be shown tCell=tab:tag('tr'):tag('td'):attr('colspan','2') tTab=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%') tCell=tTab:tag('tr'):tag('td'):attr('colspan','3') :cssText('border-bottom:5px solid '..backgroundColorLight..'; background-color:'..backgroundColor..'; color:inherit; text-align:center') :css('font-weight','bold') :wikitext(translate("stageinfobox",thistable.header,w_race)) for key, value in ipairs(thistable.order) do --value is the name of the class local v=thistable[value] if v['link'] then local a1 a1, jersey_name, jerseyWPID = jersey_infobox( value, race, timeOfRace) if a1~='' then v['jersey'] = a1 end if v['speed'] then if wiki == 'fo' then v['speed'] = string.gsub(v['speed'], "%.", ",") else local lang = mw.language.getContentLanguage() v['speed'] = '('.. lang:formatNum(v['speed'])..translate("unit",5,w_race)..')' end end if v['points'] then if v['points'] > 1 then temp=translate("unit",7,w_race) else temp=translate("unit",6,w_race) end v['points'] = v['points']..temp end local title, k = string.gsub(translate("stageinfobox",v['translation'],w_race), " ", "&nbsp;") if k > 0 then title = string.gsub(title, "&nbsp;", "<br>", 1) end --&#32; --Create an empty column on the left tRow=tTab:tag('tr'):css('vertical-align','top') tCell=tRow:tag('td') :css('font-weight','bold') if v['team']~=nil or v['speed'] ~=nil then tCell:attr('rowspan','2') end tCell:cssText("width:1%;background-color:"..backgroundColorLight..";text-align:" .. textalign .. ";padding:0 2px 0 2px;white-space:nowrap; color:inherit;") if value_order~='annex' and v['translation']~=40 and v['translation']~=41 then -- Cima Coppi, Cima Pantani with a line break if v['jersey'] == nil then if (value_order=='results') and (value=='winner_fighting' or value=='winner_fighting2' or value=='cima_coppi' or value=='cima_pantanii') then tCell:wikitext(translate("stageinfobox",v['translation'],w_race)) else tCell:wikitext(number(v['genre'], key, wiki)) end else temp='' if jerseyWPID~='' then temp="|link="..jerseyWPID end tCell:wikitext("[[File:"..v['jersey'].."|20px|"..title..temp.."]]") end else if v['jersey'] == nil then tCell:wikitext(title) else if jerseyWPID=='' then if jersey_name ~= '' then temp = "|"..jersey_name else temp='' end else temp= "|link="..jerseyWPID end tCell:wikitext("[[File:"..v['jersey'].."|20px"..temp.."]]" .. title) end end tRow:tag('td'):cssText("padding:0 0.5em 0 0.5em;"..v['rank']) :wikitext( v['link']) tCell=tRow:tag('td'):cssText('text-align:right;font-size:85%;white-space:nowrap') if v['time'] then tCell:wikitext(calculateTime(v['time'])) end if v['gap'] then tCell:wikitext('+ '.. calculateTime(v['gap'])) end tCell:wikitext(v['points']) end tCell=tTab:tag('tr'):tag('td'):attr('colspan','2') if v['team']~=nil and v['speed'] ~=nil then -- team row tTab2=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%') tRow = tTab2:tag('tr') tRow:tag('td'):cssText('width:100%;text-align:" .. textalign .. ";padding-left:2px') :wikitext("("..v['team']..")") --add the team tRow:tag('td'):cssText('font-size:85%;vertical-align:top;white-space:nowrap') :wikitext(v['speed']) else if v['team']~=nil or v['speed'] ~=nil then tCell:cssText("text-align:" .. textalign .. ";padding-left:2px") if v['team'] ~= nil then tCell:wikitext("("..v['team']..")") --add the team end tCell:tag('span'):cssText("float:right;font-size:85%;"):wikitext(v['speed']) end end end end end infoFillOthersMap(tab, others) tab:node(getPreviousNextLine(stageID,true)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/stageinfobox", translate("stageinfobox",39,w_race), stageID) return tab end --== E) List of teams function p.listofteams(frame) local raceID, lf = get_and_checkID(frame) local teams = {} -- values will be {teamLink, teamCat, sortkey, index} local WDlink_on = (wiki == "mk" or wiki == "ja") local timeOfRace = getTimeOfRace(raceID, true) local w_race=isWomenrace(raceID) local teamCats_lot = { -- {c,d,e} c = singular team type, d = plural team type, e = print order of the team types -- Part of the numbering is omitted for the convenience of possible subsequent editing. -- UCI professional men's teams ["Q6154783"] = {4,5,1}, -- WorldTeam ["Q20638319"] = {6,7,2}, -- ProTeam (2005-2014) ["Q78464255"] = {6,7,3}, -- ProTeam (2020-) ["Q382927"] = {8,9,4}, -- UCI Professional Continental Team (2005-2019) ["Q1756006"] = {10,11,5}, -- UCI Continental Team ["Q20639847"] = {16,17,6}, -- professional cycling team ["Q20653563"] = {20,21,7}, -- Groupe Sportif I ["Q20653564"] = {22,23,8}, -- Groupe Sportif II ["Q20653566"] = {24,25,9}, -- Groupe Sportif III -- UCI professional women's teams ["Q80425135"] = {57,58,11}, -- UCI Women’s WorldTeam ["Q130604574"] = {59,60,12}, -- UCI Women’s ProTeam ["Q119942457"] = {32,33,13}, -- UCI Women's Continental Team (2020-) ["Q2466826"] = {28,29,14}, -- UCI Women’s Team (-2019) ["Q119948768"] = {55,56,15}, -- UCI Women's Elite-2 Team -- other non-road UCI teams ["Q2466819"] = {45,46,21}, -- UCI Track Team ["Q39885628"] = {47,48,22}, -- UCI Cyclocross Team ["Q2466804"] = {49,50,23}, -- UCI MTB Team ["Q39885630"] = {51,52,24}, -- UCI BMX Team -- national teams (partially merged) ["Q54660600"] = {12,13,31}, -- national cycling team "any", without specifying additional parameters" ["Q23726798"] = {12,13,31}, -- national cycling team Elit ["Q99658502"] = {12,13,31}, -- national cycling team "B" ["Q20738667"] = {12,13,31}, -- national cycling team U23 ["Q54555994"] = {12,13,31}, -- national cycling team U19 ["Q26213387"] = {12,13,31}, -- olympic team ["Q46135307"] = {12,13,31}, -- nation at sport competition in multisport games ["Q28492441"] = {39,40,32}, -- national cycling team with sponsor name ["Q117280678"] = {37,38,33}, -- mixt cycling team -- Below are two blocks with "non-professional" teams. They differ in the type of output - individually or all together. You can choose any manual setting. -- amateur, club and region (not merged). Each type of team is output in a separate block ["Q114864716"] = {43,44,41}, -- DCU Elite Team ["Q20652655"] = {18,19,42}, -- amateur cycling team ["Q26849121"] = {30,31,43}, -- Women's amateur cycling team ["Q20639848"] = {14,15,44}, -- club cycling team ["Q20653570"] = {53,54,45}, -- region cycling team -- amateur, club and region (merged). All types of team are displayed in a common block -- ["Q114864716"] = {41,42,41}, -- DCU Elite Team -- ["Q26849121"] = {41,42,41}, -- Women's amateur cycling team -- ["Q20652655"] = {41,42,41}, -- amateur cycling team -- ["Q20639848"] = {41,42,41}, -- club cycling team -- ["Q20653570"] = {41,42,41}, -- region cycling team } local p1923 = mw.wikibase.getBestStatements(raceID, 'P1923') -- P1923 is participating teams local no = 0 -- Index used for stable sorting for _, v in pairs(p1923) do if v.mainsnak.snaktype == 'value' then no = no + 1 local teamLink, teamCat, countryID = getTeamLinkCat(v.mainsnak.datavalue.value.id, timeOfRace, true) local flagImage = countryID and flag(countryID, timeOfRace) or '' teams[#teams + 1] = {flagImage .. ' ' .. teamLink, teamCat, teamCats_lot[teamCat] and teamCats_lot[teamCat][3] or 999, no} end end table.sort(teams, function(a,b) if a[3] < b[3] then return true end -- First sort key: Order from table teamCats_lot if a[3] > b[3] then return false end return a[4] < b[4] -- Second key is the index to ensure stable sorting end) local function getHeader(CatID, count) local header, sitelink if teamCats_lot[CatID] then local done=false if CatID=="Q2466826" then --name changed after 2020 local year = timeOfRace and tonumber(string.sub(timeOfRace, 2, 5)) if year and year>2019 then if count == 1 then header_label = translate("headoftableIII",32, w_race) -- singular name else header_label = translate("headoftableIII",33, w_race) -- plural name end done=true end end if done==false then if count == 1 then header_label = translate("headoftableIII",teamCats_lot[CatID][1], w_race) -- singular name else header_label = translate("headoftableIII",teamCats_lot[CatID][2], w_race) -- plural name end end if CatID=='Q78464255' then sitelink=wikibase.getSitelink('Q382927') --continental else sitelink=wikibase.getSitelink(CatID) end if sitelink ~= nil then header = '[['..sitelink..'|'..header_label..']]' else header= header_label end end local tHeader= mw.html.create('span'):css('font-size','1.2em'):css('font-weight','bold') if not header then -- Unknown team category. Get the label for the entity to display if possible header = (CatID and getLabelFallback(CatID)) or 'Unknown team category' tHeader:css('text-transform','capitalize') end tHeader:wikitext(header) -- Set parameter to show team count in front of each category local tTag='' local showcounter = 2 if count >= showcounter then tTag=mw.html.create('small'):wikitext(' (' .. count ..')') end return tostring(tHeader)..tostring(tTag) end local oldOrder = 0 local oldCatID local count = 0 local list = '' local header local resultTable = mw.html.create('table') :cssText("max-width:95%; padding:0.5em; margin-right:1em; border:1px solid var(--border-color-subtle, #c8ccd1)") local tCell = resultTable:tag('tr'):tag('td') for _, team in ipairs(teams) do local order = team[3] if order ~= oldOrder then --new cat if oldOrder > 0 then header = getHeader(oldCatID, count) tCell:wikitext(header) tCell:node(tOl) end count = 1 oldOrder = order tOl = mw.html.create('ul') --reinit else count = count + 1 end oldCatID = team[2] tOl:tag('li') :cssText("width:20em;display:inline-block;vertical-align:text-top") :wikitext(team[1]) end --add last row header = getHeader(oldCatID, count) tCell:wikitext(header) tCell:node(tOl) local wd_link = mw.html.create('span'):css('float',floattable):wikitext(wdLink(raceID .. '#P1923')) if arwiki_totemplate then wd_link = wdLink(raceID .. '#P1923') end local tableFooter1=mw.html.create('tr') tCell=tableFooter1:tag('td') :addClass('navigation-only') :cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;') if wiki == "ar" then tCell:attr('colspan',2) end tCell:wikitext(tostring(wd_link)) resultTable:node(tableFooter1) return resultTable end --== F) Classifications function p.UCIclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 19, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item =tempID, property = 'P3494', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_team=false, max_rank_displayed=100000, --unlimited the whole team must be displayed lf=lf } return new_classification(s, frame) end function p.pointsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 10, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3494', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.teamsclassificationbytime(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 14, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4}, -- translations 3, 2, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3497', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = 'strong', -- there is no background color for the first row, but the first row is formated strong max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.teamsclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 15, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 7}, -- translations 3, 2, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3496', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = 'strong', -- there is no background color for the first row, but the first row is formated strong max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.stageclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2417', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = false, -- there is no background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.generalclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.generalclassificationpoint(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.generalclassificationforttt(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = false, -- there is no background color for the first row display_ref =get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.teamtimetrialclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2417', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = false, -- there is no background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.mountainsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 11, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4320', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.sprintsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 12, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4322', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.intermediatesprintclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 20, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4958', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.bestyoungclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.bestyoungclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.u23classification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 18, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table (same as best young classification) team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.combinationclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 16, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4324', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.combativeclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 17, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.custompointsclassification(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customtimeclassification(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customteamclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {3, 2, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = true, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customteamclassificationbytime(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {3, 2, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = true, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function new_classification(s, frame) local country = getCountryBool(no_country_classification) local lf = s.lf local raceID = s.item local w_race=isWomenrace(raceID) --[=[ It is possible to give the classification tables in the article commands to change the standard behaviour. They could look like this: {{Cycling race/teamsclassificationbytime|Q18574623|newline=false|country=true}} {{Cycling race/teamsclassificationbytime|Q18574623|country= false|newline=false}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline =true|country=true}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline= true}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline = false|country=false}} {{Cycling race/teamsclassificationbytime|Q18574623|newline=true|country=true}} One additional parameter is "newline" with the values "true" or "false". "newline" says, if there is a line brake after the table. Standard is no line break after the tables stageclassification and teamtimetrialclassification. The second parameter is "country" with the values "true" or "false". "country" tells the module to print the country column or not. Most wikis have as standard to print the country columns, some wikis prefer as standard not to show the country column. A few lines above, the command "if wiki == 'da' then country = false end" tells that daWiki do not want to see the country colums as standard. You can add your wiki here in, if you do not want to see them as standard. With the new parameter editors are able to tell the module in the article what to do. ]=] local timeOfRace = getTimeOfRace(raceID, true) local plus = '' if get_arg('country',frame)~=nil then -- switch country column on or off in the article if get_arg('country',frame) == 'true' and l10n["country_name_list"] then country = true end if get_arg('country',frame) == 'false' then country = false end end local tableHeader2_size = #s.header_2 local max_rank_displayed=s.max_rank_displayed for _, p31 in statements(raceID, 'P31') do if data.stages[p31.mainsnak.datavalue.value.id] then max_rank_displayed=10 --limit general ranking to 10 except for not stage end end local temp=get_arg('max_rank_displayed',frame) if temp and temp~='' and string.find(temp,"{{{")==nil then max_rank_displayed=tonumber(temp) end if s.header_1_text ==nil then s.header_1_text=translate(s.header_function,s.header_1,w_race) end --for custom title local team_translation_index=3 if s.team_title == nil then s.team_title=translate(s.header_function,team_translation_index,w_race) end --translation for team has index "3" local tableBody = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '0') :attr('cellspacing', '0') :css('border' , '0') local wd_link = wdLink( raceID .. '#' .. s.property ) local wd_span = mw.html.create('span'):css('float','left'):wikitext(wd_link) if wiki == "ar" then if arwiki_totemplate then wd_span = wd_link else wd_span = mw.html.create('span'):css('float','right'):wikitext(wd_link) end end tableBody:tag('tr'):tag('th') :attr('colspan', tostring(tableHeader2_size + 1)):cssText("padding:2px 2px; text-align:center; color:inherit; background-color:"..backgroundColor) :wikitext(tostring(wd_span)..s.header_1_text) header= tableBody:tag('tr'):cssText("text-align:center;padding:2px 2px;white-space:nowrap") for i, k in ipairs(s.header_2) do if i ~= 2 or country then local header_text if k == team_translation_index then --for team header_text=s.team_title else header_text=translate(s.header_function,k,w_race) end local head =header:tag('th'):wikitext(header_text) if i == 1 then head:attr('colspan','2') end end end local t_Body = {} --contains all rows local tCell, bg_color, tStyle, temp, temp2 local claims = mw.wikibase.getAllStatements(raceID, s.property) for l, m in pairs(claims) do -- look into all statements if m.mainsnak.snaktype == 'value' then local riderID = m.mainsnak.datavalue.value.id local q = m.qualifiers or {} local rank, riderLink, gender, countryID, teamLink local flagLink, countryName = '', '' local h = { jersey = {}, -- lots of jerseyID value = {'', '', '', ''} -- points, time, time_gap, speed } if q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking rank = tonumber(q.P1352[1].datavalue.value.amount) else rank = '' end if q.P1534 and q.P1534[1].snaktype == 'value' then local dnf=q.P1534[1].datavalue.value.id if dnf=='Q1210380' then riderDNF =translate("startlist",6,w_race)--"HD","NP","DQ" elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,w_race) elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,w_race) elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,w_race) else riderDNF='' end else riderDNF='' end local cancelled=isdisqualified(m,q) if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then --[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]] gender = getGenderCode(riderID, 'n') end h.value[1] = qualifieramount(m, 'P1358') h.value[2] = qualifieramount(m, 'P2781') if q.P2911 and q.P2911[1].snaktype == 'value' then -- P2911 is time gap h.value[3] = tonumber(q.P2911[1].datavalue.value.amount) plus = '+ ' end h.value[4] = qualifieramount(m, 'P2052') if q.P2912 then -- P2912 is distinctive jersey for _, v in pairs(q.P2912) do if v.snaktype == 'value' then table.insert(h.jersey, v.datavalue.value.id) end end end if s.team_classification then local _ teamLink, _, countryID = getTeamLinkCat(riderID, timeOfRace, true) else riderLink = getRiderLink(riderID,timeOfRace)..(getReference(lf,m) or '') teamLink = getTeam(riderID, timeOfRace, q) countryID = getNationality(riderID, timeOfRace,q) end if countryID then flagLink = flag(countryID, timeOfRace) if country then countryName = getCountryName(countryID) end end -- find the right background color if a rider has more then one jersey -- see Wikidata:WikiProject Cycling/Kit to translate/Jerseys bg_color=nil if h.jersey[1] then for _, jersey in pairs(h.jersey) do if data.bg_color_table[jersey] then bg_color = data.bg_color_table[jersey] break end end end tStyle='' if rank == 1 then if s.background then -- values are 'strong' or 'color' tStyle = tStyle ..'font-weight:bold;' -- winner is formated bold if s.background == 'color' then if h.jersey[1] and bg_color then -- background color of winner depending on jersey tStyle = tStyle .. 'background-color:' ..bg_color end end end end local tBody = mw.html.create('tr'):cssText(tStyle) -- a row tBody:tag('td'):cssText("text-align:center;padding:2px 0.5em 2px 0.5em;white-space:nowrap;"..cancelled) :wikitext(number(gender, rank, wiki)) tCell= tBody:tag('td'):cssText("text-align:" .. textalign .. ";padding:0 0.2em 0 0.2em;"..cancelled) if not s.team_classification then if country then tCell:wikitext(riderLink .. jersey(h.jersey) ) tBody:tag('td'):wikitext( flagLink ..' '.. countryName) else tCell:wikitext(flagLink .. ' ' .. riderLink .. jersey(h.jersey)) end if s.display_team~=false then tBody:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.2em 0 0.2em") :wikitext(teamLink or '') end else --team if country then tCell:wikitext(teamLink .. jersey(h.jersey)) tBody:tag('td'):wikitext(flagLink .. ' ' .. countryName) else tCell:wikitext(flagLink .. ' ' .. teamLink .. jersey(h.jersey)) end end if s.header_2[4] == 4 then -- for table stageclassification, generalclassification, adds time and time gap if riderDNF=='' then if rank == 1 and h.value[2] then temp=calculateTime(h.value[2]) elseif rank == 1 and h.value[3]==nil then --avoid a plus with nothing temp='' else temp=plus .. calculateTime(h.value[3]) end else temp=riderDNF end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp) end if s.header_2[4] == 7 or (s.header_2[3] == 7 and s.header_2[1] == 1) then -- for table pointsclassification, adds points --trick for UCI classification if riderDNF=='' then if h.value[1] then temp=h.value[1] else temp='' end tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(temp) if type(h.value[1]) == "number" then if h.value[1] > 1 then temp2=translate("unit",7,w_race) else temp2=translate("unit",6,w_race) end tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2) end else tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(riderDNF) end end if s.header_2[3] == 4 then if s.property == 'P2417' or s.property == 'P2321' then -- for tables teamtimetrialclassification or generaltttclassification, adds time tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(calculateTime(h.value[2])) end end if s.property == 'P3497' then -- for table teambytimeclassification, adds time and time gap if rank == 1 then temp=calculateTime(h.value[2]) else temp=plus .. calculateTime(h.value[3]) end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp) end if s.property == 'P3496' then -- for table teambypointsclassification, adds points tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(h.value[1]) if type(h.value[1]) == "number" then if h.value[1] > 1 then temp2=translate("unit",7,w_race) else temp2=translate("unit",6,w_race) end tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2) end end if s.header_2[4] == 5 then -- for table teamtimetrialclassification, adds time gap if l > 1 then temp= plus else temp='' end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp..calculateTime(h.value[3])) end if s.header_2[5] == 6 then -- for table teamtimetrialclassification, adds speed tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") if type(h.value[4]) == "number" then tCell:wikitext(mw.ustring.format('%.3f', h.value[4])) :tag('span'):cssText("font-size:80%"):wikitext(translate("unit",5,w_race)) end end if rank~='' and rank<=max_rank_displayed then --else no display if riderDNF=='' then table.insert(t_Body, {sortkey=(type(rank) == 'number') and rank or 999, body=tostring(tBody)}) else --disqualified should be higher than not disqualified if the ranking was revided table.insert(t_Body, {sortkey=(type(rank) == 'number') and rank-0.1 or 999, body=tostring(tBody)}) end end end end tableBody=sortAndConcat(t_Body, tableBody) local tableFooter1,tableFooter2 if s.display_ref == 1 or wiki == "ar" then local colspan = (wiki == "ar") and tostring(tableHeader2_size + 1) or 1 tableFooter1=mw.html.create('tr') tCell=tableFooter1:tag('td') :addClass('navigation-only') :attr('colspan', colspan) :cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;') tableFooter2=mw.html.create('tr') tCell=tableFooter2:tag('td') :attr('colspan', colspan) :cssText("text-align:right") tCell:tag('small') :wikitext(race_reference(raceID,lf)) end --general table style and last line local tableStyle, tableNewline if get_arg('newline',frame) == 'false' then -- parameter newline in WP article is 'false' tableStyle = "float:" .. floattable .. "; margin-right:0.5em; border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '' end if get_arg('newline',frame) == 'true' then -- parameter newline in WP article is 'true' tableStyle = "border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '<br style="clear:left;">' end if get_arg('newline',frame) == nil then -- no second parameter, compatible to the old code if s.property == 'P2417' then --stageclassification tableStyle = "float:"..floattable.."; margin-right:0.5em; border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '' else tableStyle = "border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '<br style="clear:left;">' -- everything else end end local tablewidth = get_arg('width',frame) if wiki == "ar" and tablewidth and tablewidth ~= "" then tableStyle = tableStyle..";width:"..tablewidth.."%;" end local finalTable= mw.html.create('table'):cssText(tableStyle) finalTable:tag('tr'):tag('td') :node(tableBody) if arwiki_totemplate then tableBody:cssText(tableStyle) finalTable = tableBody end if tableFooter1 then finalTable:node(tableFooter1) finalTable:node(tableFooter2) end return tostring(finalTable)..tableNewline end --=== G) Infobox === function p.infobox(frame) -- normal infobox return infobox_main(frame,0) end function p.seasoninfobox(frame) -- season infobox return infobox_main(frame,1) end function p.champinfobox(frame) -- champ infobox return infobox_main(frame,2) end function infobox_main(frame, selector) local WDlink_on = (wiki == "mk" or wiki == "ja") -- If true, winners will the team of the cyclist local team = true local details, others, winners, plural local entityID, lf = get_and_checkID(frame) local w_race=isWomenrace(entityID) if selector==0 then -- normal infobox details = { { name = translate("infobox",2,w_race)}, -- course { name = translate("infobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- competition { name = translate("infobox",5,w_race)}, -- stages { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date { name = translate("infobox",8,w_race)}, -- distance { name = translate("infobox",9,w_race), name_plural = translate("infobox",10,w_race)}, -- country { name = translate("infobox",11,w_race)}, -- start place { name = translate("infobox",12,w_race)}, -- endplace { name = translate("infobox",13,w_race)}, -- teams { name = translate("infobox",14,w_race)}, -- participants at start { name = translate("infobox",15,w_race)}, -- participants at end { name = translate("infobox",16,w_race)}, -- speed { name = translate("infobox",43,w_race)}, -- elevation { name = translate("infobox",17,w_race)}, -- cost { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } elseif selector==1 then -- season infobox details = { { name = translate("infobox",46,w_race)}, -- edition (1) { name = translate("infobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- competition (2) { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date (3) { name = translate("infobox",45,w_race), name_plural=translate("infobox",71,w_race)}, -- rasing (4) { name = translate("infobox",47,w_race), name_plural = translate("infobox",48,w_race)}, -- location (country) (5) { name = translate("infobox",49,w_race), name_plural = translate("infobox",50,w_race)}, -- organizer (6) { name = translate("infobox",63,w_race), name_plural = translate("infobox",63,w_race)}, -- team class (7) { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } else -- champ infobox details = { { name = translate("infobox",46,w_race)}, -- edition (1) { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date (2) { name = translate("infobox",9,w_race), name_plural = translate("infobox",10,w_race)}, -- country (3) { name = translate("infobox",67,w_race), name_plural = translate("infobox",68,w_race)}, -- location (city) (4) { name = translate("infobox",61,w_race), name_plural = translate("infobox",62,w_race)}, -- arena / stadion (5) { name = translate("infobox",60,w_race)}, -- medals (6) { name = translate("infobox",13,w_race)}, -- team (7) { name = translate("infobox",49,w_race), name_plural = translate("infobox",50,w_race)}, -- organizer (8) { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } end others = get_others_dic() if selector==0 then -- normal infobox winners = { { name = translate("infobox",19,w_race), QID = 'Q20882667' }, -- first { name = translate("infobox",20,w_race), QID = 'Q20882668' }, -- second { name = translate("infobox",21,w_race), QID = 'Q20882669' }, -- third { name = translate("infobox",22,w_race), QID = 'Q20883007' }, -- points { name = translate("infobox",23,w_race), QID = 'Q20883212' }, -- mountains { name = translate("infobox",24,w_race), QID = 'Q20883328' }, -- sprints { name = translate("infobox",25,w_race), QID = 'Q20883139' }, -- youth { name = translate("infobox",26,w_race), QID = 'Q101246973' }, -- supercombativity { name = translate("infobox",26,w_race), QID = 'Q20893983' }, -- combativity { name = translate("infobox",35,w_race), QID = 'Q27067359' }, -- volantes { name = translate("infobox",36,w_race), QID = 'Q27067170' }, -- regularity { name = translate("infobox",27,w_race), QID = 'Q20893979' }, -- combination { name = translate("infobox",38,w_race), QID = 'Q27907715' }, -- breakaway { name = translate("infobox",39,w_race), QID = 'Q27907747' }, -- azzurri { name = translate("infobox",40,w_race), QID = 'Q28092831' }, -- rookie { name = translate("infobox",28,w_race), QID = 'Q20882921' }, -- teams { name = translate("infobox",37,w_race), QID = 'Q27104269' }, -- teamspoints { name = translate("infobox",41,w_race), QID ='Q61976850' },-- amateur { name = translate("infobox",42,w_race), QID ='Q61976872' } --nationality } elseif selector==1 then -- season infobox winners = { { name = translate("infobox",52,w_race), QID = 'Q20882667' }, -- individual (first) { name = translate("infobox",53,w_race), QID = 'Q20883139' }, -- youth { name = translate("infobox",54,w_race), QID = 'Q27104269' }, -- team (teamspoints) { name = translate("infobox",55,w_race), QID = 'Q98959152' }, -- team GS-I { name = translate("infobox",56,w_race), QID = 'Q98959153' }, -- team GS-II { name = translate("infobox",57,w_race), QID = 'Q98959155' }, -- team GS-III { name = translate("infobox",58,w_race), QID = 'Q72068715' }, -- country { name = translate("infobox",59,w_race), QID = 'Q72068724' } -- country U23 } end -- Champ infobox has no winners getLocalContent(details, lf.args) getLocalContent(others, lf.args) if selector==0 or selector==1 then getLocalContent(winners, lf.args) end local timeOfRace, class local icon = (firstValue(entityID, 'P641','id') == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' local name = getLabelFallback(entityID) or '' infoGetOthers(others, entityID) if not details[1].content then -- course -- For FR Wiki and Wikidata, exception that permit to display 1er, 2e... for the edition number ; -- for RU -й is written after the value of P393 local nr = firstValue(entityID, 'P393') -- P393 is 'edition number' if nr then if wiki == 'fr' then nr = (nr == 1) and "1<sup>re</sup> " or (nr .. "<sup>e</sup> ") elseif wiki == "nl" then nr = nr .. "e " elseif wiki == "ru" then nr = nr .. "-й " elseif wiki == "eo" then nr = nr .. "-a " elseif wiki == "hu" then nr = nr .. ". " else nr = nr .. ". " end end local is_a local classID = firstValue(entityID, 'P279', 'id') --fallback if classID then class = classLinkFn(classID) else for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of' local instanceOf = p31.mainsnak.datavalue.value.id if instanceOf ~= "Q27020041" and data.class_dic[instanceOf] then class = classLinkFn(instanceOf) break end end end local season = firstValue(entityID, 'P3450', 'id') -- P3450 is 'sports season of league or competition' if season then is_a = raceLink(season) else --normally there should be only a p31 for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of' local instanceOf = p31.mainsnak.datavalue.value.id if instanceOf ~= 'Q27968055' and instanceOf ~= 'Q27020041' then -- Q27020041 is 'sports season' is_a = raceLink(instanceOf) break end end end if nr and is_a then details[1].content = nr .. ' ' .. is_a end end if selector==0 or selector==1 then if not details[2].content then -- competition -- Class of a cycling race. Class is: 1.UWT, 2.UWT, 1.HC, ... add new classes, no problem -- Competition of the cycling race : UCI World Tour 2016, UCI Europe Tour 2016... local tours = {} for _, p361 in statements(entityID, 'P361') do -- P361 is 'part of' tours[#tours + 1] = raceLink(p361.mainsnak.datavalue.value.id) end if tours[1] then if #tours > 1 then details[2].name = details[2].name_plural end if class then tours[1] = tours[1] .. ' ' .. class end details[2].content = table.concat(tours, '<br/>') end end end if selector==0 then if not details[3].content then -- stages local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[3].content = stages end end end local index_date, index_official_site if selector==0 then index_date=4 index_official_site=17 elseif selector==1 then index_date=3 index_official_site=10 else index_date=2 index_official_site=11 end -- if selector==0 or selector==1 then if not details[index_date].content then -- date details[index_date].content, timeOfRace, plural = get_formatted_date(entityID, 'infobox') if plural then details[index_date].name = details[index_date].name_plural end end -- end --from this point the functions differ fundamentally if selector==0 then local kmdistance if not details[5].content then details[5].content, kmdistance = getDistance(entityID, true) end -- distance infoGetCountry(details,6, entityID, timeOfRace) infoGetStartEnd(details,7, entityID, timeOfRace) if not details[9].content then -- teams local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams' if teams > 0 then details[9].content = teams end end infoGetParticipants(details,10, entityID) if not details[10].content or not details[11].content then local Allp710= wikibase.getAllStatements(entityID, 'P710') if Allp710 and #Allp710~=0 then if not details[10].content then details[10].content=#Allp710 end if not details[11].content then local maxrank=1 for _, p710 in pairs(Allp710) do -- look into all statements local q = p710.qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking local riderRank = tonumber(q.P1352[1].datavalue.value.amount) if riderRank > maxrank then maxrank = riderRank end end end if maxrank~=1 then details[11].content=maxrank end end end end if not details[12].content then details[12].content = getSpeed(entityID, true, kmdistance, 'P2321') end --speed if not details[13].content then local elevation=getElevation(entityID) if elevation then details[13].content =elevation else details[13].content = nil end end --Elevation if not details[14].content then -- cost local cost = firstValue(entityID, 'P2130') -- P2130 is cost if cost then details[14].content = dispmoney(cost.amount, cost.unit) end end elseif selector==1 then if not details[4].content then -- racing local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[4].content = stages if stages > 1 then details[4].name = details[4].name_plural end end end if not details[5].content then -- location infoGetPlace(details,5, entityID, timeOfRace) --in GAN version, the separator is , not <br /> end if not details[6].content then -- organizer sitelink listWPlink(details, 6, entityID,'P664',true) --org end if not details[7].content then -- organizer sitelink listWPlink(details, 7, entityID,'P2670',true) --team ???? end else --champ infoGetCountry(details,3, entityID, timeOfRace) if not details[4].content then -- location infoGetPlace(details,4, entityID, timeOfRace) --in GAN version, the separator is , not <br /> end if not details[5].content then -- arena / stadion listWPlink(details, 5, entityID,'P115',true) end if not details[6].content then -- racing local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[6].content = stages end end if not details[7].content then -- teams local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams' if teams > 0 then details[7].content = teams end end if not details[8].content then -- organizer sitelink listWPlink(details, 8, entityID,'P664',true) --org end end if not details[index_official_site].content then details[index_official_site].content = officialSite(entityID) end tab = infoInitTab("300px", name, icon) if selector==0 then -- normal infobox infoFillOthersDetails(tab, others, details,translate("infobox",1,w_race)) elseif selector==1 then -- season infobox infoFillOthersDetails(tab, others, details,translate("infobox",69,w_race)) else -- champ infobox infoFillOthersDetails(tab, others, details,translate("infobox",70,w_race)) end if selector==0 or selector==1 then --no winners for champ local winRows='' local win = {} for _, v in pairs(winners) do if not v.content then win[v.QID] = '' end end winner(lf,entityID, win, timeOfRace, false, WDlink_on, team, true) for _, v in pairs(winners) do if not v.content then if win[v.QID] ~= '' then v.content = win[v.QID] end end if v.content then tRow= mw.html.create('tr') :css('vertical-align','top') tRow:tag('td'):css('font-weight','bold'):wikitext(v.name) tRow:tag('td'):wikitext(v.content) winRows=winRows..tostring(tRow) --not elegant end end if winRows~= '' then tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('border-bottom:5px solid var(--background-color-base, #fff); background-color:'..backgroundColor..'; color:inherit; text-align:center') :css('font-weight','bold') :wikitext(translate("infobox",18,w_race)) tab:wikitext(winRows) end end if others[3].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[3].content .. "|center|300px]]") if others[5].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[5].content) end end tab:node(getPreviousNextLine(entityID)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/infobox", translate("infobox",34,w_race), entityID) return tab end --=== H) race infobox function p.raceinfobox(frame) local lang = contentLanguage local WDlink_on = (wiki == "mk" or wiki == "ja") local tRace = {race={ raceId, raceDate, future, }, vainqueur= {}, } local entityID, lf = get_and_checkID(frame) local w_race= isWomenrace(entityID) local details = { { name = translate("raceinfobox",4,w_race)}, -- sport { name = translate("raceinfobox",5,w_race)}, -- creation date { name = translate("raceinfobox",6,w_race)}, -- disparition date { name = translate("raceinfobox",7,w_race)}, -- number of editions { name = translate("raceinfobox",8,w_race)}, -- periodicity { name = translate("raceinfobox",9,w_race)}, -- type , name_plural = translate("infobox",10) { name = translate("raceinfobox",33,w_race), name_plural = translate("raceinfobox",34,w_race)}, --country { name = translate("raceinfobox",10,w_race), name_plural = translate("raceinfobox",11,w_race)}, -- place { name = translate("raceinfobox",12,w_race), name_plural = translate("raceinfobox",13,w_race)}, --org { name = translate("raceinfobox",27,w_race), name_plural = translate("raceinfobox",28,w_race)}, --race director { name = translate("raceinfobox",15,w_race), name_plural = translate("raceinfobox",16,w_race)}, -- Cat { name = translate("raceinfobox",17,w_race)}, -- circuit { name = translate("raceinfobox",14,w_race)}, -- official web site } local others = get_others_dic() local name = getLabelFallback(entityID) or '' infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) local timeOfRace, class local listOfNames=getFormerNames(entityID, 'P1448') local sport_id=firstValue(entityID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end --creation local creation=firstValue(entityID, 'P571', 'time') if not details[2].content and creation then details[2].content = funcDate(creation, "onlyyear" ) end --disparition local disparition=firstValue(entityID, 'P576', 'time') if not details[3].content and disparition then details[3].content = funcDate(disparition,"onlyyear") end --populate tRace listOfWinners(entityID, tRace,nil,lf) --number of editions if not details[4].content and tRace.numberOfEditions and tRace.lastEditionYear then details[4].content = tostring(tRace.numberOfEditions).." (" .. translate("raceinfobox",31,w_race) .. " "..tostring(tRace.lastEditionYear)..")" end --periodicity if not details[5].content then details[5].content = getPeriodicity(entityID, tRace) end --type if not details[6].content then details[6].content = getType(entityID) end timeOfRace=nil --could be from last edition if not details[7].content then infoGetCountry(details,7, entityID, timeOfRace) end if not details[8].content then infoGetPlace(details,8, entityID, timeOfRace) end if not details[9].content then listWPlinkChrono(details, 9, entityID, {'P664'}, true, initialYear) --organiser end if not details[10].content then listWPlinkChrono(details, 10, entityID, {'P488'}, 'rider', initialYear) --race dir end --Class and circuit local classContent, circuitLink, numberClass= getClass(entityID) if not details[11].content then details[11].content = classContent if numberClass >1 then details[11].name = details[11].name_plural end end if not details[12].content then details[12].content = circuitLink end --Official web site if not details[13].content then details[13].content = officialSite(entityID) end --Build the table tab = infoInitTab("300px", name, icon) --former names wiki_listOfNamesAtBottom={'ru'} local listOfNamesAtBottom = false for _, value in pairs(wiki_listOfNamesAtBottom) do -- if value == wiki then listOfNamesAtBottom = true end end --picture at the top infoFillOthersDetails(tab, others, nil,translate("raceinfobox",19,w_race),"260px") if not listOfNamesAtBottom then if listOfNames and #listOfNames>1 then tab:node(addATitle(translate("raceinfobox",18,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end end infoFillOthersDetails(tab, nil, details,translate("raceinfobox",19,w_race),"260px") if listOfNamesAtBottom then if listOfNames and #listOfNames>0 then -- except for the ru-wiki, no one uses the display of official names at the bottom anyway tab:node(addATitle(translate("raceinfobox",18,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end end if (tRace.lastWinner and tRace.lastWinner~='') or (tRace.maxWinner and tRace.maxWinner~='') then tab:node(addATitle(translate("raceinfobox",20,w_race))) if (tRace.lastWinner and tRace.lastWinner~='') then tab:node(addARow(translate("raceinfobox",21,w_race),tRace.lastWinner)) end if (tRace.maxWinner and tRace.maxWinner~='') then tab:node(addARow(translate("raceinfobox",22,w_race),tRace.maxWinner)) end end if tRace.nextLink or tRace.lastLink then tab:node(addATitle(translate("raceinfobox",23,w_race))) local outTable if tRace.lastLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("raceinfobox",24,w_race).. ":<br>'''".. tRace.lastLink.."'''" tCell:wikitext(lastText) tab:node(outTable) end if tRace.nextLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("raceinfobox",25,w_race).. ":<br>'''".. tRace.nextLink.."'''" tCell:cssText("text-align:center"):wikitext(nextText) tab:node(outTable) end end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --=== I) Team roster function p.lastteamroster(frame) local teamID, lf = get_and_checkID(frame) local tRace = {race={ raceId, raceDate, future, }, vainqueur= {}, } listOfWinners(teamID, tRace,true,lf,"P527") if get_arg(2,frame) ~= nil then if mw.ustring.find(mw.ustring.lower(get_arg(2,frame)), "sort") or wiki == "lv" or wiki == "mk" or wiki == "ru" then sort = true else sort = false end end local s = { sort=sort, seasonID=tRace.lastID, lf=lf, year=tRace.lastEditionYear } if tRace.lastID then return teamroster_main(s) end end function p.teamroster(frame) local seasonID, lf = get_and_checkID(frame) local sort --[[ The word 'sort' is used to sort the riders after the surname. It could look like this in the Wikipedia article {{Cycling race/teamroster|Q21769847 | sort }} A rider called 'Laurens De Vreese' is sorted after 'De Vreese Laurens'. If you want to sort after 'Vreese Laurens De' change that in the code. In lv mkWiki and ruWiki sorting is standard, there is no need to switch sorting on in the article ]] if get_arg(2,frame) ~= nil then if mw.ustring.find(mw.ustring.lower(get_arg(2,frame)), "sort") or wiki == "lv" or wiki == "mk" or wiki == "ru" then sort = true else sort = false end end local s = { sort=sort, seasonID=seasonID, lf=lf } return teamroster_main(s) end function teamroster_main(s) local flags, pays = {}, {} local riderName, riderBirthday,riderTeam, timeTeam, correctlanguage,riderStart, riderEnd local riderPosition, riderReason, riderRef, errortext local riderReasonTable, riderTablecorrect, riderTablenotcorrect, riderTable = {}, {}, {}, {} local labelMissing = false local teamID, stagiaire local slavicWikis = {mk = true, ru = true} local wikiIsSlavic = slavicWikis[wiki] local WDlink_on = wiki == "mk" or wiki == "ja" or wiki == "ru" or wiki == "he" local tableEndText = '' local w_race=isWomenrace(s.seasonID) local temp = firstValue(s.seasonID, 'P5138', 'id') if temp then teamID = temp end local startOfSeason = getTimeOfRace(s.seasonID, true) if not s.year then label=getLabelFallback(s.seasonID) local second_occurrence local first_occurrence=string.find(label, "%d%d%d%d") if first_occurrence~=nil then second_occurrence=string.find(label, "%d%d%d%d",first_occurrence+1) if second_occurrence~=nil then s.year=string.match(label, "%d%d%d%d",first_occurrence+1) --case Tartu2024 else s.year=string.match(label, "%d%d%d%d") end end end for _, p527 in statements(s.seasonID, 'P527') do --re-init riderName, riderBirthday, correctlanguage=nil, nil, nil riderTeam, timeTeam, riderReason, riderRef=nil, nil, nil, nil riderStart, riderEnd=nil, nil local riderID = p527.mainsnak.datavalue.value.id riderName, correctlanguage =getRiderLink(riderID, startOfSeason) --label if WDlink_on==true then riderName=riderName..wdLink(riderID) end local timeOfRace = startOfSeason _, startOfSeasonYear, startOfSeasonMonth, startOfSeasonDay, _=parseDate(startOfSeason, '2040', '12', '31', '','') riderBirthday=firstValue(riderID, 'P569','time') if not wikiIsSlavic then correctlanguage=true end --actually we never take a cyrillic name if no latin is found local sortkey = findSortKey(riderID, correctlanguage, wikiIsSlavic) for _, q in qualifiers(p527, 'P580') do local startdate = q.value['time'] timeOfRace = startdate riderStart = funcDate(trans(startdate,'01', '01') or '', 'small') end for _, q in qualifiers(p527, 'P582') do local enddate=q.value['time'] riderEnd = funcDate(trans(enddate,'12', '31') or '', 'small') end riderPosition=getPosition(riderPosition,p527) riderReason, riderRef=getReason(riderReason,riderRef,p527, timeOfRace,enddate,s.lf) local beginYear, beginMonth, beginDay, endYear, endMonth, endDay, beginDate, endDate, endDatefound, endDatetemp local changedTime = '+0000-00-00' if teamID == nil then local p54 = getStatementForTime(riderID, 'P54', timeOfRace) if p54 then teamID = p54.mainsnak.datavalue.value.id end else for _, v in statements(riderID, 'P54') do -- look into all P54 teams stagiaire=nil errortext='' local thisteamID = v.mainsnak.datavalue.value.id if thisteamID == teamID then endDatefound=true beginDate, endDate = getStartEndfromQuali(v.qualifiers) beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider') if not endDate then endDatefound=false end endDate, endYear, endMonth, endDay, _ = parseDate(endDate, beginYear, '12', '31', errortext,'') riderReason, riderRef=getReason(riderReason,riderRef,v,timeOfRace,endDate,s.lf) if (beginYear == startOfSeasonYear or endYear == startOfSeasonYear) and ((beginYear == startOfSeasonYear and (beginMonth ~= '01' or beginDay ~= '01')) or (endYear == startOfSeasonYear and (endMonth ~= '12' or endDay ~= '31'))) then -- riders who start after 1 January or end earlier then 31 December in the season riderStart = funcDate(beginDate, 'small') if endDatefound then riderEnd = funcDate(endDate, 'small') else riderEnd = funcDate('+'..beginYear..'-12-31T00:00:00Z', 'small') end riderPosition=getPosition(riderPosition,v) end else for _, q in qualifiers(v, 'P39') do stagiaire =q.value.id end if not stagiaire then endDatefound=true beginDate, endDatetemp=getStartEndfromQuali(v.qualifiers) if not endDatetemp then endDatefound=false end beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider') endDate, endYear, endMonth, endDay, _ = parseDate(endDatetemp, beginYear, '12', '31', errortext, '') if beginYear < startOfSeasonYear or (beginYear == startOfSeasonYear and beginMonth < startOfSeasonMonth) or (beginYear == startOfSeasonYear and beginMonth == startOfSeasonMonth and beginDay < startOfSeasonDay) then -- start time < season time if endDatefound then if (endDate or '') >= changedTime then -- find maximum end time -- Case Pierre-Roger Latour: Chambéry CF (2012 - 2014), time season at 2013 -- Task: changedTime should be after start time, but before startOfSeason if endYear > startOfSeasonYear then changedTime = '+'..startOfSeasonYear..'-12-31T00:00:00Z' else changedTime = endDate or '' end end end end if changedTime ~= '+0000-00-00' then riderTeam = getTeam(riderID, changedTime, nil) local _, _, endYear, _, _ = string.find(changedTime, "(%d+)-(%d+)-(%d+)") timeTeam = ' ('..endYear..')' if wiki == "ar" then timeTeam = endYear end end end end end end --get the country local countryID = getNationality(riderID, timeOfRace,q) if countryID then pays = getCountryName(countryID) flags = flag(countryID, timeOfRace) end --save local tRider={ sortkey=sortkey, riderName=riderName, riderBirthday=riderBirthday, riderTeam=riderTeam, timeTeam=timeTeam, riderStart=riderStart, riderEnd=riderEnd, riderPosition=riderPosition, riderReason=riderReason, riderRef=riderRef, errortext=errortext, pays=pays, flags=flags } if correctlanguage == true then table.insert(riderTablecorrect,tRider ) else table.insert(riderTablenotcorrect, tRider) end end -- sorting names if sort == true then if #riderTablecorrect~=0 then table.sort(riderTablecorrect, function(a,b) return a["sortkey"]<b["sortkey"] end) end if #riderTablenotcorrect~=0 then table.sort(riderTablenotcorrect, function(a,b) return a["sortkey"]<b["sortkey"] end) end end --merge for _, v in pairs (riderTablecorrect) do table.insert(riderTable, v) end for _, v in pairs (riderTablenotcorrect) do table.insert(riderTable, v) end local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(s.seasonID..'#P527')) if arwiki_totemplate then wd_link = wdLink(s.seasonID .. '#P527') end local outTable = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '2') :attr('cellspacing', '0') :css('border' , '1px solid var(--border-color-subtle, #c8ccd1)') :css('padding', '3px') local th_colspan = 4 if wiki == "ar" then th_colspan = 5 end local tRow=outTable:tag('tr'):css('line-height','1.8em') :css('background-color',backgroundColor) :tag('th'):attr('colspan', th_colspan):cssText('text-align:center;white-space:nowrap') :wikitext(tostring(wd_link)) if s.year then tRow:wikitext(translate("getSquadTableColumn",7,w_race).." "..s.year) else tRow:wikitext(translate("getSquadTableColumn",7,w_race)) end local header = outTable:tag('tr') header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",1,w_race)) local textalign = 'center' if wiki=='ar' then textalign = 'right' end header:tag('th'):cssText('text-align:'..textalign..';padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",2,w_race)) if l10n["country_name_list"] and wiki ~= 'lv' and wiki ~= 'ru' and wiki ~= 'da' and wiki ~= 'ar' then header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",6,w_race)) end if wiki == "ar" then header:tag('th'):attr('colspan', 2):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,w_race)) else header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,w_race)) end local temp local iii = 1 for i, v in pairs (riderTable) do local tRow=outTable:tag('tr'):css('line-height','1.8em') local tCell= tRow:tag('td'):cssText("padding:0 1em 0 0;white-space:nowrap") if not l10n["country_name_list"] or wiki == 'lv' or wiki == 'ar' or wiki == 'ru' or wiki == 'da' then temp=v['flags']..' ' else temp='' end tCell:wikitext(temp..v['riderName']):attr('data-sort-value',v['sortkey']) if v['riderStart']~=nil or v['riderEnd']~=nil then tCell:tag('span'):cssText("font-size:80%; color:#686868") local note='' if v['riderReason'] ~= nil then note = ', [[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]' if wiki == "ar" then note = '، [[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]' end end tCell:wikitext(' ('..(v['riderStart'] or '')..'–'..(v['riderEnd'] or '') .. (v['riderPosition'] or '')..note..')') elseif v['riderReason'] then tCell:tag('span'):cssText("font-size:80%; color:#686868") :wikitext('([[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]'.. ')') end tCell=tRow:tag('td'):cssText("text-align:right;white-space:nowrap") if wiki == 'lv' then local _, _, beginYear, beginMonth, beginDay = string.find(startOfSeason,"(%d+)-(%d+)-0*(%d+)") local _, _, endYear, endMonth, endDay = string.find(v['riderBirthday'] or '',"(%d+)-(%d+)-0*(%d+)") tCell:wikitext(s.lf:expandTemplate{ title = 'Template:Birth date and age2', args = { beginYear, beginMonth, beginDay, endYear, endMonth, endDay } }) else tCell:wikitext(funcDate(v['riderBirthday'] or '', 'long')) if l10n["country_name_list"] and wiki ~= 'ar' and wiki ~= 'ru' and wiki ~= 'da' then tRow:tag('td'):wikitext(v['flags'].. ' '..v['pays']) end end if wiki =='he' then local isRtl = (mw.ustring.find(v['riderTeam'], '|.*[א-ת]') or (not mw.ustring.find(v['riderTeam'], '|') and mw.ustring.find(riderTeam, '[א-ת]'))) if isRtl then tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:right") else labelMissing = true -- FIXME: labelMissing is not functional in most languages. once we have infra support for it, move it there tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left") end elseif wiki == "ar" then tCell=tRow:tag('td'):cssText("padding:0 0.5em") else tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left") end if v['riderTeam'] then if wiki == "ar" then tCell:wikitext( v['riderTeam'] ) tCell=tRow:tag('td'):cssText("padding:0 0.5em") tCell:wikitext( v['timeTeam']..v['errortext'] ) else tCell:wikitext(v['riderTeam'].. v['timeTeam']..v['errortext']) end end --tableEndText is not a table if v['riderReason'] ~= nil or v['errortext'] ~= '' then local temp=(v['riderReason'] or '')..(v['errortext'] or '') if iii == 1 then tableEndText = tableEndText.. translate("getSquadTableColumn",5,w_race)..': '.. v['riderName'].. temp else tableEndText = tableEndText.. '<span style="color:white">'.. translate("getSquadTableColumn",5,w_race)..': </span>'.. riderName.. temp end iii = iii if riderRef ~= nil then tableEndText = tableEndText.. s.lf:extensionTag{name='ref', content=v['riderRef'], args = {name='tr_'..iii..s.seasonID}} end tableEndText = tableEndText.. '<br>' end end if labelMissing then outTable:wikitext(getMissingLabelTrackingCategory()) end local ref=race_reference(s.seasonID,s.lf) if ref=='' then --fallback local UCIlink if wiki=="fr" then UCIlink="https://fr.uci.org/riders/athetes-et-equipe-route/4uEfOErsvL4hkRJriqkdiw" else UCIlink="https://www.uci.org/riders/road-riders-teams/4uEfOErsvL4hkRJriqkdiw" end ref=translate("race_reference", 1,w_race).."["..UCIlink..' UCI]' end outTable:tag('tr'):tag('td'):addClass("navigation-only") :attr('data-sort-value','zz') :attr('colspan',th_colspan) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") :tag('tr') :tag('td'):attr('colspan',th_colspan) :attr('data-sort-value','zzz') :cssText("text-align:right") :tag('small'):wikitext(ref) return tostring(outTable)..tableEndText end --== J) List of winners == function p.listofwinners(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersyoung(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20883139','Q72099969','Q72099972'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersChamp(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=false, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), winnersProperty=winnersProperty, display_team = false, custom=false, lf=lf } return listofwinners_main(s) end --listofwinnerssecondpart and so on can be coded with p.listofwinners function p.listofwinnersnowiki(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return frame:extensionTag{ name = 'nowiki', content = listofwinners_main(s)} end function p.listofwinnersteamofpoint(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q27104269','Q72065970','Q72065977'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSI(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959152','Q98959192','Q98959196'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSII(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959153','Q98959194','Q98959197'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSIII(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959155','Q98959195','Q98959198'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscountry(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q72068715','Q72068718','Q72068721'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscountryU23(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q72068724','Q72068725','Q72068729'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscustom(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty ={} if istrue(get_arg('general',frame)) then table.insert( winnersProperty,'Q20882667') end if istrue(get_arg('podium',frame)) then table.insert( winnersProperty,'Q20882668') table.insert( winnersProperty,'Q20882669') end if istrue(get_arg('points',frame)) then table.insert( winnersProperty, 'Q20883007' ) end if istrue(get_arg('mountain',frame)) then table.insert( winnersProperty, 'Q20883212' ) end if istrue(get_arg('sprints',frame)) then table.insert( winnersProperty, 'Q20883328' ) end if istrue(get_arg('youth',frame)) then table.insert( winnersProperty, 'Q20883139' ) end if istrue(get_arg('combativity',frame)) then table.insert( winnersProperty, 'Q101246973' ) table.insert( winnersProperty, 'Q20893983' ) end if istrue(get_arg('volante',frame)) then table.insert( winnersProperty, 'Q27067359' ) end if istrue(get_arg('regularity',frame)) then table.insert( winnersProperty, 'Q27067170' ) end if istrue(get_arg('combination',frame)) then table.insert( winnersProperty, 'Q20893979' ) end if istrue(get_arg('breakaway',frame)) then table.insert( winnersProperty, 'Q27907715' ) end if istrue(get_arg('azzurri',frame)) then table.insert( winnersProperty, 'Q27907747' ) end if istrue(get_arg('rookie',frame)) then table.insert( winnersProperty, 'Q28092831' ) end if istrue(get_arg('teams',frame)) then table.insert( winnersProperty, 'Q20882921' ) end if istrue(get_arg('teamspoints',frame)) then table.insert( winnersProperty, 'Q27104269' ) end if istrue(get_arg('amateur',frame)) then table.insert( winnersProperty, 'Q61976850' ) end if istrue(get_arg('nationality',frame)) then table.insert( winnersProperty, 'Q61976872' ) end if istrue(get_arg('country',frame)) then table.insert( winnersProperty, 'Q72068715' ) end if istrue(get_arg('countryU23',frame)) then table.insert( winnersProperty, 'Q72068724' ) end local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team = false, winnersProperty=winnersProperty, custom=true, lf=lf } return listofwinners_main(s) end function listofwinners_main(s) local lf=s.lf local raceID=s.raceID local rows = {} local WDlink_on = (wiki == "mk") or (wiki == "ja") or (wiki == "ru") local WPcontent = { row ={}, code = {} } local beginyear=s.beginyear or 0 local endyear=s.endyear or 0 local shapka=s.shapka or 0 local titletable local w_race=isWomenrace(raceID) if s.custom then titletable={ [ 'Q20882667' ]=translate("listofwinners",2, w_race), -- winner [ 'Q20882668' ]=translate("listofwinners",3, w_race), -- second [ 'Q20882669' ]=translate("listofwinners",4, w_race), -- third [ 'Q20883007' ]=translate("listofwinners",5, w_race), -- points [ 'Q20883212' ]=translate("listofwinners",6, w_race), -- mountains [ 'Q20883328' ]=translate("listofwinners",7, w_race), -- sprints [ 'Q20883139' ]=translate("listofwinners",8, w_race), -- youth [ 'Q101246973' ]=translate("listofwinners",9, w_race), -- supercombativity [ 'Q20893983' ]=translate("listofwinners",9, w_race), -- combativity [ 'Q20893979' ]=translate("listofwinners",10, w_race), -- combination [ 'Q20882921' ]=translate("listofwinners",11, w_race), -- teams [ 'Q27067359' ]=translate("listofwinners",12, w_race), -- volantes [ 'Q27067170' ]=translate("listofwinners",13, w_race), -- regularity [ 'Q27104269' ]=translate("listofwinners",14, w_race), -- teamspoints [ 'Q27907715' ]=translate("listofwinners",15, w_race), -- breakaway [ 'Q27907747' ]=translate("listofwinners",16, w_race), -- azzurri [ 'Q28092831' ]=translate("listofwinners",17, w_race), -- rookie [ 'Q61976850' ]=translate("listofwinners",18, w_race), -- amateur [ 'Q61976872' ]=translate("listofwinners",19, w_race), -- nationality [ 'Q72068715' ]=translate("listofwinners",23, w_race), -- winner country [ 'Q72068724' ]=translate("listofwinners",24, w_race), -- winner countryU23 } else --main titletable={ -- winner: [ 'Q20882667' ]=translate("listofwinners",2, w_race), -- winner [ 'Q20883007' ]=translate("listofwinners",2, w_race), -- points [ 'Q20883212' ]=translate("listofwinners",2, w_race), -- mountains [ 'Q20883328' ]=translate("listofwinners",2, w_race), -- sprints [ 'Q20883139' ]=translate("listofwinners",2, w_race), -- youth (time or point) [ 'Q101246973' ]=translate("listofwinners",2, w_race), -- supercombativity [ 'Q20893983' ]=translate("listofwinners",2, w_race), -- combativity [ 'Q20893979' ]=translate("listofwinners",2, w_race), -- combination [ 'Q20882921' ]=translate("listofwinners",2, w_race), -- team (time) [ 'Q27067359' ]=translate("listofwinners",2, w_race), -- volantes [ 'Q27067170' ]=translate("listofwinners",2, w_race), -- regularity [ 'Q27104269' ]=translate("listofwinners",2, w_race), -- teampoints [ 'Q27907715' ]=translate("listofwinners",2, w_race), -- breakaway [ 'Q27907747' ]=translate("listofwinners",2, w_race), -- azzurri [ 'Q28092831' ]=translate("listofwinners",2, w_race), -- rookie [ 'Q61976850' ]=translate("listofwinners",2, w_race), -- amateur [ 'Q61976872' ]=translate("listofwinners",2, w_race), -- nationality [ 'Q72068715' ]=translate("listofwinners",2, w_race), -- winner country [ 'Q72068724' ]=translate("listofwinners",2, w_race), -- winner countryU23 [ 'Q98959152' ]=translate("listofwinners",2, w_race), -- winner team GS-I [ 'Q98959153' ]=translate("listofwinners",2, w_race), -- winner team GS-II [ 'Q98959155' ]=translate("listofwinners",2, w_race), -- winner team GS-III -- 2 place: [ 'Q20882668' ]=translate("listofwinners",3, w_race), -- second [ 'Q72065970' ]=translate("listofwinners",3, w_race), -- second teampoints [ 'Q72099969' ]=translate("listofwinners",3, w_race), -- youth (time or point) [ 'Q72068718' ]=translate("listofwinners",3, w_race), -- second country [ 'Q72068725' ]=translate("listofwinners",3, w_race), -- second countryU23 [ 'Q98959192' ]=translate("listofwinners",3, w_race), -- second team GS-I [ 'Q98959194' ]=translate("listofwinners",3, w_race), -- second team GS-II [ 'Q98959195' ]=translate("listofwinners",3, w_race), -- second team GS-III -- 3 place: [ 'Q20882669' ]=translate("listofwinners",4, w_race), -- third [ 'Q72065977' ]=translate("listofwinners",4, w_race), -- third teampoints [ 'Q72099972' ]=translate("listofwinners",4, w_race), -- youth (time or point) [ 'Q72068721' ]=translate("listofwinners",4, w_race), -- third country [ 'Q72068729' ]=translate("listofwinners",4, w_race), -- third countryU23 [ 'Q98959196' ]=translate("listofwinners",4, w_race), -- third team GS-I [ 'Q98959197' ]=translate("listofwinners",4, w_race), -- third team GS-II [ 'Q98959198' ]=translate("listofwinners",4, w_race), -- third team GS-III } end --[=[ It is possible to give the table listofwinners in the article commands. It could look like this: {{Cycling race/listofwinners|Q18574623 | above row 1: '''[[aaa bbb ccc]]''' xxx }} "above row x" inserts a new row above row x into the table. Content is what is behind the ":". ]=] if get_arg(2,lf) then for num, _ in pairs(lf.args) do if num > 1 and mw.ustring.find(mw.ustring.lower(get_arg(num,lf)), 'row') then local _, _, kebeginYear, val = mw.ustring.find(get_arg(num,lf), "([^:]+)%s*:%s*(%C+)") local _, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)") kebeginYear2 = tonumber(kebeginYear2) kebeginYear1 = mw.ustring.lower(key01..kebeginYear1) if kebeginYear1 == 'aboverow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 0 end --0 is above if kebeginYear1 == 'belowrow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 1 end --0 is above end end end local firstyeartodisplay=2100 local parts = mw.wikibase.getAllStatements(raceID, 'P527') -- P527 is 'has part' for _, part in ipairs(parts) do if part.rank ~= 'deprecated' and part.mainsnak.snaktype == 'value' then local partID = part.mainsnak.datavalue.value.id local timeOfRace=getTimeOfRace(partID,true,true) --original P585 and P580 inverted here local year = timeOfRace and string.sub(timeOfRace, 2, 5) or '?' local month = timeOfRace and string.sub(timeOfRace, 7, 8) or '01' if year == "?" then mw.log("no year at " .. partID ) end if endyear==0 or (tonumber(year) or 0)<=endyear then if (tonumber(year) or 0) >= beginyear then local thereisawinner=false local sitelink = mw.wikibase.getSitelink(partID) if sitelink then sitelink = '[[' .. sitelink .. '|' .. year .. ']]' else sitelink = year end if WDlink_on then sitelink = sitelink .. ' ' .. wdLink(partID) end local winners = {} for _, property in ipairs(s.winnersProperty) do winners[property]='' end local tCell local tCellstr='' local temp=firstValue(partID, 'P1346','id') if temp and temp=='Q30108381' or temp=='Q54806642' or temp=='Q23023872' then --race cancelled local cancelledlabel = getLabelFallback(temp) tCell=mw.html.create('td'):attr('colspan','4') :cssText('text-align:center; font-style: italic') :wikitext(cancelledlabel) tCellstr=tostring(tCell) else winner(lf,partID, winners, timeOfRace, not s.countryflag, WDlink_on,s.display_team,true) for _, property in ipairs(s.winnersProperty) do tCell=mw.html.create('td'):wikitext(winners[property]) if winners[property]~='' then thereisawinner=true if tonumber(year)<firstyeartodisplay then firstyeartodisplay=tonumber(year) end end tCellstr= tCellstr..tostring(tCell) end end if tonumber(year) == nil then year = "1970" end if firstyeartodisplay<=tonumber(year) then rows[#rows+1]={year..month, sitelink, tCellstr} end end end end end table.sort(rows, function(a, b) return a[1] < b[1] end) -- Sort by year if wiki == "ar" then -- replace clear:left with clear:right in standardtablecss standardtablecss = standardtablecss:gsub('clear:left', 'clear:right') end --do not use hw.html here otherwise the begin and end year won't work local table_first = "<table cellpadding='4' cellspacing='0' style='"..standardtablecss.."'>" local tTitleRow=mw.html.create('tr') :css('text-align','center') :css('background-color',backgroundColor) :css('color', 'inherit') local tCell=tTitleRow:tag('th') local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(raceID .. "#P527")) if arwiki_totemplate then wd_link = wdLink(tostring(raceID) .. "#P527") end if WDlink_on == false then tCell:wikitext(tostring(wd_link)) end tCell:wikitext(translate("listofwinners",1,w_race)) --year for _, pp in ipairs(s.winnersProperty) do tTitleRow:tag('th'):wikitext(titletable[pp]) end local table_center='' local nb_year_inrow=1 local lastyear for i, row in ipairs(rows) do sitelink=row[2] local tRowWD=mw.html.create('tr') local tCell=tRowWD:tag('td'):css('text-align','left') if lastyear and mw.ustring.sub(row[1],1,4)==lastyear then nb_year_inrow=nb_year_inrow+1 tCell:wikitext(sitelink..' ('..tostring(nb_year_inrow)..')') else tCell:wikitext(sitelink) nb_year_inrow=1 end lastyear=mw.ustring.sub(row[1],1,4) tRowWD:node(row[3]) --add the end of the row if WPcontent.row[i] then tRow=mw.html.create('tr'):tag('td'):attr('colspan','4') :css('text-align','center') tRow:wikitext(WPcontent.row[i]) if WPcontent.code[i]==0 then --above table_center=table_center..tostring(tRow) table_center=table_center..tostring(tRowWD) else --below table_center=table_center..tostring(tRowWD) table_center=table_center..tostring(tRow) end else table_center=table_center..tostring(tRowWD) end end --firstpart with header no foot if shapka == 1 then -- standard header return table_center .. "</table>" elseif shapka == 2 then -- you need to add a title and you can add text at the beginning return table_center else -- you need to add a title and you can add anything and anywhere return table_first .. tostring(tTitleRow) .. table_center .. "</table>" end end --== K) List of stages function check_basque_place(sPoint, sPointID) local eu=false --check if it is a town local town=false for _, p31 in statements(sPointID, 'P31') do if p31.mainsnak.datavalue.value.id == "Q2074737" or p31.mainsnak.datavalue.value.id == "Q484170" then --Spanish and French towns town=true end end if not town then --if it not a town look for parent for _, p131 in statements(sPointID, 'P131') do if data.BasqueTown[p131.mainsnak.datavalue.value.id] then eu=true end end else if data.BasqueTown[sPointID] then eu=true end end if eu then sPoint = flag("Q47588", timeOfRace).." "..sPoint end return sPoint, eu end function p.listofstages(frame) local WDlink_on = wiki == "mk" or wiki == "ja" local WPcontent = {} local raceID, lf = get_and_checkID(frame) local thereiselevation=false local result, tableBody local w_race=isWomenrace(raceID) --[=[ It is possible to give the table listofstages in the article commands which overwrites data from Wikidata. It could look like this: {{Cycling race/listofstages|Q18574623 | RoW 1: locaTION Ab : [[1a1b]] | after row 1 : date : 99 août | after row 1 : icon : [[File:Stage rest day.svg|vbght frthzt fdgtr]] | after row 1: text : rest day at [[aaa bbb ccc]] | row 4: location A : [[4a4a]]abc | row 3 : winner a : <sup>tzhgt</sup> | row 4 : winner b : kjuzhgt<br />bbjje | row 4 : icon : [[File:Mediummountainstage.svg|xcvbbgf fgtr]] | row 4 : distance : <s>141.8</s> 122<ref>test</ref> }} The first paramer is "row x" or "after row x". "after row" adds a new row after row x into the table to print e.g. a rest day. The second parameters are "location [a/b/ab]", "date", "icon", "text", "winner [a/b]" and "distance". "a" and "b" means the first and the second location or winner. "ab" could be used if start location and end location are the same. The file data for the icon looks this way: [[File:Stage rest day.svg|any text]] ]=] if get_arg(2,lf) then local WProw, WPnew_row, WPcourse, WPtext, WPdate, WPwinner, WPicon, WPdistance = 'row', 'afterrow', 'location', 'text', 'date', 'winner', 'icon', 'distance' local _, kebeginYear, key2, val local key01, kebeginYear1, kebeginYear2 local key21, key22 for num, var in pairs(lf.args) do if num > 1 and mw.ustring.find(mw.ustring.lower(var), WProw) then _, _, kebeginYear, key2, val = mw.ustring.find(var, "([^:]+)%s*:?%s*([^:]*)%s*:%s*(%C+)") _, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)") kebeginYear2 = tonumber(kebeginYear2) kebeginYear1 = mw.ustring.lower(key01 .. kebeginYear1) key2 = mw.ustring.lower(mw.text.trim(key2)) _, _, key21, key22 = mw.ustring.find(key2, "(%a+)%s*(%a*)") if not WPcontent[kebeginYear2] then WPcontent[kebeginYear2] = {} end if kebeginYear1 == WProw and key21 == WPcourse then WPcontent[kebeginYear2][key22] = val end if kebeginYear1 == WPnew_row and key2 == WPdate then WPcontent[kebeginYear2]['date'] = val WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or '' WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or '' end if kebeginYear1 == WPnew_row and key2 == WPtext then WPcontent[kebeginYear2]['text'] = val WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or '' WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or '' end if kebeginYear1 == WPnew_row and key2 == WPicon then val = string.gsub(val, "|", "|border|right|20px|", 1) WPcontent[kebeginYear2]['icon (new row)'] = val WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or '' WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or '' end if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'a' then WPcontent[kebeginYear2]['stage winner'] = val end if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'b' then WPcontent[kebeginYear2]['general winner'] = val end if kebeginYear1 == WProw and key21 == WPicon then val = string.gsub(val, "|", "|border|right|20px|", 1) WPcontent[kebeginYear2]['icon'] = val end if kebeginYear1 == WProw and key21 == WPdistance then WPcontent[kebeginYear2]['distance'] = val end end end end local countries = wikibase.getAllStatements(raceID, 'P17') local onecountry, firstcountryID if countries and #countries>1 then onecountry=false if countries[1] then firstcountryID=countries[1].mainsnak.datavalue.value.id end else onecountry=true end local rows = {} local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part' for _, v in pairs(stages) do if v.mainsnak.snaktype == 'value' then local stageID = v.mainsnak.datavalue.value.id local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal' local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value or '' local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)') if not sNumber then sNumber = '' end if not sLetter then sLetter = '' end local WDLink = WDlink_on and wdLink(stageID) or '' local sitelink = mw.wikibase.getSitelink(stageID) local timeOfRace =getTimeOfRace(stageID) or '' local sPointID = firstValue(stageID, 'P1427', 'id') local sPoint = (sPointID and getPlaceLink(sPointID, timeOfRace)) or '' local eu=false if wiki=="eu" and sPointID then sPoint, eu=check_basque_place(sPoint, sPointID) end if sPointID and not onecountry and not eu then local startcountryID=getCountryID(sPointID, timeOfRace) if startcountryID and firstcountryID ~= startcountryID then sPoint = flag(startcountryID, timeOfRace).." "..sPoint end end local dPointID = firstValue(stageID, 'P1444', 'id') local dPoint = (dPointID and getPlaceLink(dPointID, timeOfRace)) or '' eu=false if wiki=="eu" and dPointID then dPoint, eu=check_basque_place(dPoint, dPointID) end if dPointID and not onecountry and not eu then local dcountryID=getCountryID(dPointID, timeOfRace) if dcountryID and firstcountryID ~= dcountryID then dPoint = flag(dcountryID, timeOfRace).." "..dPoint end end local sDistance = getDistance(stageID, false) or '' local sElevation = getElevation(stageID) if sElevation then thereiselevation=true end local winners = { Q20882747 = '', -- Q20882747 is 'stage winner' Q20882763 = '', -- Q20882763 is 'overall leader at the end of the stage' Q20882667 = '', -- Q20882667 is 'overall winner' not supposed to be used } winner(lf,stageID, winners, timeOfRace, false, WDlink_on) -- find the type of stage local sType = typeofstagelogo(stageID) local label, section_title if sOrdinal == "0" then label, section_title = translate("func_prologue",1), "#" .. translate("func_prologue",1) else label, section_title = stageLink(sOrdinal, sNumber, sLetter) end -- if there is a Wikipedia article of that stage show it or show the section local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or ("[[" .. section_title .. "|" .. label .. "]]") local sDate = funcDate(timeOfRace, 'small') local tempoverall if winners['Q20882763']~='' then tempoverall=winners['Q20882763'] else tempoverall=winners['Q20882667'] end rows[#rows + 1] = { rank=tonumber(sNumber) or 0, sortkey=sLetter, -- Sort keys sLink=sLink, sDate=sDate, WDLink=WDLink, sPoint=sPoint, dPoint=dPoint, sType=sType, sDistance=sDistance, sElevation=sElevation, sSWin=winners['Q20882747'], sGWin=tempoverall -- Content } end end table.sort(rows, function(a, b) if a["rank"] ~= b["rank"] then return a["rank"] < b["rank"] end return a["sortkey"] < b["sortkey"] end) local Id = ((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "") tab=mw.html.create('table') :attr('cellpadding','4' ) :attr('cellspacing','0') :cssText(standardtablecss) local tRow=tab:tag('tr'):css('background-color',backgroundColor) :css('text-align','center'):css('color', 'inherit') tRow:tag('th'):css('white-space','nowrap') :wikitext(Id..translate("headoftable",1,w_race)) tRow:tag('th'):wikitext(translate("headoftable",2,w_race)) tRow:tag('th'):wikitext(translate("headoftable",3,w_race)) tRow:tag('th'):css('color',backgroundColor):wikitext("type") tRow:tag('th'):wikitext(translate("headoftable",4,w_race)) if thereiselevation then tRow:tag('th'):wikitext(translate("headoftable",7,w_race)) end tRow:tag('th'):wikitext(translate("headoftable",5,w_race)) tRow:tag('th'):wikitext(translate("headoftable",6,w_race)) local header = tostring(tRow) for num, row in pairs(rows) do local sPoint=row["sPoint"] local dPoint=row["dPoint"] local sType=row["sType"] local sDistance=row["sDistance"] local WPc = WPcontent[num] if WPc then if WPc['a'] then sPoint = WPc['a'] end if WPc['b'] then dPoint = WPc['b'] end if WPc['ab'] then sPoint, dPoint = WPc['ab'], '' end if WPc['icon'] then sType = WPc['icon'] end if WPc['distance'] then sDistance = WPc['distance'] end end local tRow = tab:tag('tr') local tCell= tRow:tag('td'):cssText('text-align:center; white-space:nowrap'):wikitext(row["sLink"]) tCell:tag('span'):css('white-space','nowrap'):wikitext("&nbsp;".. row["WDLink"]) tRow:tag('td'):css('white-space','nowrap'):cssText("text-align:right; padding-right:0px") :wikitext(row["sDate"]) tCell=tRow:tag('td'):cssText("padding-right:0px"):wikitext( sPoint) if dPoint ~= '' then tCell:wikitext(" – " .. dPoint) end tRow:tag('td'):cssText("padding-right:0px"):wikitext(sType) tRow:tag('td'):css('text-align','center'):wikitext( sDistance) if thereiselevation then tRow:tag('td'):css('text-align','center'):wikitext(row["sElevation"]) end if WPc and WPc['stage winner'] then tRow:tag('td'):css('text-align',textalign):wikitext( WPc['stage winner']) else tRow:tag('td'):wikitext(row["sSWin"]) end if WPc and WPc['general winner'] then tRow:tag('td'):css('text-align',textalign):wikitext( WPc['general winner']) else tRow:tag('td'):wikitext(row["sGWin"]) end if WPc and (WPc['date'] or WPc['text'] or WPc['icon (new row)']) then tRow = tab:tag('tr') tRow:tag('td') --empty if WPc['icon (new row)'] == '' then tRow:tag('td'):cssText('text-align:right; padding:3px 0px 10px 0px;white-space:nowrap') :wikitext(WPc['date']) tRow:tag('td'):cssText("text-align:" .. textalign .. "; padding:3px 4px 10px") :wikitext(WPc['text']) else tRow:tag('td'):cssText('text-align:right; padding-right:0px') :wikitext(WPc['date']) tRow:tag('td'):cssText("text-align:" .. textalign) :wikitext(WPc['text']) end tRow:tag('td'):css('padding-top','10px'):wikitext(WPc['icon (new row)']) tRow:tag('td'):attr('colspan','3') end end if arwiki_totemplate then tab = artemp_module.change_listofstages(tab, raceID, header, Id) end return tab end function p.stagetitle(frame) local stageID = get_and_checkID(frame) -- from to local sPointID = firstValue(stageID, 'P1427', 'id') local sPoint = sPointID and getPlaceLink(sPointID) or '' local dPointID = firstValue(stageID, 'P1444', 'id') local dPoint = (dPointID and getPlaceLink(dPointID)) or '' local sDistance = getDistance(stageID, true) or '' local sType = typeofstagelogo(stageID) -- find the type of stage tab=mw.html.create('table') tab:tag('th'):wikitext(sPoint.." - "..dPoint) tab:tag('td'):wikitext(sType) tab:tag('td'):css('font-weight','bold'):wikitext("("..sDistance..")") return tab end local function champtitle(h) --!h is h.jersey local road, ITT, result local hcountry, hnotcountry = {},{} local w_race=nil --to be defined if needed --the jersey for a stage race and the jersey from national championship should be differentiated --to avoid to look every time, below is a list of all national championships if type(h) == 'table' and h[1] then for _, v in ipairs(h) do roadtemp=false ITTtemp=false if data.womenNcRoadtable[v] or data.menNcRoadtable[v] then road = true roadtemp=true elseif data.womenNcITTtable[v] or data.menNcITTtable[v] then ITT = true ITTtemp=true else local raceLabel = mw.wikibase.getLabelByLang(v,"fr") if raceLabel then local testMenRoadrace, testMenITT, testWomenRoadrace, testWomenITT local raceLabelmod = string.gsub(raceLabel, '-', 'x') testMenRoadrace = string.find( raceLabel, 'Course en ligne masculine aux' ) testMenITT = string.find( raceLabelmod, 'Contrexlaxmontre masculin aux' ) testWomenRoadrace = string.find( raceLabel, 'Course en ligne féminine aux' ) testWomenITT = string.find( raceLabelmod, 'Contrexlaxmontre féminin aux' ) if testWomenRoadrace or testMenRoadrace then road = true roadtemp=true end if testWomenITT or testMenITT then ITT = true ITTtemp=true end end end if roadtemp or ITTtemp then table.insert(hcountry,v) else table.insert(hnotcountry,v) end end end if road and ITT then local image = {} for ii, v in ipairs(hcountry) do local p18 = mw.wikibase.getBestStatements(v, 'P18') if p18[1] and p18[1].mainsnak.snaktype == 'value' then local temp = p18[1].mainsnak.datavalue.value local alreadythere = 0 for _, vv in ipairs(image) do if vv==temp then alreadythere = 1 end end if alreadythere==0 then table.insert(image,temp) else hcountry[ii] = nil end end end --avoid double display of jersey result = "<small>("..translate("startlist",10,w_race).." "..translate("startlist",12,w_race).." "..translate("startlist",11,w_race)..")</small>" elseif road then result = "<small>("..translate("startlist",10,w_race)..")</small>" elseif ITT then result = "<small>("..translate("startlist",11,w_race)..")</small>" else result = "" end return jersey(hcountry)..result..jersey(hnotcountry) end -- L) List of stages classification local function winnerjersey(raceID, winners) local jerseytable, bgcolortable={}, {} local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner' for _, winner in pairs(p1346) do local wOf, thisjersey, bg_color local q = winner.qualifiers if q then if q.P2501 and q.P2501[1].snaktype == 'value' then wOf = q.P2501[1].datavalue.value.id -- P642 is 'of' elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback wOf = q.P642[1].datavalue.value.id -- P642 is 'of' end if q.P2912 and q.P2912[1].snaktype == 'value' then thisjersey=q.P2912[1].datavalue.value.id if data.bg_color_table[thisjersey] then bg_color = data.bg_color_table[thisjersey] end end end if winners[wOf] and thisjersey then jerseytable={} table.insert(jerseytable,thisjersey) winners[wOf] = jersey(jerseytable) bgcolortable[wOf] = bg_color end end return winners, bgcolortable end function p.listofstagesclassification(frame) -- WDlink_on is used to decide if a Wikidata logo will be shown local WDlink_on = wiki == "mk" or wiki == "ja" local displaytypeofstage = true local stageinfotable = {} local raceID, lf = get_and_checkID(frame) local w_race=isWomenrace(raceID) local sType --link for Grand Tour local GTid={['Q33881']=true,['Q33861']=true,['Q33937']=true,['Q1526999']=true} local thisGT for _, p31 in statements(raceID, 'P31') do if GTid[p31.mainsnak.datavalue.value.id]==true then thisGT=p31.mainsnak.datavalue.value.id break end end local Sitelink,overallname, pointsname, mountainname, youngname, teamname, combativityname, supercombativityname, combinedname if thisGT then if thisGT=='Q33881' then -- Tour de France Sitelink = wikibase.getSitelink('Q2267539') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q175399') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q927157') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2254180') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1436680') -- Team by time if Sitelink then teamname="[["..Sitelink .."|"..translate("infobox",28,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2094179') -- Combativity award if Sitelink then combativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2094179') -- Combativity award if Sitelink then supercombativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1835362') -- Combination if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,w_race).."]]" end elseif thisGT=='Q33861' then -- Giro d'Italia Sitelink = wikibase.getSitelink('Q1164275') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641083') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641060') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641662') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end elseif thisGT=='Q33937' then -- Vuelta a España Sitelink = wikibase.getSitelink('Q2532554') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2241695') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1118296') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q60233927') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2141595') -- Team by time if Sitelink then teamname="[["..Sitelink .."|"..translate("infobox",28,w_race).."]]" end Sitelink = wikibase.getSitelink('Q20882672') -- Combativity award if Sitelink then combativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2330008') -- Combination if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,w_race).."]]" end else -- Giro d'Italia Women Sitelink = wikibase.getSitelink('Q3679692') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679673') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679712') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679695') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end end end local winners = { { name = translate("infobox",19,w_race), QID = 'Q20882747'}, -- stage { name = overallname or translate("headoftableII",9,w_race), QID = 'Q20882763' }, -- overall { name = pointsname or translate("infobox",22,w_race), QID = 'Q20883008' }, -- points { name = mountainname or translate("infobox",23,w_race), QID = 'Q20883213' }, -- mountains { name = translate("infobox",24,w_race), QID= 'Q20883329' }, -- sprints { name = youngname or translate("infobox",25,w_race), QID='Q20883140' }, -- youth { name = combativityname or translate("infobox",26,w_race), QID= 'Q21686770' }, -- combativity { name = supercombativityname or translate("infobox",26,w_race), QID= 'Q20893984' }, -- combativity { name = translate("infobox",35,w_race), QID= 'Q27104688' }, -- volantes { name = translate("infobox",36,w_race), QID= 'Q27104684' }, -- regularity { name = combinedname or translate("infobox",27,w_race), QID='Q20965880' }, -- combination { name = translate("infobox",38,w_race), QID='Q27907714' }, -- breakaway { name = translate("infobox",39,w_race), QID='Q27907748' }, -- azzurri { name = translate("infobox",40,w_race), QID='Q28096780'}, -- rookie { name = teamname or translate("infobox",28,w_race), QID='Q20882922' }, -- teams { name = translate("infobox",37,w_race), QID ='Q27104271' }, -- teamspoints { name = translate("infobox",41,w_race), QID ='Q61976847' },-- amateur { name = translate("infobox",42,w_race), QID ='Q61976871' } --nationality } local winnersgen = { { QID = 'Q20882667' }, -- overall { QID = 'Q20883007' }, -- points { QID = 'Q20883212' }, -- mountains { QID = 'Q20883328' }, -- sprints { QID = 'Q20883139' }, -- youth { QID = 'Q101246973' }, -- supercombativity { QID = 'Q20893983' }, -- combativity { QID = 'Q27067359' }, -- volantes { QID = 'Q27067170' }, -- regularity { QID = 'Q20893979' }, -- combination { QID = 'Q27907715' }, -- breakaway { QID = 'Q27907747' }, -- azzurri { QID = 'Q28092831' }, -- rookie { QID = 'Q20882921' }, -- teams { QID = 'Q27104269' }, -- teamspoints { QID = 'Q61976850' }, -- amateur { QID = 'Q61976872' } --nationality } local generaltoleader = { ['Q20882747']= nil, ['Q20882667']= 'Q20882763', -- overall ['Q20883007']= 'Q20883008', -- points ['Q20883212']= 'Q20883213', -- mountains ['Q20883328']= 'Q20883329', -- sprints ['Q20883139']= 'Q20883140', -- youth ['Q20893983']= 'Q20893984', -- combativity ['Q101246973']= 'Q21686770', -- supercombativity ['Q27067359']= 'Q27104688', -- volantes ['Q27067170']= 'Q27104684', -- regularity ['Q20893979']= 'Q20965880', -- combination ['Q27907715']= 'Q27907714', -- breakaway ['Q27907747']= 'Q27907748', -- azzurri ['Q28092831']= 'Q28096780', -- rookie ['Q20882921']= 'Q20882922', -- teams ['Q27104269']= 'Q27104271', -- teamspoints ['Q61976850']= 'Q61976847', -- amateur ['Q61976872']= 'Q61976871' --nationality } --read stages local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part' local columntable, jerseytable, bgcolortable={}, {}, {} for ii, v in ipairs(winners) do if v.QID then local t = {key=ii, name=v.name, jersey='', bg_color='', used=false} for jj = 1, #stages+1 do t[jj] = { {}, {}, {} } -- leader, first stage, number of stages consecutive (for rowspan) end columntable[v.QID] = t end end --to have the columns in the same order as defined, otherwise they would be sorted according to the order in wikidata --make "Q123", "Q456" --> 1, 2 local function itercolumns(columntable) local keys = {} for k, v in pairs(columntable) do keys[v.key] = k --v.key is just the order of the columns end local upto = 1 return function () while keys[upto] do upto = upto + 1 return columntable[keys[upto-1]] end end end local timeOfRace for ii, v in pairs(stages) do if v.mainsnak.snaktype == 'value' then local somewinner = false --show the stage local stageID = v.mainsnak.datavalue.value.id local sitelink = mw.wikibase.getSitelink(stageID) if displaytypeofstage==true then sType = typeofstagelogo(stageID) end local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal' local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value or '' local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)') sNumber=sNumber or '' sLetter=sLetter or '' local label, section_title if sOrdinal == "0" then label, section_title = translate("func_prologue",1), "#" .. translate("func_prologue",1) else label, section_title = stageLink(sOrdinal, sNumber, sLetter) end -- If there is a Wikipedia article of that stage show it or show the section. local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or ("[[" .. section_title .. "|" .. label .. "]]") timeOfRace =getTimeOfRace(stageID) local win= {} for _, v in pairs(winners) do win[v.QID] = '' if ii==1 then jerseytable[v.QID]='' end end winner(lf,stageID, win, timeOfRace, false, WDlink_on, false, false) --fill win table if ii<=2 then --only two first stages jerseytable, bgcolortable=winnerjersey(stageID, jerseytable) end for _, v in pairs(winners) do if v.QID and win[v.QID] ~= '' then --column info somewinner=true columntable[v.QID][ii]["leader"]=win[v.QID] if ii==1 then --first stage columntable[v.QID][ii]["start"]=1 --start at row 1 columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage elseif columntable[v.QID][ii-1]["leader"]==win[v.QID] then --same winner as past stage ,make previous longer and delete this one local initialstage=columntable[v.QID][ii-1]["start"] columntable[v.QID][ii]["start"]=initialstage --need because of the row above columntable[v.QID][initialstage]["rowspan"]=columntable[v.QID][initialstage]["rowspan"]+1 --one more consecutive stage columntable[v.QID][ii]["rowspan"]=0 else --new winner columntable[v.QID][ii]["start"]=ii --start at this row/stage columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage end columntable[v.QID].used=true if ii<=2 then --read the jersey in the two first stages of a race if columntable[v.QID].jersey == '' or columntable[v.QID].jersey==nil then columntable[v.QID].jersey=jerseytable[v.QID] columntable[v.QID].bg_color=bgcolortable[v.QID] end end end end table.insert(stageinfotable,{sLink=sLink, sType=sType, somewinner=somewinner}) end end --read parent local win= {} for _, v in pairs(winnersgen) do if v.QID then win[v.QID] = '' jerseytable[v.QID]='' end end local thiskey somewinner = false jerseytable, bgcolortable=winnerjersey(raceID, jerseytable) winner(lf,raceID, win, timeOfRace, false, WDlink_on, false, false) for _, v in pairs(winnersgen) do if win[v.QID] and win[v.QID] ~= '' then somewinner=true thiskey=generaltoleader[v.QID] --fill the final classification columntable[thiskey][#stages+1]["leader"]=win[v.QID] columntable[thiskey][#stages+1]["start"]=#stages+1 columntable[thiskey][#stages+1]["rowspan"]=1 --#stages is the last stage if (type(columntable[thiskey][#stages]["leader"])~="string" --combativity is not extrapolated and thiskey~='Q20893984') then --check nil actually, but it is a table.. columntable[thiskey][#stages]["leader"]= win[v.QID] --extrapolate the winner if (type(columntable[thiskey][#stages-1]["leader"])=="string" and win[v.QID]==columntable[thiskey][#stages-1]["leader"]) then --if there is a leader at forelast stage local initialstage=columntable[thiskey][#stages-1]["start"] columntable[thiskey][#stages]["start"]=initialstage --needed because of row above columntable[thiskey][initialstage]["rowspan"]=columntable[thiskey][initialstage]["rowspan"]+1 columntable[thiskey][#stages]["rowspan"]=0 else columntable[thiskey][#stages]["start"]=#stages columntable[thiskey][#stages]["rowspan"]=1 end end if jerseytable[v.QID] and jerseytable[v.QID]~='' then columntable[thiskey].jersey=jerseytable[v.QID] columntable[thiskey].bg_color=bgcolortable[v.QID] end end end table.insert(stageinfotable,{sLink=translate("listofstagesclassification",2,w_race), sType=nil, somewinner=somewinner}) --build the table local tab=mw.html.create('table') :attr('cellpadding','4' ) :attr('cellspacing','0') :cssText(standardtablecss) local tRow=tab:tag('tr'):css('background-color',backgroundColor) :css('text-align','center'):css('color', 'inherit') tRow:tag('th'):css('white-space','nowrap') :wikitext(((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "").. translate("headoftable",1,w_race)) if displaytypeofstage==true then tRow:tag('th') end for v in itercolumns(columntable) do if v.used == true then if v.jersey == '' then v.jersey = "_" end tRow:tag('th'):wikitext(v.name.."<br />"..v.jersey) end end local style --then fill the table for ii, v in pairs(stageinfotable) do --one stage=one row --stages link tRow=tab:tag('tr') local tCell=tRow:tag('td') if ii==#stageinfotable then tCell:attr('colspan','2'):cssText('font-weight:bold; border-top: 2px black solid;') end tCell:wikitext(v.sLink) if displaytypeofstage == true then tCell=tRow:tag('td') if ii==#stageinfotable then --general row tCell:cssText('font-weight:bold; border-top: 2px black solid;') end if v.sType then tCell:wikitext(v.sType) --picture type of stage end end --add winners for y in itercolumns(columntable) do if y.used==true and not (ii==#stageinfotable and columntable['Q20882747']==y) then --only display used QID if type(y[ii]["leader"])=="string" and type(y[ii]["rowspan"])=="number" then --actually check nil but it is a table style="" if y[ii]["rowspan"]~=0 and (columntable['Q20882747']==y)==false then if ii~=1 and ii~=#stageinfotable then style=style.." border-top:1px gray solid;" end if y.bg_color then style=style.." background-color:"..y.bg_color..";" end if ii==#stageinfotable then style=style.."font-weight:bold; border-top: 2px black solid;" end tRow:tag('td'):attr('rowspan',tostring(y[ii]["rowspan"])):cssText(style):wikitext(y[ii]["leader"]) elseif (columntable['Q20882747']==y) then --no rowspan for stages tRow:tag('td'):wikitext(y[ii]["leader"]) end else tCell=tRow:tag('td') if ii~=#stageinfotable and v.somewinner==true then tCell:wikitext(translate("listofstagesclassification",1,w_race)) --not attributed elseif ii~=#stageinfotable then --empty elseif v.somewinner==true then --general row tCell:cssText('border-top: 2px black solid') :wikitext(translate("listofstagesclassification",1,w_race)) --not attributed else tCell:cssText('border-top: 2px black solid') --empty end end end end end return tab end --M) Start list function p.startlist(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "startlist", header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {2, 3,4,5}, item=tempID, title="Start list", data_sort_type={'unsortable', 'unsortable', 'unsortable'}, property ='P710', no_roll_startlist=no_roll_startlist, w_race=w_race, lf=lf } local resultTable, tag = tableB(s) return startlist_main(s, resultTable, tag) end function p.startlisttable(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "startlisttable", header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {2, 3,4,5},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order item=tempID, title="Start list", -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. no_country ={'fr'}, data_sort_type={'', '', ''}, property ='P710', no_roll_startlist=no_roll_startlist, w_race=w_race, lf=lf } return startlisttable_main(s, tableA(s)) end local function startlist_sub(p710, timeOfRace, WDlink_on, istable,w_race) --Return a table containing a row for the selected rider and their associated team, link, etc local h = {} local tBody = '' --row in our case local riderID, riderTeamLink, riderTeamID, riderDossard, riderLink, riderRank local q, gender, riderTeamCode, riderDNF, DSQ, catID, countryID, national_team_boolean riderID = p710.mainsnak.datavalue.value.id q= p710.qualifiers riderLink= getRiderLink(riderID, timeOfRace) if WDlink_on then riderLink=riderLink..wdLink(riderID) end if q and q.P1618 and q.P1618[1].snaktype == 'value' then riderDossard = q.P1618[1].datavalue.value or '' else riderDossard = '' end riderDNF='' riderRank = '' DSQ='' if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking riderRank = tonumber(q.P1352[1].datavalue.value.amount) --look for DSQ-- DSQ=isdisqualified(p710, q) else --look for DNF... if q and q.P1534 and q.P1534[1].snaktype == 'value' then local dnf=q.P1534[1].datavalue.value.id if dnf=='Q1210380' then riderDNF =translate("startlist",6,w_race)--"HD","NP","DQ" elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,w_race) elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,w_race) elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,w_race) else riderDNF='' end if q.P1545 and q.P1545[1].snaktype == 'value' then local stageofdnf=q.P1545[1].datavalue.value if stageofdnf and string.len(stageofdnf)>1 then riderDNF='<small>'..riderDNF.."-"..stageofdnf..'</small>' else riderDNF=riderDNF.."-"..stageofdnf end end end end h = { jersey = {}, -- lots of jerseyID value = {'', '', '', ''} -- points, time, time_gap, speed } if q and q.P2912 then -- P2912 is distinctive jersey for _, v in pairs(q.P2912) do if v.snaktype == 'value' then table.insert(h.jersey, v.datavalue.value.id) end end end if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then --[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]] gender = getGenderCode(riderID, 'n') end local countryID = getNationality(riderID, timeOfRace,q) local uciCode='' local jerseytemp='' if countryID then if wiki ~= "ar" then uciCode=uciCodeCountry(countryID) end riderLink = flag(countryID, timeOfRace) ..' '.. riderLink end if h.jersey[1] then jerseytemp=champtitle(h.jersey) -- champtitle manages also the jersey end riderTeamLink, riderTeamID, catID, countryID = getTeam(riderID, timeOfRace, q) riderTeamID=seasonToTeamID(riderTeamID) riderTeamCode= getTeamCode(riderID, timeOfRace, q) --Custom display for national selection if data.natTeamCats[catID] and countryID then if riderTeamCode and wikibase.getSitelink(countryID) then --for the refugee case riderTeamCode='[['..wikibase.getSitelink(countryID)..'|'..riderTeamCode..']]' end riderTeamLink=flag(countryID, timeOfRace)..' '..riderTeamLink else --for non national selection display "ridername (FRA)"" riderLink =riderLink..uciCode end riderLink =riderLink..jerseytemp local sortkey = riderDossard == "" and 0 or tonumber(riderDossard) tBody = mw.html.create('tr'):cssText("line-height: 1.8em; padding: 5px;") tBody:tag('td'):cssText("text-align:right;padding:0 0.5em"):wikitext(riderDossard) tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(riderLink) local td_css = "text-align:left;padding:0 0.5em" if wiki == "ar" then td_css = "text-align:right;padding:0 0.5em" end if istable then tBody:tag('td'):cssText(td_css):wikitext(riderTeamLink or "") end tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(number(gender,riderRank,wiki)..riderDNF) --table.insert(resultTable, ) return {sortkey=sortkey, riderTeamLink=riderTeamLink,riderTeamID=riderTeamID,riderTeamCode=riderTeamCode, body=tBody} end function startlist_main(s, resultTable, tag) local ridertable, DStable, subtable = {}, {}, {} local DSID, DSLink, DSteamID, DSteam local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru") local timeOfRace=getTimeOfRace(s.item) local w_race=isWomenrace(s.item) for _,p286 in statements(s.item, 'P286') do--look for DS DSID = p286.mainsnak.datavalue.value.id DSLink= getRiderLink(DSID, timeOfRace) DSteamID=nil q= p286.qualifiers if q.P6087 and q.P6087[1].snaktype == 'value' then --coach of sports team DSteamID=q.P6087[1].datavalue.value.id elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback DSteamID=q.P642[1].datavalue.value.id end if DSteamID then DSteamID=seasonToTeamID(DSteamID) end table.insert(DStable, {DSLink=DSLink, DSteamID=DSteamID}) end for _, p710 in statements(s.item, 'P710') do -- P710 is participants table.insert(ridertable, startlist_sub(p710, timeOfRace, WDlink_on, false,w_race)) end table.sort(ridertable, function(a, b) --sort by team and then by bib and then by team if a['sortkey'] ~= b['sortkey'] then --sort by bib return a['sortkey'] < b['sortkey'] else return (a['riderTeamCode'] or 'a') < (b['riderTeamCode'] or 'a') --order does not matter for nil end end) local thisTableRow, thisTeamTable, thisDS, insideTable, test local tSubtitle, tTitle if wiki == "ar" then tSubtitle=mw.html.create('tr') tSubtitle:tag('td'):attr('width','30px') :css("align:right;text-align:right") :wikitext(translate("startlist",2,w_race)) tSubtitle:tag('td'):attr('width','200px') :css("align:right;text-align:right") :wikitext(translate("startlist",3,w_race)) tSubtitle:tag('td'):attr('width','85px') :css("align:right;text-align:right") :wikitext(translate("startlist",4,w_race)) else tSubtitle=mw.html.create('tr') tSubtitle:tag('td'):attr('width','30px'):wikitext(translate("startlist",2,w_race)) tSubtitle:tag('td'):attr('width','250px'):wikitext(translate("startlist",3,w_race)) tSubtitle:tag('td'):attr('width','35px'):wikitext(translate("startlist",4,w_race)) end --look for transition between teams local numberofteam=0 local tDS if #ridertable==0 then--empty table return nil else for ii=1,#ridertable do --new team if not (ii~=1 and ridertable[ii].riderTeamID==ridertable[ii-1].riderTeamID) or ii==1 then --ridertable[ii].riderTeamID and if thisDS and ii~=1 then tDS=insideTable:tag('tr') tDS:tag('td'):attr('colspan','3'):attr('align','center') :wikitext(translate("startlist",5,w_race).." "..thisDS) thisDS=nil end numberofteam=numberofteam+1 if math.fmod(numberofteam, 3 )==1 then if ii~=1 then tag:node(thisTableRow) --a row with 3 tables inside, save and re-init end thisTableRow=mw.html.create('tr') end thisTeamTable= thisTableRow:tag('td'):cssText("width:33%;"):attr('valign','top') insideTable=thisTeamTable:tag('table') --reinit :attr('cellpadding','4') --solid var(--border-color-subtle, #c8ccd1) :attr('background-color','var(--background-color-base, #fff)') :attr('color', 'inherit') :attr('margin', '0 0 0.5em 0') :attr('padding','5px') :attr('float','left') :attr('text-align',textalign) :attr('line-height','1.8em') :attr('clear',floattable) tTitle = mw.html.create('tr') :css("background-color",backgroundColor) :css('color', 'inherit') :attr('align','center') local tCell=tTitle:tag('th'):attr('colspan','3') tCell:tag('big'):wikitext((ridertable[ii].riderTeamLink or translate("startlist",13,w_race)).."<br/>"..(ridertable[ii].riderTeamCode or "___")) insideTable:node(tTitle) insideTable:node(tSubtitle) tDS=nil --look for the DS of this team for _,v in pairs(DStable) do if v.DSteamID==ridertable[ii].riderTeamID then if not thisDS then thisDS=v.DSLink else thisDS=thisDS..", "..v.DSLink end end end end --add the rider, also for old team insideTable:node(ridertable[ii].body) end --last DS if thisDS then tDS=insideTable:tag('tr') tDS:tag('td'):attr('colspan','3'):attr('align','center') :wikitext(translate("startlist",5,w_race).." "..thisDS) end tag:node(thisTableRow) return resultTable end end local KeytoRiderRankingCode={ ["women"]= 2, ['WWT']= 3, ['WWC']= 4, ["UWT"]= 5, ["europe"]= 6, ["asia"]= 7, ["oceania"]=8, ["america"]=9, ["africa"]= 10, ["WR"]= 11, ["WC"]= 12, ["UPT"]= 13, --WC is world calendar here ["UCImen"]= 14, ["WCmen"]= 15, --UCImen = UCI ranking 1984-2004, WC= World cup men ["Pernod"]= 16, ["Desgrange"]=17, } function startlisttable_main(s, resultTable) local t_Body = {} local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru") local timeOfRace=getTimeOfRace(s.item) for _, p710 in statements(s.item, 'P710') do -- P710 is participants table.insert(t_Body, startlist_sub(p710, timeOfRace, WDlink_on, true)) end return sortAndConcat(t_Body, resultTable) end -- N) Rider ranking local function checkminmaxyear(minmaxyear,thisyear) if minmaxyear.minimum ==0 or thisyear<minmaxyear.minimum then minmaxyear.minimum=thisyear end if minmaxyear.maximum==0 or thisyear>minmaxyear.maximum then minmaxyear.maximum=thisyear end return minmaxyear end function p.riderranking(frame) local tempID, lf=get_and_checkID(frame) local s = { item = tempID, lf=lf } return riderranking_main(s) end local function checkWorldTourTeam(itemID,year) local thisdate='+'..tostring(year).."-07-01T00:00:00Z" local catID for _, s in statements(itemID, 'P54') do p54 =checktime(s, s.qualifiers, thisdate) --present Team if p54 then teamId= p54.mainsnak.datavalue.value.id _, catID=getTeamLinkCat(teamId, thisdate) if catID=="Q6154783" or catID=="Q20638319" then return true end end end return false end local function ranking_legend() local UCIlink, legend if wiki=="fr" then UCIlink="https://www.uci.org/fr/route/classements" --see also https://dataride.uci.org/iframe/Rankings/10/ legend= " Légende : nc = non classé" else UCIlink="https://www.uci.org/road/rankings" legend="" end return UCIlink, legend end local function riderranking_sub(w_race) local listofcalendar=data.listofmencalendar if w_race then listofcalendar=data.listofwomencalendar end local UCIQtoYear={} for k,v in pairs(data.UCIYearToQ) do UCIQtoYear[k]={} for kk, vv in pairs(v) do UCIQtoYear[k][vv]=kk --calendar/Q = year end end return listofcalendar, UCIQtoYear end function riderranking_main(s) local lf=s.lf local thisCompetition, rank, thisyear, sitelink, q, gender, DSQ local calendarlistpresent={} local gender=getGenderCode(s.item, 'm') local w_race=false if gender=="f" then w_race=true end local minmaxyear= { minimum = 0, maximum = 0 } local listofcalendar, UCIQtoYear=riderranking_sub(w_race) local resultTable={} for ii=1900,2100,1 do resultTable[tostring(ii)]={} for _, calendar in pairs(listofcalendar) do resultTable[tostring(ii)][calendar]={} end end --build the table for _, p1344 in statements(s.item, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id for _, calendar in pairs(listofcalendar) do if UCIQtoYear[calendar][thisCompetition] then thisyear=UCIQtoYear[calendar][thisCompetition] minmaxyear=checkminmaxyear(minmaxyear,thisyear) q = p1344.qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank resultTable[thisyear][calendar]["rank"] = tostring(tonumber(q.P1352[1].datavalue.value.amount)) --without the tonumber, there can be +1 instead of 1 resultTable[thisyear][calendar]["DSQ"] = isdisqualified(p1344, q) or "" calendarlistpresent[calendar]=true sitelink=mw.wikibase.getSitelink(thisCompetition) resultTable[thisyear][calendar]["sitelink"]=sitelink end end end end --display result if minmaxyear.minimum~=0 then local finalTable =mw.html.create('table'):attr('cellspacing','0') :attr("align","center"):cssText("text-align:center; border: 1px solid #999; line-height: 1.8em;") local wdLin = wdLink(string.gsub(s.item, '%s', '') .. "#P1344") local tRow= finalTable:tag('tr'):tag('th') :css("background-color",backgroundColor) :css('color', 'inherit') :wikitext(wdLin..' '..translate("riderranking",1,w_race)) --year for ii=minmaxyear.minimum,minmaxyear.maximum,1 do tRow:tag('th'):attr("width","50px") :css('background-color',backgroundColor) :css('color', 'inherit') :css("text-align","center") :css("padding","1px 1px") :wikitext(tostring(ii)) end for _, calendar in pairs(listofcalendar) do if calendarlistpresent[calendar] then sitelink=mw.wikibase.getSitelink(data.UCImaster[calendar]) local tRow=finalTable:tag('tr') local tCell = tRow:tag('th'):cssText("text-align:" .. textalign .. ";") -- left local calendar_name=translate("riderranking",data.KeytoRiderRankingCode[calendar],w_race) if sitelink then tCell:wikitext('[['..sitelink..'|'..calendar_name..']]') else tCell:wikitext(calendar_name) end for yy=minmaxyear.minimum,minmaxyear.maximum,1 do thisyear=tostring(yy) color="white" local impossible=false --we need to check the impossibility here, as it is impossible even if nothing is in P1344 if data.continental_calendar[calendar] then --between 2005 and 2015 WorldTour team member cannot score by continental calendars. if tonumber(thisyear)>=2005 and tonumber(thisyear)<=2015 then if checkWorldTourTeam(s.item,thisyear) then impossible=true end --between 2016 and 2018 no contradiction --after 2019, it depends on the nationality elseif tonumber(thisyear)>=2019 then local countryID=getNationality(s.item,'+'..tostring(year).."-07-01T00:00:00Z") if data.continental_calendar[calendar] and not data.continental_calendar[calendar][countryID] then impossible=true end end elseif calendar=="UWT" then --non member of World Tour team cannot point in the WT if tonumber(thisyear)>=2005 and tonumber(thisyear)<=2015 then if not checkWorldTourTeam(s.item,thisyear) then impossible=true end end end if resultTable[ thisyear][calendar]["rank"] or impossible then if impossible then tRow:tag('td'):css('background-color',backgroundColorLight):css('color', 'inherit') else if resultTable[thisyear][calendar]["rank"]=="1" then color="gold" elseif (2<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=3) then color="YellowGreen" elseif (4<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=10) then color="silver" end tCell=tRow:tag('td'):attr("bgcolor",color):cssText(resultTable[thisyear][calendar]["DSQ"]) local rank=tonumber(resultTable[thisyear][calendar]["rank"]) rank=number(gender,rank,wiki) if resultTable[thisyear][calendar]["sitelink"] then tCell:wikitext('[['..resultTable[thisyear][calendar]["sitelink"]..'|'..rank..']]') else tCell:wikitext(rank) end end --this ranking exist for this year, but the rider is not ranked elseif yy>=data.UCIcalendarstartend[calendar].b and (data.UCIcalendarstartend[calendar].e==0 or yy<=data.UCIcalendarstartend[calendar].e) then if wiki=="fr" then tRow:tag('td'):wikitext(' nc ') else tRow:tag('td'):wikitext(' - ') end --this ranking does not exist for this year else tRow:tag('td'):css('background-color',backgroundColorLight):css('color', 'inherit') end end end end local tableyearsize=minmaxyear.maximum-minmaxyear.minimum+2 local UCIlink, legend=ranking_legend() finalTable:tag('tr'):tag('td'):addClass("navigation-only") :attr('colspan',tostring(tableyearsize)) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") tCell=finalTable:tag('tr'):tag('td'):attr('colspan',tostring(tableyearsize)) :tag('small') tCell:tag('span'):css("float","left") :wikitext(legend) tCell:tag('span'):css("float","right") :wikitext(translate("race_reference", 1,w_race).."["..UCIlink..' UCI]') return finalTable end end function p.teamranking(frame) local tempID, lf=get_and_checkID(frame) local calendar_key=get_arg(2,frame) if not calendar_key or calendar_key == "" then return "" end local w_race=false if calendar_key=="women" or calendar_key=="WWT" or calendar_key=="WWC" then w_race=true end local s = { header_function = "riderranking", header_1 = data.KeytoRiderRankingCode[calendar_key] or 1, header_2 = {1, 18, 19}, property="P527", data_sort_type = {'unsortable', 'unsortable', 'unsortable'}, item = tempID, calendar_key=calendar_key, lf=lf, w_race=w_race } return teamranking_main(s,tableA(s)) end local function get_teamranking(seasonID, w_race, UCIQtoYear,listofcalendar, tTable,gender) --fill resultTable local done, thisyear, q, done, rider, riderLink, countryID, rank, thisdate, teamrank for _, p1344 in statements(seasonID, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id for _, calendar in pairs(listofcalendar) do if UCIQtoYear[calendar][thisCompetition] then thisyear=UCIQtoYear[calendar][thisCompetition] thisdate='+'..tostring(thisyear).."-07-01T00:00:00Z" rank=nil if tTable[calendar] then tTable[calendar][thisyear]={} else error("tTable badly initialized") end q = p1344.qualifiers done=false --get team rank local suffix="" if calendar== "UCImen" then --case of GSI (Q20653563), GSII (Q20653564) and GSIII (Q20653566) propertyOf_id=nil if q and q.P279 and q.P279[1].snaktype == 'value' then propertyOf_id=q.P279[1].datavalue.value.id elseif q and q.P642 and q.P642[1].snaktype == 'value' then propertyOf_id=q.P642[1].datavalue.value.id end if propertyOf_id=="Q20653564" then suffix=" (GSII)" elseif propertyOf_id=="Q20653566" then suffix=" (GSIII)" end end if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank teamrank= tonumber(q.P1352[1].datavalue.value.amount) tTable[calendar][thisyear]["teamrank"]=number(gender,teamrank,wiki)..suffix done=true end --get best rider rank if q and q.P1545 and q.P1545[1].snaktype == 'value' then --participant rank = tostring(tonumber(q.P1545[1].datavalue.value)) done=true end --get best rider if q and q.P710 and q.P710[1].snaktype == 'value' then --participant rider = q.P710[1].datavalue.value.id riderLink = getRiderLink(rider, thisdate) countryID = getNationality(rider, thisdate) if countryID then riderLink = flag(countryID, thisdate) .. ' ' .. riderLink end if rank then rank=number(gender,tonumber(rank),wiki) riderLink=riderLink.." ("..rank..")" end tTable[calendar][thisyear]["rider"]=riderLink done=true end sitelink=mw.wikibase.getSitelink(thisCompetition) tTable[calendar][thisyear]["sitelink"]=sitelink end end end return tTable end function teamranking_main(s, resultTable) local lf=s.lf local t_Body = {} local gender="m" if s.w_race then gender="f" end --init, reverse UCIQtoYear local UCIQtoYear={} UCIQtoYear[s.calendar_key]={} if data.UCIYearToQ[s.calendar_key] then local v=data.UCIYearToQ[s.calendar_key] for kk, vv in pairs(v) do UCIQtoYear[s.calendar_key][vv]=kk end end local tTable={} tTable[s.calendar_key]={} for ii, p527 in statements(s.item, "P527") do tTable=get_teamranking(p527.mainsnak.datavalue.value.id, w_race, UCIQtoYear,{s.calendar_key}, tTable,gender) end local t=tTable[s.calendar_key] if t then for thisyear, v in pairs(t) do local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 0.5em;") local tCell=tRow:tag('td'):css("text-align",textalign) if v["sitelink"] then tCell:wikitext('[['..v["sitelink"]..'|'..thisyear..']]') else tCell:wikitext(thisyear) end if v["teamrank"] then tRow:tag('td'):wikitext(v["teamrank"]):css("text-align","center") else tRow:tag('td'):wikitext(" - "):css("text-align","center") end if v["rider"] then tRow:tag('td'):wikitext(v["rider"]) else tRow:tag('td'):wikitext(" - ") end table.insert(t_Body, {sortkey=thisyear, body=tRow}) end end resultTable=sortAndConcat(t_Body, resultTable) local UCIlink, _=ranking_legend() local tRow=resultTable:tag('tr') tRow:tag('td'):addClass("navigation-only") :attr('colspan',tostring(3)) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") tRow=resultTable:tag('tr') local tCell=tRow:tag('td'):attr('colspan',tostring(3)):tag('small') tCell:tag('span'):css("float","right") :wikitext(translate("race_reference", 1,w_race).."["..UCIlink..' UCI]') return resultTable end local function toboolean(str) if str=="true" then return true elseif str=="false" then return false else return str end end --=== O) Rider infobox local function convertDate(date1, beginOrEnd, initialYear, finalYear) if not date1 then if beginOrEnd==0 then --begin y1=tostring(initialYear) m1="01" d1="01" else y1=tostring(finalYear) m1="12" d1="31" end else _, _, y1,m1,d1 = string.find(date1, "(%d+)-(%d+)-(%d+)") if m1 ==nil or m1=="00" then if beginOrEnd==0 then --begin m1="01" d1="01" else--end m1="12" d1="31" end end end return '+'..y1.."-"..m1.."-"..d1.."T00:00:00Z" end local function listofTeam(itemID, initialYear, finalYear, PID) --first we have to read P54 of the rider --alternative P6087 for managed team local riderteam={} local stagiaire --initially initialYear is the birthyear of the rider --end year is now +10 years, or the death date --let's reduce the range (note: it may be slightly over-engineered, maybe it can be deleted and just assume 10 years in the future is sufficient) local today=os.date("*t") local t1=tonumber(today['year']) local t2=math.min(finalYear, tonumber(today['year'])) local t_initialYear=t1 local t_finalYear=t2 for ii, p54 in statements(itemID, PID) do --itemID loaded in presentTeam local q = p54.qualifiers if q then local sTime, eTime=getStartEndfromQuali(q) --min/max if sTime then y=tonumber(string.sub(sTime, 2, 5)) if y < t_initialYear then t_initialYear=y end if y>t_finalYear then t_finalYear=y end end if eTime then y=tonumber(string.sub(eTime, 2, 5)) if y < t_initialYear then t_initialYear=y end if y>t_finalYear then t_finalYear=y end end end end if t_initialYear~=t1 then initialYear=t_initialYear end if t_finalYear~=t2 then finalYear=t_finalYear end for ii, p54 in statements(itemID, PID) do --itemID loaded in presentTeam if p54 then teamId=p54.mainsnak.datavalue.value.id else teamId=nil end local q = p54.qualifiers if q then local sTime, eTime=getStartEndfromQuali(q) sTime=convertDate(sTime, 0, initialYear, finalYear) eTime=convertDate(eTime, 1, initialYear, finalYear) if q.P39 and q.P39[1] and q.P39[1].snaktype == 'value' then stagiaire = q.P39[1].datavalue.value else stagiaire = nil end dis=checkDis(q) table.insert(riderteam,{teamId=teamId, startTime=sTime, endTime=eTime, stagiaire=stagiaire, dis=dis}) end end return riderteam, initialYear, finalYear end --format the date for display of the team local function riderFormatDate(thisDate) if thisDate=='' then return '' else local month=math.ceil(thisDate['month']/2) if month==12 or month==1 then return thisDate['year'] else local date1='+'..thisDate['year'].."-"..month.."-".."01".."T00:00:00Z" -- local newobj = Complexedate.splitDate(date1) if month == 0 or month==nil then return thisDate['year'] else return month..'.'..thisDate['year'] end end end end local function getTeamInfo(teamId,mm,yy,dd,managedTeam) --get the nature and name of the team for the date mm,yy mm=tostring(mm) yy=tostring(yy) dd=tostring(dd) if mw.ustring.len(mm)==1 then mm='0'..mm end if mw.ustring.len(dd)==1 then dd='0'..dd end thistime='+'..yy.."-"..mm.."-"..dd.."T00:00:00Z" local sitelink, teamNature=getTeamLinkCat(teamId, thistime, false) local cat, boolean if managedTeam then cat=data.nationalcat else cat=data.amateurcat end if cat[teamNature] then --club boolean=true--amateur / national selection else boolean=false--pro / not national selection end return boolean, sitelink end --for managed team, the table should be splat, as we can be national trainer and team trainer at the same time local function analyzeManagedTeam(teamRider, initialYear,finalYear) local natTeamOut, managedTeamOut={},{} local dis="road" local managedTeam=true for i=1,24 do --init table natTeamOut[i]={} managedTeamOut[i]={} for j=initialYear,finalYear do natTeamOut[i][j]={ amateurTeam, link, stagiaire=nil} managedTeamOut[i][j]={amateurTeam,link, stagiaire=nil} end end local teamId, natTeam, sitelink local sYear, sMonth,eYear, eMonth, sDay, eDay if teamRider==nil then return nil end for _, v in pairs(teamRider) do --for each team where was the rider if v['dis']==dis then --exception managed at the reading _, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)") _, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)") sYear=tonumber(sYear) sMonth=tonumber(sMonth) eYear=tonumber(eYear) eMonth=tonumber(eMonth) if sYear<=eYear then --test of congruence for yy=sYear,eYear do for mm=1,12 do local mmindex=(mm-1)*2+1 --avoid reading info where the team is not the one of the rider getinfo=true if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then getinfo=false end if getinfo then if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam) if natTeam then natTeamOut[mmindex+1][yy]['amateurTeam']=true natTeamOut[mmindex+1][yy]['link']=sitelink else managedTeamOut[mmindex+1][yy]['amateurTeam']=false managedTeamOut[mmindex+1][yy]['link']=sitelink end else natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam) if natTeam then natTeamOut[mmindex][yy]['amateurTeam']=true natTeamOut[mmindex][yy]['link']=sitelink if natTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) natTeamOut[mmindex+1][yy]['amateurTeam']=true --a nat team stays a nat team natTeamOut[mmindex+1][yy]['link']=sitelink end else managedTeamOut[mmindex][yy]['amateurTeam']=false managedTeamOut[mmindex][yy]['link']=sitelink if managedTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) managedTeamOut[mmindex+1][yy]['amateurTeam']=false --a nat team stays a nat team managedTeamOut[mmindex+1][yy]['link']=sitelink end end end end end end end end end return natTeamOut, managedTeamOut --a filled matrix with the link and nature of the teams end local function analyzeTeam(teamRider, initialYear,finalYear, dis) local teamOut={} local managedTeam=false for i=1,24 do --init table teamOut[i]={} for j=initialYear,finalYear do teamOut[i][j]={ amateurTeam, link, stagiaire} end end local teamId, amateurTeam, sitelink local sYear, sMonth,eYear, eMonth, sDay, eDay if teamRider==nil then return nil end for _, v in pairs(teamRider) do --for each team where was the rider if v['dis']==dis then --exception managed at the reading _, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)") _, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)") sYear=tonumber(sYear) sMonth=tonumber(sMonth) eYear=tonumber(eYear) eMonth=tonumber(eMonth) if sYear<=eYear then --test of congruence for yy=sYear,eYear do for mm=1,12 do local mmindex=(mm-1)*2+1 --avoid reading info where the team is not the one of the rider getinfo=true if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then getinfo=false end if getinfo then if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam) teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam teamOut[mmindex+1][yy]['link']=sitelink teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire'] else amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam) teamOut[mmindex][yy]['amateurTeam']=amateurTeam teamOut[mmindex][yy]['link']=sitelink teamOut[mmindex][yy]['stagiaire']=v['stagiaire'] if teamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam teamOut[mmindex+1][yy]['link']=sitelink teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire'] end end end end end end end end return teamOut --a filled matrix with the link and nature of the teams end local function insertTeam(teamAmateur,teamPro,sDate,eDate,v) local sDate2=riderFormatDate(sDate) local eDate2=riderFormatDate(eDate) local ins = {link=v['link'], sDate=sDate2,eDate=eDate2,stagiaire=v['stagiaire']} if v['amateurTeam'] then table.insert(teamAmateur,ins) else table.insert(teamPro,ins) end return teamAmateur,teamPro end local function synthetizeTable(analyzedTeam, initialYear,finalYear) local teamPro, teamAmateur, tempTeam, tempsDate, tempeDate={}, {},{},{},{} local empty=true local active=false --bring together successive month with identical content for yy=initialYear,finalYear do for mm=1,24 do local v=analyzedTeam[mm][yy] if v['amateurTeam']~=nil then if empty then --first line active=true empty=false tempTeam=v tempsDate['month']=mm tempsDate['year']=yy else if tempTeam['amateurTeam']==v['amateurTeam'] and tempTeam['link']==v['link'] and tempTeam['stagiaire']==v['stagiaire'] then --no change if yy==finalYear and mm==24 then--present team teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,'',tempTeam) end else--change --save the old if active then --if active false then it was already saved if mm==1 then tempeDate['year']=yy-1 tempeDate['month']=24 else tempeDate['year']=yy tempeDate['month']=mm-1 end teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam) end --save the new active=true tempTeam=v tempsDate['month']=mm tempsDate['year']=yy end --change end--first line elseif active then --there was a team and now there is an empty period active=false --save the old if mm==1 then tempeDate['year']=yy-1 tempeDate['month']=24 else tempeDate['year']=yy tempeDate['month']=mm-1 end teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam) tempTeam['link']=nil --avoid problem if the rider comes back in the same team end end-- for mm end--for yy return teamAmateur,teamPro end local function listOfManagedTeamTable(itemID, initialYear,finalYear) local managedTeamRider, initialYear, finalYear = listofTeam(itemID, initialYear,finalYear,'P6087')--raw list of team if not managedTeamRider then return nil, nil end local natTeamOut, managedTeamOut=analyzeManagedTeam(managedTeamRider, initialYear,finalYear) --table with links and nature of teams local nationalTeam,_=synthetizeTable(natTeamOut, initialYear,finalYear) local _,managedTeam=synthetizeTable(managedTeamOut, initialYear,finalYear) return nationalTeam,managedTeam end local function listOfTeamTable(itemID, initialYear,finalYear) local teamRider, initialYear, finalYear = listofTeam(itemID, initialYear,finalYear,'P54')--raw list of team if not teamRider then return nil, nil end local analyzedTeam1=analyzeTeam(teamRider, initialYear,finalYear, "road") --table with links and nature of teams local teamAmateur,teamPro=synthetizeTable(analyzedTeam1, initialYear,finalYear) --table formated, global local analyzedTeam2=analyzeTeam(teamRider, initialYear,finalYear, "mountainBike") local _, teamMountainBike=synthetizeTable(analyzedTeam2, initialYear,finalYear) local analyzedTeam3=analyzeTeam(teamRider, initialYear,finalYear, "cycloCross") local _, teamCycloCross=synthetizeTable(analyzedTeam3, initialYear,finalYear) local analyzedTeam4=analyzeTeam(teamRider, initialYear,finalYear, "track") local _, teamTrack=synthetizeTable(analyzedTeam4, initialYear,finalYear) return teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack end local function getBirthDeathDate(entityID, display_age) local birthDate=firstValue(entityID, 'P569', 'time') local deathDate=firstValue(entityID, 'P570', 'time') local temp2, temp3, birth, death, initialYear, finalYear, age local gender=getGenderCode(entityID, 'm') local w_race=false if gender=="f" then w_race=true end if birthDate then local birthDateFormatted= funcDate(birthDate, 'long') age, initialYear, finalYear=calculateAge(birthDate) local birthPlace = firstValue(entityID, 'P19', 'id') local birthPlaceLink='' if birthPlace then birthPlaceLink=getPlaceLink(birthPlace, birthDate) end local plural, gen_singular, gen_plural = plural(age) local ans if gen_singular then ans=translate("riderinfobox",48,w_race) elseif gen_plural then ans=translate("riderinfobox",49,w_race) else ans=translate("riderinfobox",50,w_race) end if not deathDate and display_age~=false then temp2=' ('..tostring(age)..' '..ans..')<br/>' else temp2='<br/>' end birth=birthDateFormatted..temp2..birthPlaceLink else birth=nil end if deathDate then local deathDateFormatted= funcDate(deathDate, 'long') local deathPlace= firstValue(entityID, 'P20', 'id') local deathPlaceLink='' if deathPlace then deathPlaceLink=getPlaceLink(deathPlace, deathDate) end if birthDate then local age=calculateAge(birthDate, deathDate) local plural, gen_singular, gen_plural = plural(age) local ans if gen_singular then ans=translate("riderinfobox",48,w_race) elseif gen_plural then ans=translate("riderinfobox",49,w_race) else ans=translate("riderinfobox",50,w_race) end if display_age==false then temp2='<br/>' else temp2=' ('..tostring(age)..' '..ans..')<br/>' end else temp2='<br/>' end death=deathDateFormatted..temp2..deathPlaceLink else death=nil end return birth, death, initialYear, finalYear end local function presentTeam(itemID) local tToday=os.date("*t") if mw.ustring.len(tToday["month"])==1 then tToday["month"]='0'..tToday["month"] end if mw.ustring.len(tToday["day"])==1 then tToday["day"]='0'..tToday["day"] end local today='+'..tToday["year"].."-"..tToday["month"].."-"..tToday["day"].."T00:00:00Z" local plural=false local teamId, result, teamLink, teamLinkRoad, row for _, s in statements(itemID, 'P54') do p54 =checktime(s, s.qualifiers, today) --present Team if p54 then teamId= p54.mainsnak.datavalue.value.id teamLink=getTeamLinkCat(teamId, today) dis=checkDis(p54.qualifiers) row=nil if dis=='road' then teamLinkRoad=teamLink elseif dis=='mountainBike' then row=teamLink..' ('..translate("riderinfobox",56,w_race)..')' elseif dis=='cycloCross' then row=teamLink..' ('..translate("riderinfobox",57,w_race)..')' else row=teamLink..' ('..translate("riderinfobox",58,w_race)..')' end if row then if not result then result = row else result= result..'<br/>'..row plural = true end end end end if teamLinkRoad and result then --put road first result = teamLinkRoad..' (route)<br/>'..result plural= true elseif teamLinkRoad then result = teamLinkRoad end return result, plural end local function getSomeNames(details,entityID, PID, index, display_language) local rows={} if not details[index].content then local listOfNames=getFormerNames(entityID, PID) if listOfNames then for _, v in pairs(listOfNames) do rows[#rows + 1]=v[3] if v[2] and v[2]~='' then rows[#rows]=rows[#rows]..' <small>('..v[2]..')</small>' end if display_language then rows[#rows]=rows[#rows]..' <b><small>('..v[4]..')</small></b>' end end if #rows>0 then details[index].content = table.concat(rows, '<br/>') end end end end --for wikidata input local function teamTable(tab, teamAmateur, title_singular, title_plural) if teamAmateur and #teamAmateur>0 then if #teamAmateur==1 then tab:node(addATitle(title_singular)) else tab:node(addATitle(title_plural)) end for _, v in pairs(teamAmateur) do local nametemp=v['link'] if v['sDate']==v['eDate'] then periodtemp=v['sDate'] else periodtemp=v['sDate']..'-'..v['eDate'] end if v['stagiaire'] then local stagiaire = string.gsub(getLabelFallback('Q2328847',lang_priority), "%b()", "") nametemp=nametemp..' ('..stagiaire..')' end tab:node(addARow(periodtemp or '',nametemp)) --period, name end end end --for local data local function localTeamTable(tab, names, periods, title_singular, title_plural) if names then names = mw.text.split(names, '<br />') periods = mw.text.split(periods or '', '<br />') if #names==1 then tab:node(addATitle(title_singular)) else tab:node(addATitle(title_plural)) end for i, name in pairs(names) do tab:node(addARow(periods[i] or '', name)) end end end function p.riderinfobox(frame) local WDlink_on = (wiki == "mk" or wiki == "ja") local entityID, lf = get_and_checkID(frame) local gender=getGenderCode(entityID, 'm') local w_race=false if gender=="f" then w_race=true end local details = { { name = translate("riderinfobox",1,w_race), name_plural =translate("riderinfobox",2,w_race)}, -- birth name { name = translate("riderinfobox",3,w_race), name_plural =translate("riderinfobox",4,w_race)}, -- nick name { name = translate("riderinfobox",5,w_race), name_plural =translate("riderinfobox",6,w_race)}, -- official name { name = translate("riderinfobox",7,w_race), name_plural =translate("riderinfobox",8,w_race)}, -- official name { name = translate("riderinfobox",9,w_race) }, -- birth translate("riderinfobox",9) { name = translate("riderinfobox",10,w_race)}, -- death { name = translate("riderinfobox",11,w_race), name_plural =translate("riderinfobox",12,w_race)}, -- country { name = translate("riderinfobox",13,w_race), name_plural =translate("riderinfobox",14,w_race)}, -- present team { name = translate("riderinfobox",15,w_race), name_plural =translate("riderinfobox",16,w_race)}, -- speciality { name = translate("riderinfobox",17,w_race) }, -- lateralisation { name = translate("riderinfobox",18,w_race) }, -- blood group { name = translate("riderinfobox",19,w_race) }, -- height { name = translate("riderinfobox",20,w_race) }, -- weight { name = translate("riderinfobox",21,w_race), name_plural =translate("riderinfobox",22,w_race)}, -- awards } local teams = { { name = translate("riderinfobox",23,w_race), name_plural =translate("riderinfobox",24,w_race)}, -- directed teams { name = translate("riderinfobox",25,w_race)}, -- directed years { name = translate("riderinfobox",26,w_race), name_plural =translate("riderinfobox",27,w_race)}, -- amateur names { name = translate("riderinfobox",28,w_race)}, -- amateur periods { name = translate("riderinfobox",29,w_race), name_plural =translate("riderinfobox",30,w_race)}, -- nonUCI names { name = translate("riderinfobox",31,w_race)}, -- nonUCI periods { name = translate("riderinfobox",32,w_race), name_plural =translate("riderinfobox",33,w_race)}, -- pro names { name = translate("riderinfobox",34,w_race)}, -- pro periods { name = translate("riderinfobox",35,w_race), name_plural =translate("riderinfobox",36,w_race)}, -- UCI names { name = translate("riderinfobox",37,w_race)}, -- UCI periods { name = translate("riderinfobox",52,w_race), name_plural =translate("riderinfobox",53,w_race)}, -- national selections { name = translate("riderinfobox",54,w_race)}, -- national selection years } --separated to have a title local subtitle = { { name = translate("riderinfobox",51,w_race)}, -- insertion of a sub-title } --separated to have a title local victories = { { name = translate("riderinfobox",38,w_race)}, -- main victories } --separated to have a title local medals = { { name = translate("riderinfobox",47,w_race)}, -- main victories } local others = get_others_dic() local name = getLabelFallback(entityID) or '' local display_birthnameastitle=false for _, value in pairs(display_birthnameastitle_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_birthnameastitle=true end end getLocalContent(subtitle, lf.args) if not subtitle[1].content and display_birthnameastitle then local p1477 = mw.wikibase.getBestStatements(entityID, "P1477") if p1477[1] and p1477[1].mainsnak.snaktype == 'value' then subtitle[1].content = p1477[1].mainsnak.datavalue.value.text..' <b><small>('.. p1477[1].mainsnak.datavalue.value.language..')</small></b>' end if not subtitle[1].content then local p1559 = mw.wikibase.getBestStatements(entityID, "P1559") -- P580 is start time if p1559[1] and p1559[1].mainsnak.snaktype == 'value' then subtitle[1].content = p1559[1].mainsnak.datavalue.value.text..' <b><small>('.. p1559[1].mainsnak.datavalue.value.language..')</small></b>' end end end infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(teams, lf.args) getLocalContent(others, lf.args) getLocalContent(victories, lf.args) getLocalContent(medals, lf.args) local listOfBirthNames, listOfNickNames, listOfOfficialNames, listOfShortNames local icon = picto_road local display_language=false for _, value in pairs(display_language_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_language=true end end local display_age=true for _, value in pairs(display_noage_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_age=false end end local display_nickname=true for _, value in pairs(display_nonickname_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_nickname=false end end local display_cm=false for _, value in pairs(display_cm_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_cm=true end end -- getSomeNames(details, entityID, 'P1477', 1, display_language) --birthname --less prio than P1477 if display_nickname then getSomeNames(details, entityID, 'P1559', 1, display_language) --birthname, bis getSomeNames(details, entityID, 'P1449', 2, display_language) --nick name end getSomeNames(details, entityID, 'P1448', 3, display_language) --official name if display_nickname then getSomeNames(details, entityID, 'P1813', 4, display_language) --short name end local birth, death, initialYear, finalYear=getBirthDeathDate(entityID, display_age) if not details[5].content then details[5].content=birth end if not details[6].content then details[6].content= death end local display_flag=false for _, value in pairs(display_flag_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_flag=true end end listWPlinkChrono(details, 7, entityID, {'P1532','P27'}, 'country', initialYear, display_flag) if not details[8].content then local plural details[8].content, plural=presentTeam(entityID) if plural then details[8].name = details[8].name_plural end end --speciality listWPlink(details, 9, entityID, 'P413',false) --lateralisation, for cycling not very interesting --listWPlink(details, 10, entityID, 'P552',false) --blood group, idem --listWPlink(details, 11, entityID, 'P1853',false) --height if not details[12].content then details[12].content=getHeight(entityID, display_cm) end local display_weight=true for _, value in pairs(display_noweight_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_weight=false end end --weight if not details[13].content and display_weight then details[13].content=getWeight(entityID) end --award, should be table --awards look weird --if not details[14].content then -- listWPlink(details, 14, entityID, 'P166',false) --end local amateurTeam, nonUCITeam, proTeam, UCITeam --local data local amateurWD=true local proWD=true local managedWD=true local teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack=listOfTeamTable(entityID, initialYear, finalYear) local nationalTeam, managedTeam=listOfManagedTeamTable(entityID, initialYear, finalYear) local managedTeam_names, managedTeam_periods, amateurTeam_names, amateurTeam_periods local nonUCITeam_names, nonUCITeam_periods, proTeam_names, proTeam_periods local nationalTeam_names, nationalTeam_periods local UCITeam_names, UCITeam_periods if teams[1].content then managedTeam_names=teams[1].content managedTeam_periods=teams[2].content managedWD=false end if teams[3].content then amateurWD=false amateurTeam_names=teams[3].content amateurTeam_periods=teams[4].content end if teams[5].content then amateurWD=false nonUCITeam_names=teams[5].content nonUCITeam_periods=teams[6].content end if teams[7].content then proWD=false proTeam_names=teams[7].content proTeam_periods=teams[8].content end if teams[9].content then proWD=false UCITeam_names=teams[9].content UCITeam_periods=teams[10].content end if teams[11].content then nationalTeam_names=teams[11].content nationalTeam_periods=teams[12].content managedWD=false end --plate and grab tab = infoInitTab("300px", name, icon, 2) if subtitle[1].content then tCell=tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('solid white; text-align:center') :wikitext(subtitle[1].content) end infoFillOthersDetails(tab, others, details,translate("riderinfobox",55,w_race),"260px") if amateurWD then teamTable(tab, teamAmateur, translate("riderinfobox",26,w_race), translate("riderinfobox",27,w_race)) else localTeamTable(tab,amateurTeam_names, amateurTeam_periods, translate("riderinfobox",26,w_race), translate("riderinfobox",27,w_race)) localTeamTable(tab,nonUCITeam_names, nonUCITeam_periods, translate("riderinfobox",29,w_race), translate("riderinfobox",30,w_race)) end if proWD then teamTable(tab, teamPro, translate("riderinfobox",45,w_race),translate("riderinfobox",46,w_race)) teamTable(tab, teamMountainBike, translate("riderinfobox",39,w_race), translate("riderinfobox",40,w_race)) teamTable(tab, teamCycloCross, translate("riderinfobox",41,w_race), translate("riderinfobox",42,w_race)) teamTable(tab, teamTrack, translate("riderinfobox",43,w_race), translate("riderinfobox",44,w_race)) else localTeamTable(tab,proTeam_names, proTeam_periods,translate("riderinfobox",45,w_race), translate("riderinfobox",46,w_race)) localTeamTable(tab,UCITeam_names, UCITeam_periods, translate("riderinfobox",35,w_race), translate("riderinfobox",36,w_race)) end --managed teams if managedWD then teamTable(tab, nationalTeam, translate("riderinfobox",52,w_race), translate("riderinfobox",53,w_race)) teamTable(tab, managedTeam, translate("riderinfobox",23,w_race), translate("riderinfobox",24,w_race)) else localTeamTable(tab,managedTeam_names, managedTeam_periods,translate("riderinfobox",23,w_race), translate("riderinfobox",24,w_race)) end if victories[1].content then tab:node(addATitle(translate("riderinfobox",38,w_race))) tab:tag('tr'):tag('td') :css('vertical-align','top'):attr('colspan','2') :wikitext(victories[1].content) end if medals[1].content then tab:node(addATitle(translate("riderinfobox",47,w_race))) tab:tag('tr'):tag('td') :css('vertical-align','top'):attr('colspan','2') :wikitext(medals[1].content) end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/riderinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --=== P) Team infobox local function get_rider_number(entityID, details, index) if not details[index].content then local riders = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if riders > 0 then local stagiaire = string.gsub(getLabelFallback('Q2328847'), "%b()", "") local nb_stagiaires=0 for ii, p527 in statements(entityID, 'P527') do local q = p527.qualifiers if q and q.P39 and q.P39[1] and q.P39[1].snaktype == 'value' and q.P39[1].datavalue.value=='Q2328847'then nb_stagiaires=nb_stagiaires+1 end end if nb_stagiaires>0 then details[index].content = riders ..' ('.. tostring(nb_stagiaires).." "..stagiaire..')' else details[index].content = riders end end end end function p.teamseasoninfobox(frame) local WDlink_on = (wiki == "mk" or wiki == "ja") local seasonID, lf = get_and_checkID(frame) local w_race=isWomenteam(seasonID) local gender="m" if w_race then gender="f" end local details = { { name = translate("teaminfobox",2,w_race)}, -- sport { name = translate("headoftableII",3,w_race)}, -- team { name = translate("teaminfobox",3,w_race), name_plural = translate("teaminfobox",4,w_race)}, -- type { name = translate("teaminfobox",5,w_race), name_plural = translate("teaminfobox",6,w_race)}, -- UCI-cod { name = translate("teaminfobox",7,w_race), name_plural = translate("teaminfobox",8,w_race)}, -- сountry { name = translate("getSquadTableColumn",7,w_race)}, --team size { name = translate("teaminfobox",13,w_race)}, -- official web site { name = translate("teaminfobox",27,w_race), name_plural = translate("teaminfobox",28,w_race)}, --sponsor { name = translate("teaminfobox",24,w_race), name_plural = translate("teaminfobox",25,w_race) }, -- bike { name = translate("teaminfobox",26,w_race)}, -- budget } local managers ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local others=get_others_dic() infoGetOthers(others, seasonID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) local sport_id=firstValue(seasonID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' local name = getLabelFallback(seasonID) or '' local listOfNames=getFormerNames(seasonID, 'P1448',true) --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end local timeOfRace=getTimeOfRace(seasonID) local initialYear if timeOfRace then initialYear=string.sub(timeOfRace,2,5) else error("no timeOfRace found for "..seasonID) end local sitelink, catID, _=getTeamLinkCat(seasonID, timeOfRace, nil, true) --team if not details[2].content then details[2].content=sitelink end --type listWPlinkChrono(details, 3, seasonID, {'P2094'}, 'rider', initialYear, nil, nil, true) if not details[3].content then --fallback if catID then details[3].content=getRiderLink(catID, timeOfRace) --it is not a rider, but it gives the correct result end end listWPlinkChrono(details, 4, seasonID, {'P1998'}, 'UCIcode', initialYear, nil, true,true) local display_flag=true listWPlinkChrono(details, 5, seasonID, {'P1532','P17'}, 'country', initialYear, display_flag,nil,true) -- number of riders get_rider_number(seasonID, details, 6) -- official site if not details[7].content then details[7].content = officialSite(seasonID) end --Sponsor listWPlinkChrono(details, 8, seasonID, {'P859'}, 'rider', initialYear, nil, nil, true) --bike listWPlinkChrono(details, 9, seasonID, {'P1876'}, 'rider', initialYear, nil, nil, true) --budget if not details[10].content then p=firstValue(seasonID,'P2769') if p and p.mainsnak.snaktype == 'value' then local amount=p.mainsnak.datavalue.value.amount local unit=p.mainsnak.datavalue.value.unit details[10].content=dispmoney(amount, unit) end end local listofcalendar, UCIQtoYear=riderranking_sub(w_race) local tTable={} --no need for year, it is clear for _, calendar in pairs(listofcalendar) do tTable[calendar]={} end --not over-writable presently tTable=get_teamranking(seasonID, w_race, UCIQtoYear,listofcalendar, tTable,gender) --Staff, there can be several -- manager listWPlinkChrono(managers, 1, seasonID, {'P505'}, 'rider', initialYear, nil, nil, true) -- sports director listWPlinkChrono(managers, 2, seasonID, {'P286'}, 'rider', initialYear, nil, nil, true) --Build the table tab = infoInitTab("300px", name, icon, 2) infoFillOthersDetails(tab, others, details, translate("teaminfobox",1,w_race)) --in case there are several names if listOfNames and #listOfNames>1 then --Always display a list of names tab:node(addATitle(translate("teaminfobox",19,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end if managers[1].content or managers[2].content then tab:node(addATitle(translate("teaminfobox",18,w_race))) for _, row in ipairs(managers) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end --Palmares tab:node(addATitle(translate("raceinfobox",20,w_race))) local wins = #wikibase.getAllStatements(seasonID, 'P2522') if wins then tab:node(addARow(translate("victories",2,w_race),tostring(wins))) end for calendar, v_calendar in pairs(tTable) do if v_calendar[initialYear] then local v=v_calendar[initialYear] local calendar_name=translate("riderranking",KeytoRiderRankingCode[calendar],w_race) if v["sitelink"] then tab:node(addATitle('[['..v["sitelink"]..'|'..calendar_name..']]')) else tab:node(addATitle(calendar_name)) end if v["teamrank"] then tab:node(addARow(translate("riderranking",20,w_race),v["teamrank"])) end if v["rider"] then tab:node(addARow(translate("riderranking",21,w_race),v["rider"])) end end end -- an empty line with a title under the form in the form of an image or third-party template if get_arg('jersey',lf) then -- if the jersey is not specified, then the JERSEY header is not displayed tab:node(addATitle(translate("teaminfobox",20,w_race))) local outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','3'):css('text-align','center') tCell:wikitext(get_arg('jersey',lf)) -- adding a form via "argument 2" by an image or an extraneous template tab:node(outTable) end -- adding a link to articles about the last and current seasons (the same as for the race) tab:node(getPreviousNextLine(seasonID)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), seasonID) return tab end function p.teaminfobox(frame) -- If true, winners will have Wikidata logos with link to Wikidata local WDlink_on = (wiki == "mk" or wiki == "ja") local entityID, lf = get_and_checkID(frame) local w_race=isWomenrace(entityID) local tRace = {race={ raceId, raceDate, future, }, } local details = { { name = translate("teaminfobox",2,w_race)}, -- sport { name = translate("teaminfobox",3,w_race), name_plural = translate("teaminfobox",4,w_race)}, -- type { name = translate("teaminfobox",5,w_race), name_plural = translate("teaminfobox",6,w_race)}, -- UCI-cod { name = translate("teaminfobox",7,w_race), name_plural = translate("teaminfobox",8,w_race)}, -- сountry { name = translate("teaminfobox",9,w_race)}, -- creation date { name = translate("teaminfobox",10,w_race)}, -- disparition date { name = translate("teaminfobox",11,w_race)}, -- number of season { name = translate("teaminfobox",13,w_race)}, -- official web site { name = translate("teaminfobox",27,w_race), name_plural = translate("teaminfobox",28,w_race)}, --sponsor { name = translate("teaminfobox",24,w_race), name_plural = translate("teaminfobox",25,w_race) }, -- bike { name = translate("teaminfobox",26,w_race)}, -- budget } local others=get_others_dic() local managers ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local managers_season ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local details_season = { { name = translate("getSquadTableColumn",7,w_race)}, --team size { name = translate("victories",2,w_race)} --number of victories } local name = getLabelFallback(entityID, lang_priority) or '' infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) getLocalContent(managers, lf.args) local listOfNames=getFormerNames(entityID, 'P1448') local sport_id=firstValue(entityID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end local creation=firstValue(entityID, 'P571', 'time') local initialYear=string.sub(creation,2,5) -- type listWPlinkChrono(details, 2, entityID, {'P31'}, 'rider', initialYear)--it is not a rider, but we need link + official name --UCI code listWPlinkChrono(details, 3, entityID, {'P1998'}, 'UCIcode', initialYear, nil, true) -- сountry local display_flag=true listWPlinkChrono(details, 4, entityID, {'P1532','P17'}, 'country', initialYear, display_flag) --creation date if not details[5].content and creation then details[5].content = funcDate(creation, "onlyyear" ) end -- disparition date local disparition=firstValue(entityID, 'P576', 'time') if not details[6].content and disparition then details[6].content = funcDate(disparition,"onlyyear") end --populate tRace listOfWinners(entityID, tRace,true,lf) -- number of season if not details[7].content and tRace.numberOfEditions and tRace.lastEditionYear then details[7].content = tostring(tRace.numberOfEditions).." (" .. translate("teaminfobox",12,w_race) .. " "..tostring(tRace.lastEditionYear)..")" end -- official site if not details[8].content then details[8].content = officialSite(entityID) end --9 is sponsor listWPlinkChrono(details, 9, entityID, {'P859'}, 'rider', initialYear) --10 is bike listWPlinkChrono(details, 10, entityID, {'P1876'}, 'rider', initialYear) --11 budget listWPlinkChrono(details, 11, entityID, {'P2769'}, 'money', initialYear) -- manager listWPlinkChrono(managers, 1, entityID, {'P505'}, 'rider', initialYear) -- sports director listWPlinkChrono(managers, 2, entityID, {'P286'}, 'rider', initialYear) --Build the table tab = infoInitTab("300px", name, icon, 2) --former names wiki_listOfNamesAtBottom={'ru'} local listOfNamesAtBottom = false for _, value in pairs(wiki_listOfNamesAtBottom) do -- if value == wiki then listOfNamesAtBottom = true end end --picture at the top infoFillOthersDetails(tab, others, details, translate("teaminfobox",1,w_race),"260px") if managers[1].content or managers[2].content then tab:node(addATitle(translate("teaminfobox",18,w_race))) for _, row in ipairs(managers) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end if listOfNames and #listOfNames>0 then --Always display a list of names tab:node(addATitle(translate("teaminfobox",19,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end -- an empty line with a title under the form in the form of an image or third-party template if get_arg(2,lf) then -- if the jersey is not specified, then the JERSEY header is not displayed tab:node(addATitle(translate("teaminfobox",20,w_race))) local outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','3'):css('text-align','center') tCell:wikitext(get_arg(2,lf)) -- adding a form via "argument 2" by an image or an extraneous template tab:node(outTable) end -- adding a link to articles about the last and current seasons (the same as for the race) if tRace.lastID then -- manager listWPlinkChrono(managers_season, 1, tRace.lastID, {'P505'}, 'rider', tRace.lastEditionYear, nil, nil, true) -- sports director listWPlinkChrono(managers_season, 2, tRace.lastID, {'P286'}, 'rider', tRace.lastEditionYear, nil, nil, true) get_rider_number(tRace.lastID, details_season, 1) local wins = #wikibase.getAllStatements(tRace.lastID, 'P2522') local today=os.date("*t") if wins and tonumber(tRace.lastEditionYear)==tonumber(today['year']) then --display only if the season if for this year details_season[2].content=tostring(wins) end infoFillOthersDetails(tab, nil, managers_season, translate("teaminfobox",21,w_race),"260px") infoFillOthersDetails(tab, nil, details_season, nil,"260px") local outTable if tRace.lastLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("teaminfobox",22,w_race).. ":<br>'''".. tRace.lastLink.."'''" tCell:wikitext(lastText) tab:node(outTable) end if tRace.nextLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("teaminfobox",23,w_race).. ":<br>'''".. tRace.nextLink.."'''" tCell:cssText("text-align:center"):wikitext(nextText) tab:node(outTable) end end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --== teamriderCompetitionranking function p.teamriderCompetitionranking(frame) local tempID, lf=get_and_checkID(frame) local calendarID local timeOfRace=getTimeOfRace(tempID) local initialYear if timeOfRace then year=string.sub(timeOfRace,2,5) end local header_1_tab = {["UWT"]=13 ,["europe"]=14 ,["asia"]=15,["america"]=16 ,["africa"]=17 ,["oceania"]=18, ["WWT"]=11, ["women"]=1, ["Pro"]=22} local header_1_number = 12 local key=get_arg(2,frame) if key and year then calendarID=data.UCIYearToQ[key][year] header_1_number = header_1_tab[key] end local w_race=isWomenteam(calendarID) if not calendarID or calendarID == "" then return "" end local s = { header_function = "calendar", header_1 =header_1_number, header_2 = {2, 3, 5, 4, 24, 23}, data_sort_type = {'', '','', 'unsortable', '', ''}, property="P1344", calendarID=calendarID, item = tempID, --should be called item for tableA lf=lf, w_race=w_race } return teamriderCompetitionranking_main(s,tableA(s)) end local function get_competition_bestrider(RaceID, seasonID, gender) local riderLink, rank, disqualified, cancelled, q local bold=false for _, p1344 in statements(seasonID, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id if thisCompetition and thisCompetition==RaceID then q = p1344.qualifiers if q then if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank rank= tonumber(q.P1352[1].datavalue.value.amount) if rank==1 then bold=true end rank=number(gender,rank,wiki) end --get best rider if q and q.P710 and q.P710[1].snaktype == 'value' then --participant rider = q.P710[1].datavalue.value.id riderLink = getRiderLink(rider, thisdate) countryID = getNationality(rider, thisdate) if countryID then riderLink = flag(countryID, thisdate) .. ' ' .. riderLink end end _,disqualified=isdisqualified(p1344, q) if riderLink and disqualified==true then riderLink='<s>'..riderLink..'</s>' end end end end return riderLink, rank, bold end function teamriderCompetitionranking_main(s, resultTable)--Display the UCI women calendar of one year local best_rider, rank local lf = s.lf local calendarID=s.calendarID local seasonID= s.item local t_Body ={} local w_race=s.w_race local gender="m" if w_race then gender="f" end local temp=firstValue(calendarID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) ----- Begin of the main part of the code local ind=0 for _, p527 in statements(calendarID, 'P527') do local RaceID = p527.mainsnak.datavalue.value.id local temp=firstValue(RaceID, 'P1346','id') local cancelled=false if temp and temp=='Q30108381' or temp=='Q54806642' or temp=='Q23023872' then --race cancelled cancelled=true else ind=ind+1 end if not cancelled then ---- Create a row ---- local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID) local future=compareDate(timeOfRace) local parentID, race_tCell, _= fn_race(RaceID,nil,false,timeOfRace,nil,country) if race_tCell~=nil then --otherwise the class is not display local country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --create the table local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") tRow:node(date_tCell) tRow:tag('td'):cssText("text-align:center;padding:0 0.5em"):wikitext(tostring(ind)) --correct only if the races are sorted correctly in wikidata tRow:node(country_tCell) if country then tRow:node(race_tCell) end --logic to get the best rider||ranking riderLink, rank, bold=get_competition_bestrider(RaceID, seasonID, gender) local tCell=tRow:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.5em") if riderLink then tCell:wikitext(riderLink) elseif future then tCell:wikitext("") else tCell:wikitext(" - ") end tCell=tRow:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.5em") if bold then tCell:cssText("font-weight:bold;") end if rank then tCell:wikitext(rank) elseif future then tCell:wikitext("") else tCell:wikitext(" - ") end ---- Add the row to the table table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end end end return sortAndConcat(t_Body, resultTable) end --=== Z) Miscellaneous / Other / Tests --[[ Give access to a local variable. Used by other modules. ]] function p.getLocal(name) if name == 'getTeamLinkCat' then return getTeamLinkCat end if name == 'getStatementForTime' then return getStatementForTime end end function p.testlocal(frame) --function to test local functions local function_name=frame.args[1] local argu=frame.args local temp, temp2 if function_name=='firstValue' then return firstValue(argu[2],argu[3],argu[4]) elseif function_name=='getOfficialName' then temp, temp2 =getOfficialName(argu[2],argu[3],argu[4]) return temp elseif function_name=='getRiderLink' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp=getRiderLink(argu[2],arg3) --only first arg returned return temp elseif function_name=='funcDate' then return funcDate(argu[2],argu[3]) elseif function_name=='funcDateFigure' then return funcDateFigure(argu[2],argu[3]) elseif function_name=='getStartEndTime1' then temp, temp2=getStartEndTime(argu[2],argu[3],argu[4]) return temp elseif function_name=='getStartEndTime2' then temp, temp2=getStartEndTime(argu[2],argu[3],argu[4]) return temp2 elseif function_name=='getPeriodSub' then temp, temp2=getPeriodSub(argu[2],argu[3],toboolean(argu[4])) return temp elseif function_name=='getTeam' then temp=getTeam(argu[2],argu[3],argu[4]) if temp then return temp else return 'nil' end elseif function_name=='getStatementForTime' then temp=getStatementForTime(argu[2],argu[3],argu[4]) if temp then return temp.mainsnak.datavalue.value.id else return 'nil' end elseif function_name=='getTeamLinkCat' then temp=getTeamLinkCat(argu[2],argu[3],toboolean(argu[4])) if temp then return temp else return 'nil' end elseif function_name=='getTeamLinkCat2' then temp, temp2=getTeamLinkCat(argu[2],argu[3],toboolean(argu[4])) if temp2 then return temp2 else return 'nil' end elseif function_name=='getPlaceLink' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end return getPlaceLink(argu[2],arg3) elseif function_name=='getPlaceLink2' then return getPlaceLink(argu[2],argu[3],nil,true) elseif function_name=='seasonToTeamID' then if argu[2]=="nil" then arg2=nil else arg2=argu[2] end return tostring(seasonToTeamID(arg2)) elseif function_name=='translate' then return translate(argu[2],tonumber(argu[3]),toboolean(argu[4])) elseif function_name=="classLinkFn" then return classLinkFn(argu[2]) elseif function_name=='raceLink' then return tostring(raceLink(argu[2])) elseif function_name=='getMainRaceLink' then if argu[5]=="nil" then arg5=nil else arg5=argu[5] end if argu[3]=='stage' then arg3='stage' else arg3=tonumber(argu[3]) end return tostring(getMainRaceLink(argu[2],arg3,argu[4], arg5,argu[6])) elseif function_name=='getYear' then return getYear(argu[2]) elseif function_name=='getCountryName' then return tostring(getCountryName(argu[2])) elseif function_name=='getTeamCodeCat' then return tostring(getTeamCodeCat(argu[2],argu[3])) elseif function_name=='getTeamCode' then return tostring(getTeamCode(argu[2],argu[3],argu[4])) elseif function_name=='getCountryBool' then return tostring(getCountryBool({argu[2],argu[3]})) elseif function_name=='WPlinkpure' then return WPlinkpure(argu[2]) elseif function_name=='uciCodeCountry' then return uciCodeCountry(argu[2]) elseif function_name=='isHuman' then return tostring(isHuman(argu[2])) elseif function_name=='isCountry' then return tostring(isCountry(argu[2])) elseif function_name=='isWomenrace' then return tostring(isWomenrace(argu[2])) elseif function_name=='isWomenteam' then return tostring(isWomenteam(argu[2])) elseif function_name=='commaStage' then temp =commaStage(argu[2],argu[3]) return temp["prefix"] elseif function_name=='number' then return number(argu[2],tonumber(argu[3]), argu[4]) elseif function_name=='classToCircuit' then return classToCircuit(argu[2], argu[3], toboolean(argu[5]), nil) elseif function_name=='getGenderCode' then return tostring(getGenderCode(argu[2], argu[3])) elseif function_name=='calculateTime' then return calculateTime(argu[2]) elseif function_name=='getClass1' then temp, temp2 = getClass(argu[2]) return temp elseif function_name=='getClass2' then temp, temp2 = getClass(argu[2]) return temp2 elseif function_name=='infoGetPlace' then local details = {{ name = "test", name_plural="tests"}} -- course / not used infoGetPlace(details,1, argu[2], argu[3], argu[4]) return details[1].content elseif function_name=='getFormerNames1' then temp=getFormerNames(argu[2],'P1448') if temp[1] then return temp[1][2] --period else return "" end elseif function_name=='getFormerNames2' then temp=getFormerNames(argu[2],'P1448') if temp[1] then return temp[1][3] --name else return "" end elseif function_name=='getType' then return getType(argu[2]) elseif function_name=='compareDate' then return tostring(compareDate(argu[2])) elseif function_name=='officialSite' then return officialSite(argu[2]) elseif function_name=='trans' then return tostring(trans(argu[2], argu[3], argu[4])) elseif function_name=='parseDate1' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp1 elseif function_name=='parseDate2' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp2 elseif function_name=='parseDate5' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp5 elseif function_name=='findLastName' then return findLastName(argu[2],wiki) elseif function_name=='findSortKey' then if wiki=="ru" or wiki=="mk" then return findSortKey(argu[2],false, true) else return findSortKey(argu[2],true, false) end elseif function_name=='calculateAge' then temp1, _, _ =calculateAge(argu[2]) return temp1 elseif function_name=='getBirthDeathDate1' then temp1, temp2 = getBirthDeathDate(argu[2]) return temp1 elseif function_name=='getBirthDeathDate2' then temp1, temp2 = getBirthDeathDate(argu[2]) return temp2 elseif function_name=='getLocalContent' then local details = { { name = argu[2], name_plural= argu[3]} } local arguments = {} arguments[argu[4]]="test" getLocalContent(details, arguments) return details[1].content elseif function_name=='plural1' then _, temp1, temp2=plural(tonumber(argu[2])) return temp1 elseif function_name=='plural2' then _, temp1, temp2=plural(tonumber(argu[2])) return temp2 elseif function_name=='getNationality' then return getNationality(argu[2], argu[3]) elseif function_name=='getCountryID' then return getCountryID(argu[2], argu[3]) elseif function_name=='get_formatted_date1' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp, temp2= get_formatted_date(argu[2], arg3) if temp then return temp end elseif function_name=='get_formatted_date2' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp, temp2= get_formatted_date(argu[2], arg3) if temp2 then return temp2 end elseif function_name=="getSpeed" then if argu[4]=="nil" then arg4=nil else arg4=tonumber(argu[4]) end return tostring(getSpeed(argu[2], toboolean(argu[3]),arg4, argu[5])) elseif function_name=="formatNumber" then return formatNumber(tonumber(argu[2]), toboolean(argu[3]),tonumber(argu[4])) end end function p.test_import(frame) local function_name=frame.args[1] local argu=frame.args if function_name=='class_dic' then return tostring(data.class_dic[argu[2]]) elseif function_name=="class_sort" then return tostring(data.class_sort[argu[2]]) elseif function_name=='bg_color_table' then local temp = data.bg_color_table[argu[2]] temp=string.gsub(temp,'#',"") return temp end end return p jl0bmz6123h0629ekm6s2sz0hu8g30t 146290 146284 2026-07-29T18:50:34Z آیات محراج 11062 146290 Scribunto text/plain local p = {} local wiki = string.match(mw.site.server, "%a+") if wiki == "www" then wiki = "fr" end --import translation local l10n = mw.loadData("Module:Cycling race/l10n") --import data local data = mw.loadData("Module:Cycling race/data") local contentLanguage = mw.getContentLanguage() local wikilang = contentLanguage:getCode() local wikibase = mw.wikibase -- == Structure of the code == -- I) Constant -- II) Translation -- III) Basic functions -- IV) Functions less basic called from other functions -----A) Time functions -----B) Link functions -----C) Functions for the output, like table -----D) Jersey, flag functions -----E) Other (winner) -- V) Main functions ----- A) Function race reference ----- B) Calendar ----- C) Victory ----- Cbis) Function for infobox ----- D) Stage infobox ----- E) List of teams ----- F) Classifications ----- G) Infobox ----- H) Race infobox ----- I) Team roster ----- J) Function list of winners (palmarès) ----- K) List of stages ----- L) List of stages classification ----- M) Start list ----- N) Rider ranking ----- O) Rider infobox ----- P) Team infobox -- .................. ----- Z) Miscellaneous / Other / Tests --Tip: search "--==" to navigate between the sections --== I) Classes declared as global == local textalign = "left" local floattable = "left" local floatinfobox = "right" if wiki == "ar" or wiki == "fa" or wiki == "ks" or wiki == "he" then textalign = "right" floattable = "right" floatinfobox = "left" end local Wikidatalogosize = "12px" if wiki == "ar" then Wikidatalogosize = "15px" end local standardtablecss=data.standardtablecss_part1..textalign..data.standardtablecss_part2 local lang_priority --for lang priority and fallback if l10n["lang_priority"] then lang_priority=l10n["lang_priority"] else --default lang_priority={} table.insert(lang_priority,wikilang) for _, lang in ipairs({'mul','en', 'fr', 'de','es','nl','it','da'}) do if lang~=wikilang then table.insert(lang_priority,lang) end end end --"country" means here, that there will be a separated column containing the country name --otherwise a flag is typically added in another column, for instance before the rider name local no_country_calendar={'ru','ar'} local no_country_victories={'ru','ar','da'} local no_country_classification={'es','da','no','ru','ar'} --to avoid wrong display, or country names becoming very long, --available_list==false --> country=false in the old code, --should be implemented here if not l10n["country_name_list"] then table.insert(no_country_calendar, wiki) table.insert(no_country_victories, wiki) table.insert(no_country_classification, wiki) end --Note about WDlink_on --On some wikipedia small wikidata flag are displayed after all data coming from wikidata --to enable that set WDlink_on on true local no_roll_startlist={'fr','da','no','ar','ru','de'} local display_language_in_riderinfobox={'ru'} local display_flag_in_riderinfobox={'ru'} local display_birthnameastitle_in_riderinfobox={'ru'} local display_noweight_in_riderinfobox={'fr','pl'} local display_noage_in_riderinfobox={'pl'} local display_nonickname_in_riderinfobox={'pl'} local display_cm_in_riderinfobox={'pl'} local silver_theme_countries={'da', 'pl'} local backgroundColor="#FFDF80" local backgroundColorLight="#FFF7DF" for _, value in pairs(silver_theme_countries) do -- get data if country should be printed in this wiki if value == wiki then backgroundColor="var(--background-color-neutral, #eaecf0)" backgroundColorLight="var(--background-color-neutral-subtle, #f8f9fa)" end end local arwiki_totemplate = false local artemp_module if wiki == "ar" then local totemplate = mw.getCurrentFrame():getParent().args["totemplate"] or mw.getCurrentFrame().args["totemplate"] if (totemplate and totemplate ~= "") then arwiki_totemplate = true end if arwiki_totemplate then artemp_module = require("Module:Cycling race/artemp") end end local dark_mode_countries={'ca', 'pl'} local picto_track=" [[File:Cycling (track) pictogram.svg|35px]]" local picto_road=" [[File:Cycling (road) pictogram.svg|35px]]" for _, value in pairs(dark_mode_countries) do if value == wiki then picto_track=" [[File:Cycling (track) pictogram.svg|35px|class=skin-invert]]" picto_road=" [[File:Cycling (road) pictogram.svg|35px|class=skin-invert]]" end end local function istrue(x) if x and (x == 1 or x == "1" or x == "true") then return true end return nil end --== II) Translation == local function translate(func_name_short, index, w_race, title) if index==1000 then --code for some custom function return title else if func_name_short then local func_name if w_race then func_name=func_name_short.."_women_translate" if l10n[func_name] and l10n[func_name][index] then return l10n[func_name][index] end end func_name=func_name_short.."_translate" if l10n[func_name][index] then return l10n[func_name][index] end return "translation for "..func_name.." index ".. tostring(index).." not found" else error('func_name found') end end end local function plural(num) local plural=false --latin language local gen_singular=false --for slavic language local gen_plural=false --for slavic language if num then if num > 1 then plural=true if num < 5 then -- 2, 3 and 4 gen_singular = true elseif num > 20 then local modulo = math.fmod( num, 10) --modulo==1 --> nothing, it is singular if modulo>1 and modulo<5 then gen_singular = true elseif modulo>4 then gen_plural=true end else gen_plural=true end end end return plural, gen_singular, gen_plural end local function black_list( Label) local black_list=l10n.black_list --[[ List of Wikipedia articles with the same lemma as the non existing rider article. Those lemmas are printed as text "black" in the tables, not "blue" or "red". This way there will be no false wikilinks at the WhatLinksHere entry. List should be updated maybe once a year. ]] return black_list[Label] end local function country_name_from_list(countryID) if l10n["country_name_list"] and l10n["country_name_list"][countryID] then return l10n["country_name_list"][countryID] end return nil end local function stageLink(x, a, b) -- x= 10a: a = 10, b = a. x = 5: a = 5, b = "" local word1 local word2=translate("func_prologue",2) --stage local word=word2 if wiki=="ar" then return word2 .. " " .. ( a or "" ) , "#" .. word2 .. " " .. ( a or "" ) end -- fr: {{1re}} étape, {{2e}} étape if wiki=="fr" then if b == "" then -- series_ordinal without character if a == "1" then word1 = "1<sup>re</sup> "..word else word1 = a.."<sup>e</sup> "..word end -- table text = {{1re}} étape, {{2ae}} étape, if a == "1" then word2 = "#1re "..word else word2 = "#"..a.."e "..word end --text of section header = #1re étape, #2e étape return word1, word2 end if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a" if a == "1" then word1 = "1<sup>re</sup> "..b.." "..word else word1 = a.."<sup>e</sup> "..b.." "..word end -- table text = {{1re}} étape, {{2ae}} étape, if a == "1" then word2 = "#1re "..b.." "..word else word2 = "#"..a.."e"..b.." "..word end --text of section header = #1re étape, #2e étape return word1, word2 end end if wiki=="hu" then if b == "" then return a..". "..word, "#"..a..". "..word else return a..b.." "..word, "#"..a..b.." "..word end end if wiki=="de" or wiki=="da" or wiki=="fo" or wiki=="lb" or wiki=="no" then return a..". "..b.." "..word, "#"..a..". "..b.." "..word end if wiki=="ca" then return a.."a "..b.." "..word, "#"..a..". "..b.." "..word end if wiki=="es" then return a..".ª "..word.." "..b, "#"..a..".ª "..word.." "..b end if wiki=="ast" then if b == "" then -- series_ordinal without character if a == "1" or a == "3" then word1 = a.."ᵉʳ "..word else word1 = a.."ª "..word end -- table text = 1ᵉʳ etapa, 2ª etapa, 3ᵉʳ etapa, if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..word else word2 = "#"..a.."ª "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa, #3ᵉʳ etapa return word1, word2 end if b ~= "" then -- series_ordinal with character: instead of eg "1a re" it is "1re a" if a == "1" or a == "3" then word1 = a.."ᵉʳ "..b.." "..word else word1 = a.."ª "..b.." "..word end -- table text = {{1ᵉʳ}} etapa, {{2ª}} etapa, if a == "1" or a == "3" then word2 = "#"..a.."ᵉʳ "..b.." "..word else word2 = "#"..a.."ª"..b.." "..word end --text of section header = #1ᵉʳ etapa, #2ª etapa return word1, word2 end end -- default word1 = x -- table text = 1, 2a, 3 word2 = "#"..word.." ".. x -- text of section header = #Etappe 2a, #Stage 4 return word1, word2 end local function typeofstage(x, typ, noborder) -- plain, hilly, inter, ... must be "" or "any text" -- l10nDef[""] = {plain = "", hilly="", inter='', mount='', time_prologue='', time_team='', time_indiv='', uphill='', rest=''} local l10n=l10n["type_of_stage_translate"] local border if noborder then border="" else border="|border|right" end local stages = { ["plain stage"] = "[[File:Plainstage.svg"..border.."|20px|"..l10n.plain.."]]", ["hilly stage"] = "[[File:Hillystage.svg"..border.."|20px|"..l10n.hilly.."]]", ["intermediate stage"] = "[[File:Mediummountainstage.svg"..border.."|20px|"..l10n.inter.."]]", ["mountain stage"] = "[[File:Mountainstage.svg"..border.."|20px|"..l10n.mount.."]]", ["uphill time trial stage"] = "[[File:Mountain Time Trial Stage.svg"..border.."|20px|"..l10n.uphill.."]]", ["rest day"] = "[[File:Stage rest day.svg"..border.."|20px|"..l10n.rest.."]]" } if arwiki_totemplate then return artemp_module.arwiki_typeofstage(x, typ) end if stages[x] then return stages[x] end if x=='time trial stage' then if noborder then border="" else border="|right" end local stages2 = { ["Q2348250"] = "[[File:Team Time Trial Stage.svg"..border.."|20px|"..l10n.time_team.."]]", ["Q2266066"] = "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_indiv.."]]", ["Q485321"] = "[[File:Time Trial.svg"..border.."|20px|"..l10n.time_prologue.."]]" } if stages2[typ] then return stages2[typ] end end end local function typeofstagelogo(stageID, noborder) local sType p = mw.wikibase.getBestStatements(stageID, 'P31') -- P31 is 'instance of' local stages = { ["Q20646667"] = {"plain stage", nil}, ["Q20646670"] = {"hilly stage", nil}, ["Q20680270"] = {"intermediate stage", nil}, ["Q20646668"] = {"mountain stage", nil}, ["Q485321"] = {"time trial stage", "Q485321"}, -- prologue ["Q2266066"] = {"time trial stage", "Q2266066"}, -- individual time trial ["Q2348250"] = {"time trial stage", "Q2348250"}, -- team time trial ["Q20679712"] = {"uphill time trial stage", nil} } for _, t in pairs(p) do if t.mainsnak.snaktype == 'value' then local iOf = t.mainsnak.datavalue.value.id if stages[iOf] then sType = typeofstage(stages[iOf][1], stages[iOf][2], noborder) break end end end return sType or '' end --== III) basic functions --[[ Get any value for a property which is not deprecated ]] local function firstValue(QID, PID, field) if QID then local ss = wikibase.getAllStatements(QID, PID) for _, s in pairs(ss) do if s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then return field and s.mainsnak.datavalue.value[field] or s.mainsnak.datavalue.value end end else return nil end end --[[ Go from season of a team to the team ]] local function getParentID(teamID) return firstValue(teamID, 'P5138', 'id') -- P361 is 'part of' or firstValue(teamID, 'P361', 'id') -- P5138 is 'season of club or team' end --[[ Get a label in any of the languages in the fallback list of language codes ]] local function getLabelFallback(itemID, fallback) local label if fallback==nil then --default fallback=lang_priority end for _, lang in ipairs(fallback) do label = mw.wikibase.getLabelByLang(itemID, lang) if label then break end end return label end --[[ Get a sitelink from the local wiki or from the fallback list of language codes ]] local function getSitelinkFallback(itemID, fallback) local link = mw.wikibase.getSitelink(itemID) if link then return link end for _, lang in ipairs(fallback) do link = mw.wikibase.getSitelink(itemID, lang .. 'wiki') if link then return link end end return nil end local function get_lf(frame) local lf = frame if string.match(frame:getParent():getTitle(), '%P+') == mw.site.namespaces.Template.name then lf = frame:getParent() end -- if wiki == "ar" then lf = frame:getParent() or frame end return lf end local function get_and_checkID(frame) local lf = get_lf(frame) local entityID = mw.text.trim(lf.args[1]) entityID= string.gsub(entityID, "%c", "") --probably redundant if type(entityID) ~= 'string' then error('parameter must be a string') end if not entityID:match('Q%d+') then error('parameter must be a valid Wikidata item (ex: Q42)') end return entityID, lf end local function make_IllWD2_link(q, arlabel, enlabel, text) local argse = { ["المعرف"] = q, target='en'} if arlabel and arlabel ~= '' then argse.label = arlabel elseif enlabel and enlabel ~= '' then argse.enlabel = enlabel end if text and text ~= "" then argse.text = text end local final = "" if arwiki_totemplate then final = "{{Ill-WD2" for k,v in pairs(argse) do final = final .. "|" .. k .. "=" .. v end final = final .. "}}" else argse.nocat = "t" final = mw.getCurrentFrame():expandTemplate{ title = 'Ill-WD2', args = argse } end return final end --[[ Iterator to get all statements for an entity and property which are not deprecated and have a value]] local function nextStatement(state, i) repeat i = i + 1 local s = state[i] if s and s.rank ~= 'deprecated' and s.mainsnak.snaktype == 'value' then return i, s end until s == nil end local function statements(QID, PID) return nextStatement, wikibase.getAllStatements(QID, PID), 0 end --[[ Iterator to get all qualifier values for a property for a statement]] local function nextQualifier(state, i) repeat i = i + 1 local q = state[i] if q and q.snaktype == 'value' then return i, q.datavalue end until q == nil end local function qualifiers(statement, PID) return nextQualifier, statement.qualifiers and statement.qualifiers[PID] or {}, 0 end local function qualifieramount(element, property) local result for _, q in qualifiers(element, property) do result = tonumber(q.value.amount) break end return result end local function dispmoney(amount, unit) if amount and unit then local cost = contentLanguage:formatNum(tonumber(amount)) if wiki == 'fo' then cost = string.gsub(cost, "%.", ",") end if unit == "http://www.wikidata.org/entity/Q4916" then cost = cost .. ' €' elseif unit == "http://www.wikidata.org/entity/Q4917" then cost = cost .. ' $' end return cost end return nil end --== IV) Functions less basic called from other functions == --=== A) Time functions === --[[ Get a Wikidata statement for an entity and property valid at the given timevalue ]] local function checktime(s,q, time) local start, startPrecision, END, endPrecision, timePrecision if not q or not time then return s end local _, _, _, m, _ = string.find(time, "(%d+)%p(%d+)%p(%d+)") if m=="00" then timePrecision=9 end if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time start = q.P580[1].datavalue.value.time startPrecision = q.P580[1].datavalue.value.precision if startPrecision == 9 or timePrecision==9 then -- precision is years start = string.sub(start, 1, 5) -- Cut of everything after year elseif startPrecision == 10 then -- precision is months start = string.sub(start, 1, 8) -- Cut of everything after month end end if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time END = q.P582[1].datavalue.value.time endPrecision = q.P582[1].datavalue.value.precision end if not start or start <= time then if not END then return s end if endPrecision == 9 or timePrecision==9 then -- precision 9 is 'years' END = string.sub(END, 1, 6) .. '13' -- Set month to 13 elseif endPrecision == 10 then -- precision 10 is 'months' END = string.sub(END, 1, 9) .. '32' -- Set day to 32 end if END >= time then return s end end return nil end local function getStatementForTime(ID, property, time) local temp for _, s in statements(ID, property) do temp =checktime(s, s.qualifiers, time) if temp then return temp end end return nil end --Display date interval in a natural way: --long: --4-5 January 2020 --4 January - 2 February 2020 --4 January 2020 - 2 February 2021 --small is the same with short month names --Does not work properly if the precision is not sufficient local function getStartEndTime(sTime, eTime, mode) -- Note: Add the 4formats to "formats" and use funcDate local lang = contentLanguage local starttime, endtime --local format = formats[wiki] or formats[''] if mode==nil then mode='long' end -- Timevalues is like "+2015-07-04T00:00:00Z" local y, m = string.match(sTime, "(%d+)-(%d+)-%d+") local y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+") if m=='00' then --manage the 30 November issue if mode=='long' or mode=="verylong" then starttime =lang:formatDate( "Y", sTime ) else starttime ='-' end else if y ~= y2 then if mode=='long' or mode=="verylong" then starttime = lang:formatDate( "j F Y", sTime ) else starttime = lang:formatDate( "j M Y", sTime ) end elseif m ~= m2 then if mode=='long' or mode=="verylong" then starttime = lang:formatDate( "j F", sTime ) else starttime = lang:formatDate( "j M", sTime ) end else starttime = lang:formatDate( "j", sTime ) end if wiki == "ar" then if y ~= y2 then starttime = lang:formatDate( "d F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "d F", sTime ) else starttime = lang:formatDate( "d ", sTime ) end elseif wiki == "br" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .." a viz ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .." " end elseif wiki == "ca" or wiki == "es" or wiki == "ast" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime ) .." de ".. lang:formatDate( "Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .." de ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .." " end elseif wiki == "cs" then if y ~= y2 then starttime = lang:formatDate( "j. xg Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j. xg", sTime ) else starttime = lang:formatDate( "j", sTime ) end elseif wiki == "de" or wiki == "da" or wiki == "fo" or wiki == "lb" or wiki == "no" then if y ~= y2 then starttime = lang:formatDate( "j. F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j. F", sTime ) else starttime = lang:formatDate( "j.", sTime ) end elseif wiki == "fi" then if y ~= y2 then starttime = lang:formatDate( 'j. F"ta" Y', sTime ) elseif m ~= m2 then starttime = lang:formatDate( 'j. F"ta"', sTime ) else starttime = lang:formatDate( "j.", sTime ) end elseif wiki == "eo" then if y ~= y2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j", sTime ) .."-a de ".. lang:formatDate( "F", sTime ) else starttime = lang:formatDate( "j", sTime ) .."-a " end elseif wiki == "eu" then if y ~= y2 then starttime = lang:formatDate( "Y", sTime ) ..".eko ".. lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) else starttime = lang:formatDate( "F", sTime ) .."k ".. lang:formatDate( "j", sTime ) end elseif wiki == "hu" then starttime = lang:formatDate( "Y. F j.", sTime) elseif wiki == "ja" then if y ~= y2 then starttime = lang:formatDate( "Y年m月d日", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "Y年m月d日", sTime ) else starttime = lang:formatDate( "Y年m月d日", sTime ) end elseif wiki == "lv" then if m ~= m2 then starttime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", sTime ) else starttime = lang:formatDate( "Y. \\g\\a\\d\\a j.", sTime ) end elseif wiki == "pl" then if y ~= y2 then starttime = lang:formatDate( "j xg Y", sTime ) elseif m ~= m2 then starttime = lang:formatDate( "j xg", sTime ) else starttime = lang:formatDate( "j", sTime ) end end end if m2=='00' then --manage the 30 November issue if mode=='long' or mode=="verylong" then endtime= lang:formatDate( "Y", eTime ) else endtime= '-' end else if (mode=='long' and y ~= y2) or mode=="verylong" then endtime = lang:formatDate("j F Y", eTime) elseif y ~= y2 then --small endtime = lang:formatDate("j M Y", eTime) elseif mode=='long' then endtime = lang:formatDate("j F", eTime) else endtime = lang:formatDate("j M", eTime) end if wiki == "ar" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "d F Y", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "d F Y", eTime ) else endtime = lang:formatDate( "d F Y", eTime ) end elseif wiki == "br" then endtime = lang:formatDate( "j", eTime ) .." a viz ".. lang:formatDate( "F Y", eTime ) elseif wiki == "ca" or wiki == "es" or wiki == "ast" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "j", eTime ) .." de ".. lang:formatDate( "F", eTime ) .." de ".. lang:formatDate( "Y", eTime ) else endtime = lang:formatDate( "j", eTime ) .." de ".. lang:formatDate( "F", eTime ) end elseif wiki == "cs" then endtime = lang:formatDate( "j. xg Y", eTime ) elseif wiki == "de" or wiki == "da" or wiki == "fi" or wiki == "fo" or wiki == "lb" or wiki == "no" then if mode=='long' or mode=="verylong" or y ~= y2 then endtime = lang:formatDate( "j. F Y", eTime ) else endtime = lang:formatDate( "j. M", eTime ) end elseif wiki == "eo" then endtime = lang:formatDate( "j", eTime ) .."-a de ".. lang:formatDate( "F Y", eTime ) elseif wiki == "eu" then endtime = lang:formatDate( "Y", eTime ) ..".eko ".. lang:formatDate( "F", eTime ) .."k ".. lang:formatDate( "j", eTime ) elseif wiki == "fi" then endtime = lang:formatDate('j F"ta" Y', eTime) elseif wiki == "hu" then if y ~= y2 then endtime = lang:formatDate( "Y. F j.", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "F j.", eTime ) else endtime = lang:formatDate( "j.", eTime ) end --endtime = lang:formatDate( "Y", eTime ) ..". ".. lang:formatDate( "F j", eTime ) .."." elseif wiki == "ja" then if y ~= y2 then endtime = lang:formatDate( "Y年m月d日", eTime ) elseif m ~= m2 then endtime = lang:formatDate( "m月d日", eTime ) else endtime = lang:formatDate( "d日", eTime ) end elseif wiki == "lv" then if y ~= y2 then endtime = lang:formatDate( "Y. \\g\\a\\d\\a j. F", eTime ) else endtime = lang:formatDate( "j. F", eTime ) end elseif wiki == "pl" then endtime = lang:formatDate( "j xg Y", eTime ) end end return starttime, endtime end local formats = data.formats -- Display the date, the mode changes the format local function funcDate(date, mode) -- local date = '+2016-05-20' -- local mode = 'small' local format = formats[wiki] or formats[''] local lang = contentLanguage --handle problems with lack of precision local dispDate = date if date and string.sub(date,7,8)=='00' then -- lack of month dispDate= string.sub(date,1,6).."01-01"..string.sub(date,12) if mode == 'long' or mode == 'onlyyear' or mode == 'monthly' then mode = 'onlyyear' else mode = 'nodate' end elseif date and string.sub(date,10,11)=='00' then -- lack of day dispDate= string.sub(date,1,9).."01"..string.sub(date,12) if mode == 'long' then mode = 'monthly' elseif mode == 'small' then mode = 'onlymonth' elseif mode == 'onlyday' then mode = 'nodate' end end if format[mode] == nil then mode = 'nodate' end return contentLanguage:formatDate(format[mode], dispDate) end --[[ get the year for a race as a string, or an empty string]] local function getYear(raceID) local year = firstValue(raceID, 'P580', 'time') or -- P580 is 'start time' firstValue(raceID, 'P585', 'time') -- P585 is 'point in time' if year then return string.sub(year, 2, 5) end return '' end local function isdisqualified(p,q) --disqualification can use deprecated or P1534 local cancelled="" local disqualified=false if p and p.rank=='deprecated' then cancelled='text-decoration:line-through;' disqualified=true else if q and q.P1534 and q.P1534[1].snaktype == 'value' then local tempdsq=q.P1534[1].datavalue.value.id if tempdsq=='Q1229261' then cancelled='text-decoration:line-through;' disqualified=true end --disqualified end end return cancelled, disqualified end --=== B) Link functions === local function getOfficialName(teamID, timeOfRace,season,strict) -- for team --return officialName, isLocal local strictLang = {mk = true} local cyrillic = {mk = true, ru = true} local strictLangBool= strictLang[wiki] or strict local correcttime, best, name, nametemp local wantedLanguages = {} for i, lang in ipairs(lang_priority) do wantedLanguages[lang] = i end --case one, one official name / period overloaded with other languages as qualifier --for instance https://www.wikidata.org/wiki/Q195833 best = 999 for _, p1448 in statements(teamID, 'P1448') do correcttime=true if timeOfRace and timeOfRace ~='' then correcttime =checktime(p1448, p1448.qualifiers, timeOfRace) end if correcttime then if p1448.qualifiers and p1448.qualifiers.P1448 then local q = p1448.qualifiers.P1448 best = 999 for _, l in pairs(q) do if l.snaktype == 'value' then local lang = l.datavalue.value.language if wantedLanguages[lang] and wantedLanguages[lang] < best then best = wantedLanguages[lang] name = l.datavalue.value.text end end end if name then return name, true end end --p1448 and correct time, look in the not qualifier part lang=p1448.mainsnak.datavalue.value.language if strictLangBool then if wiki==lang then name = p1448.mainsnak.datavalue.value.text end elseif wantedLanguages[lang] and wantedLanguages[lang] < best then best = wantedLanguages[lang] name = p1448.mainsnak.datavalue.value.text else if cyrillic[lang]==nil then --don't display cyrillic for latin wiki nametemp = p1448.mainsnak.datavalue.value.text end end end end if name then return name, true elseif not strictLangBool and nametemp then return nametemp, false end --no official name, get label local label=wikibase.getLabel(teamID) if season and season==true then if label then return string.sub(label,1,label:len()-5),true end -- else return label, true -- No official name, try label end end local function revertfirstlast(name) local nametable = mw.text.split(name, ",") if nametable[2] then --there is a coma return nametable[2].." "..nametable[1] else return nametable[1] end end local function checksitelink(sitelink, label) if sitelink==label then return "[[" .. sitelink .."]]" else return "[[" .. sitelink .. "|" .. label.. "]]" end end -- RiderID --> RiderLink local function getRiderLink(riderID, startOfSeason) --startOfSeason optional --Priority order --#1 P1813, short name, in correct alphabet, correct time --#2 P1448, official name, in correct alphabet, correct time --#3 sitelink (so label from wikipedia) in correct language --#4 label from wikidata in correct language --#5 label from wikidata in another language local strictLang = {mk = true, ru = true} local strictLangBool= strictLang[wiki] local sitelink = wikibase.getSitelink(riderID) local officialname,officialnametemp, language, name local correctlanguage=false local listOfProperty={'P1813','P1448'} for _, prop in ipairs(listOfProperty) do for _, p1813 in statements(riderID, prop) do if not officialname or not correctlanguage then language = p1813.mainsnak.datavalue.value.language officialnametemp = p1813.mainsnak.datavalue.value.text if strictLangBool then if wiki==language then name=officialnametemp --only exact language correctlanguage=true end else if wiki==language then --exact language --> ok name=officialnametemp correctlanguage=true elseif strictLang[language]==nil and not officialname then --normally all "latin" languages use the same name, except for cyrillic translation local russianLabel= wikibase.getLabelByLang(riderID, "ru") if russianLabel then local russianEnd=string.sub(russianLabel, -3) if russianEnd~="вна" and russianEnd~="вич" then --otherwise rejected name=officialnametemp correctlanguage=false end else -- no russian label, it is most probably not a cyrillic translation name=officialnametemp --any language latin correctlanguage=false end end end if startOfSeason~= nil then local q = p1813.qualifiers if q then local temp = checktime(name,q,startOfSeason) if temp then officialname = name end--if the time is correct than it is finished else officialname = name end else officialname = name end end end end if sitelink and officialname then --if there is an official name, then use it return checksitelink(sitelink, officialname), correctlanguage else if officialname then return officialname end if sitelink then if wiki == "de" then local label = wikibase.getLabelByLang(riderID, wiki) if label then local p27 = wikibase.getBestStatements(riderID, 'P27') -- P27 is country of citizenship if p27[1] and p27[1].mainsnak.snaktype == 'value' then local c = p27[1].mainsnak.datavalue.value.id if c=="Q159" or c=="Q184" or c=="Q212" or c=="Q232" then -- Q159, Q184, Q212, Q232 is Russia, Belarus, Ukraine, Kazakhstan return checksitelink(sitelink, label), correctlanguage end end end end if wiki == 'ru' then local label = revertfirstlast(mw.text.trim(string.gsub(sitelink, "%b()", ""), " ")) return checksitelink(sitelink, label), correctlanguage else return checksitelink(sitelink, mw.text.trim(string.gsub(sitelink, "%b()",""), " ")), correctlanguage end end -- No WP article. Display label, and make it a red link if no other article uses the title local link local label = wikibase.getLabelByLang(riderID, wiki) if label then if wiki == 'ar' then link = make_IllWD2_link(riderID, label) else if wiki=='ru' then label=revertfirstlast(label) end if black_list( label) then link = label else local title = mw.title.new(label) if title and title.exists then link = label else link = "[[" .. label.. "]]" end end end return link, correctlanguage end -- No label in the local language. Try other languages, but don't link. correctlanguage=false if wiki == 'ar' then link = make_IllWD2_link(riderID) else link = getLabelFallback(riderID) if link then link = string.gsub(link, "%b()", "") else link = "(label missing)" end end return link, correctlanguage end end -- Get the countryID, return a single one, not a list local function getCountryID(entityID, timeOfRace) local countryID if entityID then local stm = getStatementForTime(entityID, 'P1532', timeOfRace) -- P1532 is country for sport if stm == nil then stm = getStatementForTime(entityID, 'P17', timeOfRace) -- P17 is country end if stm then countryID = stm.mainsnak.datavalue.value.id end end return countryID end --[[ Get the name of a country ]] local function getCountryName(countryID) local name = country_name_from_list(countryID) if name == nil then local label, lang = wikibase.getLabelWithLang(countryID) --[[ Uses standard language fallback. Should not return nil, nil, as all countries have English labels. ]] if lang == wikilang then name = label elseif lang then name = label .. ' (' .. lang .. ')' end end return name or '' end --[[ Get sitelink with no wiki no formating ]] local function getRawTeamLink(teamID) local sitelink local parentID = getParentID(teamID) if parentID then -- try parent team first sitelink = mw.wikibase.getSitelink(parentID) end if not sitelink then sitelink = mw.wikibase.getSitelink(teamID) end return sitelink end --[[ Get sitelink, categoryID and maybe country for a team. Returns sitelink, team category ID, countryID (only countryID if country arg is true ]] local function getTeamLinkCat(teamID, timeOfRace, country, forceParentlink) local name, sitelink, catID, countryID, p31 local parentID = getParentID(teamID) local season=false -- Find team category --Hypothesis, it is a season, look in P2094 for _, p2094 in statements(teamID, 'P2094') do if checktime(p2094, p2094.qualifiers, timeOfRace) then if data.teamCats[p2094.mainsnak.datavalue.value.id] then catID = p2094.mainsnak.datavalue.value.id season=true break end end end --check if season if season==false then --otherwise already clear for _, p in statements(teamID, 'P31') do local natureID = p.mainsnak.datavalue.value.id if natureID=="Q53534649" then season=true break end end end --look by the parent, then P31 is used for the category if (not catID and parentID and season) then p31 = getStatementForTime(parentID, 'P31', timeOfRace) elseif not season then --it is the team look in the team directly p31 = getStatementForTime(teamID, 'P31', timeOfRace) end if p31 and data.teamCats[p31.mainsnak.datavalue.value.id] then catID = p31.mainsnak.datavalue.value.id end -- Find country if needed if country or data.natTeamCats[catID] then countryID = getCountryID(teamID, timeOfRace) end if countryID and data.natTeamCats[catID] then if countryID=='Q145' then name = getCountryName('Q23666') else --to solve the United-Kingdom/Great Britain problem by national team name = getCountryName(countryID) end local t={Q20738667=34, Q54555994=35, Q99658502=36} if t[catID] then --add U23, U19, B, (note: why "B" and not B) name = name ..' '..translate("headoftableIII",t[catID]) end sitelink = getRawTeamLink(teamID) else -- It is not a national cycling team local isLocal if season and not forceParentlink then sitelink = wikibase.getSitelink(teamID) name, isLocal = getOfficialName(teamID, timeOfRace,true) --problem here is that the label will be used if no official name, official name of the parent would actually be better... if not sitelink and parentID then sitelink = wikibase.getSitelink(parentID) end else if parentID then -- try parent team first sitelink = wikibase.getSitelink(parentID) name, isLocal = getOfficialName(parentID, timeOfRace) end if not sitelink then sitelink = wikibase.getSitelink(teamID) end end if not name or (not isLocal and l10n["lang_priority"]) then local partName, partIsLocal = getOfficialName(teamID, timeOfRace) if partName and (not name or partIsLocal) then name = partName end end end if sitelink then if name then sitelink = '[[' .. sitelink .. '|' .. name .. ']]' else sitelink = '[[' .. sitelink .. ']]' end else if wiki == "ar" then local arlabel = mw.wikibase.getLabelByLang((parentID or ''), 'ar') or "" local texte = mw.wikibase.getLabelByLang(teamID, 'ar') or "" sitelink = make_IllWD2_link((parentID or teamID), arlabel, name, texte) else if name then sitelink = name else sitelink = (parentID and wikibase.getLabel(parentID)) or wikibase.getLabel(teamID) or 'No name' end end end return sitelink, catID, countryID end local function getTeamCodeCat(teamID, timeOfRace) -- Find team category local codeUCI local p1998 =getStatementForTime(teamID, 'P1998', timeOfRace) if p1998 then codeUCI = p1998.mainsnak.datavalue.value else local parentID = getParentID(teamID) if parentID then p1998 =getStatementForTime(parentID, 'P1998', timeOfRace) if p1998 then codeUCI = p1998.mainsnak.datavalue.value end end end return codeUCI end local function getReference(lf,statement, outputLocal) local function formatRefDate(date, precision) if precision == 9 then -- Precision is year return string.sub(date, 2, 5) elseif precision == 10 then -- Precision is month return contentLanguage:formatDate("F Y", string.sub(date, 2, 8)) elseif precision >= 11 then -- Precision is day (or less) return funcDate(date, 'long') end end local ref = statement.references if not ref or not ref[1] then return nil end ref = ref[1].snaks if ref.P854 and ref.P854[1] and ref.P854[1].snaktype == 'value' then -- P854 is 'reference URL' local refURL = ref.P854[1].datavalue.value local refTitle = '' local refDate = '' local refRetrieved = '' local refLang = '' if ref.P1476 and ref.P1476[1] and ref.P1476[1].snaktype == 'value' then -- P1476 is 'title URL' refTitle = ref.P1476[1].datavalue.value.text local lang = ref.P1476[1].datavalue.value.language if lang ~= wikilang then refLang = '(' .. lang .. ')' if wiki == 'ar' then refLang = lang end end end if ref.P577 and ref.P577[1] and ref.P577[1].snaktype == 'value' then -- P577 is 'publication date' local value = ref.P577[1].datavalue.value refDate = formatRefDate(value.time, value.precision) if (wiki == 'ar') then refDate = refDate else refDate = ', ' .. refDate end end if ref.P813 and ref.P813[1] and ref.P813[1].snaktype == 'value' then -- P813 is 'retrieved' local value = ref.P813[1].datavalue.value refRetrieved = formatRefDate(value.time, value.precision) if wiki == "de" then refRetrieved = ", (abgerufen am " .. refRetrieved .. ')' elseif wiki == "ar" then refRetrieved = refRetrieved elseif wiki == "fr" then refRetrieved = " (consulté le " .. refRetrieved .. ')' elseif wiki == "da" then refRetrieved = " Hentet " .. refRetrieved .. '.' else refRetrieved = " Retrieved " .. refRetrieved .. '.' end end local domain = string.match(refURL, '//([^/]+)') if string.sub(domain, 1, 4) == 'www.' then domain = string.sub(domain, 5) end local refText if wiki == "ar" then refText = '{{web cite' .. '|url = ' .. refURL .. '|title= ' .. refTitle .. '|lang = ' .. refLang .. '|website=' .. domain .. '|date=' .. refDate .. '|accessdate=' .. refRetrieved .. '}}' elseif wiki == "fr" then -- fr: "(en) « Lloyd Mondory ... EPO », sur velonews.competitor.com (consulté le 30 april 2016), 30 octobre 2015." local sur = ', sur <span style="font-style:italic;"> ' .. domain .. '</span>' refText = refLang .. ' « ['.. refURL .. ' '.. refTitle .. '] »' .. sur .. refRetrieved .. refDate .. '.' elseif wiki == "de" then local In = ' In: <span style="font-style:italic;">' .. domain .. '</span>' refText = '<span style="font-style:italic;">['.. refURL.. ' '.. refTitle.. '.]</span> ' .. In .. refDate .. refRetrieved ..'.' else local at = ', <span style="font-style:italic;"> ' .. domain .. '</span>' refText = refLang .. ' [' .. refURL .. ' ' .. refTitle .. ']' .. at .. refDate .. '.' .. refRetrieved end if outputLocal==1 then return refText else local refargs = {} if wiki ~= "ar" then refargs.name = refText end return lf:extensionTag('ref', refText, refargs) end end end --Some wikipedia, like WP:ar, don't use model like --{{#invoke:Cycling race/infobox|Q123}} --But have the module included in another module --{{#invoke:wikidata|Cycling race/infobox|... --in this case frame does not refer to the arguments of /infobox but to the wanted ones --read https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#frame-object local function get_arg(index, lf, number) if lf.args[index] then if number then return tonumber(lf.args[index]) else return string.gsub(lf.args[index], "%c", "") end end return nil end local function getImageOrMap(QID, PID) local p18 = wikibase.getBestStatements(QID, PID) -- P18 is 'image' local first for _, image in pairs(p18) do if image.mainsnak.snaktype == 'value' then if not first then first = image.mainsnak.datavalue.value end local q = image.qualifiers if q and q.P2096 then for _, caption in pairs(q.P2096) do -- P2096 is 'caption' if caption.snaktype == 'value' and caption.datavalue.value.language == wikilang then return image.mainsnak.datavalue.value, caption.datavalue.value.text end end end end end return first end local function getLogo(QID) return getImageOrMap(QID, 'P154') end local function getImage(QID) return getImageOrMap(QID, 'P18') end local function getMap(QID) return getImageOrMap(QID, 'P242') end local function getSectionalView(QID) return getImageOrMap(QID, 'P2713') end --[[ Get link for race or competition]] local function raceLink(QID) local sitelink = wikibase.getSitelink(QID) local instanceOf = firstValue(QID, 'P3450', 'id') if instanceOf == nil then instanceOf = firstValue(QID, 'P31', 'id') -- P31 is 'instance of' end if instanceOf == 'Q1137352' then -- Q1137352 is 'French Road Cycling Cup' local label2 = wikibase.getLabel(instanceOf) if sitelink then if label2 then return '[[' .. sitelink .. '|' .. label2 .. ']]' end return '[[' .. sitelink .. ']]' end local sitelink2 = wikibase.getSitelink(instanceOf) if sitelink2 then return '[[' .. sitelink2 ..'|' .. string.gsub(sitelink2, " %b()", "") .. ']]' end if label2 then return label2 end end if sitelink then return "[[".. sitelink.. "]]" end return wikibase.getLabel(QID) or '' end local function getPlaceLink(placeID,timeOfRace) local sitelink = wikibase.getSitelink(placeID) local name = country_name_from_list(placeID) if name==nil then name=getOfficialName(placeID, timeOfRace,nil,true) --name should be in the right language end if sitelink then -- Delete " (...)" form e.g. "Unley (South Australia)" if name ~=nil then return '[[' .. sitelink .. '|' .. name .. ']]' else return '[[' .. sitelink .. '|' .. string.gsub(sitelink, ' %b()', '') .. ']]' end end local label = wikibase.getLabel(placeID) or '' if wiki == 'ar' then arlabel = wikibase.getLabelByLang(placeID, "ar") return make_IllWD2_link(placeID, arlabel) end return contentLanguage:ucfirst(label) end -- ClassID --> ClassLink -- some WPs use a unique article for this case local function classLinkFn(classID, circuitID) local link, label if wiki~="fr" then --not used link= wikibase.getSitelink('Q22348500') -- Q22348500 is 'cycling race class' elseif circuitID then link =wikibase.getSitelink(circuitID) --optional parameter to obtain [circuitlink|class label] end if classID=="Q18536594" then if wiki=="fr" then label="JO" else label="OG" end else label = getLabelFallback(classID) end if label and link then link = '[[' .. link .. '|' .. label .. ']]' elseif link then link = '[[' .. link .. ']]' elseif label then link = label else link='' end if wiki == "ar" then-- right now Q22348500 has no link in "ar" link = make_IllWD2_link(classID , "", label) end return link end --[[ Get local content to a infoboxe from template args ]] local function getLocalContent(contents, args) for _, content in pairs(contents) do local name = content.name if not name then error('translation missing in Module:Cycling race/l10n of your wikipedia') end local nameNoShy = string.gsub(name, '&#173;', '') -- filter soft hyphen out local nameNoShyLow, name_pluralNoShyLow if nameNoShy then nameNoShyLow = mw.ustring.lower(nameNoShy) end local name_plural = content.name_plural local name_pluralNoShy = name_plural and string.gsub(name_plural, '&#173;', '') -- filter soft hyphen out if name_pluralNoShy then name_pluralNoShyLow = mw.ustring.lower(name_pluralNoShy) end if args[nameNoShy] and args[nameNoShy] ~= '' then if content.special then local newname, value = string.match(args[nameNoShy], '([^:]+):(.*)') if value and mw.text.trim(value) ~= '' then content.name = mw.text.trim(newname) content.content = mw.text.trim(value) end else content.content = mw.text.trim(args[nameNoShy]) end elseif nameNoShyLow and args[nameNoShyLow] and args[nameNoShyLow] ~= '' then if content.special then local newname, value = string.match(args[nameNoShyLow], '([^:]+):(.*)') if value and mw.text.trim(value) ~= '' then content.name = mw.text.trim(newname) content.content = mw.text.trim(value) end else content.content = mw.text.trim(args[nameNoShyLow]) end elseif args[name_pluralNoShy] and args[name_pluralNoShy] ~= '' then content.name = content.name_plural content.content = mw.text.trim(args[name_pluralNoShy]) elseif name_pluralNoShyLow and args[name_pluralNoShyLow] and args[name_pluralNoShyLow] ~= '' then content.name = content.name_plural content.content = mw.text.trim(args[name_pluralNoShyLow]) end end end local function checkDis(q) --discipline dis="road" local sport_id=nil if q and q.P641 and q.P641[1] and q.P641[1].snaktype == 'value' then sport_id=q.P641[1].datavalue.value.id elseif q and q.P642 and q.P642[1] and q.P642[1].snaktype == 'value' then --fallback sport_id=q.P642[1].datavalue.value.id end if sport_id then if sport_id == 'Q520611' or sport_id =='Q1031445' then onlyRoad=false dis="mountainBike" elseif sport_id == 'Q335638' then onlyRoad=false dis="cycloCross" elseif sport_id == 'Q221635' then onlyRoad=false dis="track" end end return dis end -- Rider --> Team link local function getTeam(riderID, timeOfRace, q) -- q: qualifiers of statement in race entity where the rider is the value local teamID, link, catID, countryID if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team teamID = q.P54[1].datavalue.value.id link, catID, countryID = getTeamLinkCat(teamID, timeOfRace) else for _, s in statements(riderID, 'P54') do if not link then --like a break p54 =checktime(s, s.qualifiers, timeOfRace) if p54 then dis=checkDis(p54.qualifiers) if dis=='road' then --by default teamID = p54.mainsnak.datavalue.value.id link, catID, countryID = getTeamLinkCat(teamID, timeOfRace) end end end end end return link, teamID, catID, countryID end --RiderID --> UCI code local function getTeamCode(riderID, timeOfRace, q) -- q: qualifiers of statement in race entity where the rider is the value local teamID, code if q and q.P54 and q.P54[1].snaktype == 'value' then -- P54 is member of sports team teamID = q.P54[1].datavalue.value.id code = getTeamCodeCat(teamID, timeOfRace) else local p54 = getStatementForTime(riderID, 'P54', timeOfRace) if p54 then teamID = p54.mainsnak.datavalue.value.id code= getTeamCodeCat(teamID, timeOfRace) end end return code end local function seasonToTeamID(teamID) if teamID then local parentID=getParentID(teamID) if parentID then--season was used return parentID else return teamID end else return nil end end local function wdLink(id) local text = "[[File:Wikidata-logo S.svg| " .. Wikidatalogosize .. "|link=d:" .. id .. "]]" if arwiki_totemplate then text = artemp_module.wdLink(id) end return text end local function WPlinkpure(Qnumber) local link='' local Sitelink = wikibase.getSitelink(Qnumber) -- link to WParticle local Label = getLabelFallback(Qnumber) or '' if Sitelink ~= nil then link = "[[" .. Sitelink .. "|" .. mw.text.trim(string.gsub(Sitelink, "%b()", "")..' ') .. "]]" elseif wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(Qnumber, 'ar') or "" link = make_IllWD2_link(Qnumber , arlabel , Label) else link = mw.ustring.gsub(Label, "^(%a)", function (x) return mw.ustring.upper(x) end) end return link end --=== C) Function for the output === local function getCountryBool(no_country_list) local country = true if no_country_list then for _, value in pairs(no_country_list) do -- get data if country should be printed in this wiki if value == wiki then country = false end end end return country end local function handle_error_message(s) local error_message='' if s.error_message and s.error_message ~= 0 then error_message = func_error_message( 1) error_message = mw.ustring.gsub(error_message, "<1>", s.property) error_message = mw.ustring.gsub(error_message, "<2>", mw.wikibase.label( s.item )) error_message = mw.ustring.gsub(error_message, "<3>", s.item) error_message = ' [[File:Exclam icon.svg|12px|'.. error_message .. ']]' end return error_message end local function tableA(s) local error_message=handle_error_message(s) local t = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '0') :attr('cellspacing', '0') :css('border' , '1px solid var(--border-color-subtle, #c8ccd1)') :css('padding', '3px') local title =translate(s.header_function,s.header_1, s.w_race, s.title) if s.header_1 == 19 and wiki == "ar" then title = title .. " " .. s.year end local wd_link = mw.html.create('span'):cssText('float:left; margin: 0 5px'):wikitext(wdLink(s.item..'#'..s.property)) if arwiki_totemplate then wd_link = wdLink(s.item..'#'..s.property) end local caption = t:tag('tr'):tag('th'):attr('colspan', tostring(#s.header_2 + 1)) :cssText('padding:2px; text-align:center; line-height: 1.8em; color: inherit;') :css('background-color',backgroundColor) caption:wikitext(tostring(wd_link)..' '..error_message ..' '..title) local country=getCountryBool(s.no_country) local header = t:tag('tr') for i,k in ipairs(s.header_2) do if i == s.country_column then if country == true then header:tag('th') :cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap') :wikitext(translate(s.header_function,k,s.w_race)) end end if i ~= s.country_column then local column = header:tag('th') :cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap') :wikitext(translate(s.header_function,k,s.w_race)) if s.data_sort_type[i] == 'unsortable' then column:addClass('unsortable') end end end return t end local function tableB(s) --for startlist local error_message=handle_error_message(s) local roll = true for _, value in pairs(s.no_roll_startlist) do -- get data if country should be printed in this wiki if value == wiki then roll = false end end local cssTable= "border: 1px solid var(--border-color-subtle, #c8ccd1); margin: 0 0 0 0;".. "background-color: var(--background-color-base, #fff); padding: 0px; float: left;".. "clear: left; color: var(--color-base, #202122); text-align: left; vertical-align: top; font-size: 85%; line-height: 1.8em;" local wdlink_span = mw.html.create('span'):css('float',floattable):wikitext(wdLink(s.item.. '#'.. s.property)..' '..error_message) if arwiki_totemplate then wdlink_span = wdLink(s.item..'#'..s.property) end if roll == true then local rollTable1 = mw.html.create('div'):addClass("mw-collapsible") :cssText('center = margin: 0 0.5em 0;clear:both; border: 1px solid var(--border-color-subtle, #c8ccd1);' .. 'cellpadding="4" cellspacing="0" style="width:100%; background-color: var(--background-color-base, #fff); color:inherit; padding: 5px;'.. 'margin-bottom:1em; background-color:'..backgroundColor..';') :attr('title','['..translate("startlist",14)..']/['..translate("startlist",15)..']') local tDiv= rollTable1:tag('div') :cssText('text-align:'.. textalign ..";height:1.8em; color:inherit;font-weight:bold;") :css('background-color',backgroundColor) tDiv:tag('span') local tSpan=tDiv:wikitext(tostring(wdlink_span)) tDiv:wikitext(translate("startlist",1,s.w_race or false)) tDiv = rollTable1:tag('div'):addClass("mw-collapsible-content"):cssText("margin:0; background:var(--background-color-base, #fff); color: inherit; display:block; text-align:left;") local tTable= tDiv:tag('table'):cssText("border:1px solid var(--border-color-subtle, #c8ccd1)") local tCell = tTable:tag('tr'):tag('td') local insideTable =tCell:tag('table'):attr('cellpadding','4') -- cellspacing="0" style="width:100%;" color: black; :cssText(cssTable) return rollTable1, insideTable else --otherwise problem of clear local tab = mw.html.create('table') tCell=tab:tag('td') local tTable =tCell:tag('table') :attr('cellpadding','0') :cssText(cssTable) tCell = tTable:tag('tr'):tag('th') :css("background-color",backgroundColor) :css('color', 'inherit') :attr('colspan','3'):attr('align','center') tCell:node(wdlink_span) tCell:wikitext(translate("startlist",1,s.w_race or false)) local tRow=tCell:tag('tr') return tab, tRow end end --=== D) Jersey, flag functions === --used from 2 functions local flags = { Q16 = {'CAN', {'Flag of Canada.svg', '+1965-02-15'}}, Q17 = {'JPN', {'Flag of Japan.svg', '+1999-08-13'}, {'Flag of Japan (1870–1999).svg', '+1870-02-27', '+1999-08-12'}}, Q20 = {'NOR', {'Flag of Norway.svg', '+1821-07-13'}}, Q27 = {'IRL', {'Flag of Ireland.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Ireland.svg', '+1937-12-29', '+1980-07-19'}}, Q28 = {'HUN', {'Flag of Hungary.svg', '+1957-05-23'}}, Q29 = {'ESP', {'Flag of Spain.svg', '+1981-12-06'}, {'Flag of Spain (1977–1981).svg', '+1977-01-21', '+1981-12-06'}, {'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'}, {'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'}, {'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'}, {'Flag of Spain (1785–1873, 1875–1931).svg', '+1874', '+1931-04-13'}}, Q30 = {'USA', {'Flag of the United States.svg', '+1960-07-04'}}, Q31 = {'BEL', {'Flag of Belgium (civil).svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Belgium (civil).svg', '+1800', '+1980-07-19'}}, Q32 = {'LUX', {'Flag of Luxembourg.svg'}}, Q33 = {'FIN', {'Flag of Finland.svg', '+1918-05-29'}}, Q34 = {'SWE', {'Flag of Sweden.svg'}}, Q35 = {'DEN', {'Flag of Denmark.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Denmark.svg', '+1800', '+1980-07-19'}}, Q36 = {'POL', {'Flag of Poland.svg'}}, Q37 = {'LTU', {'Flag of Lithuania.svg', '+2004-09-01'}, {'Flag of Lithuania (1988-2004).svg', '+1990-03-11', '+2004-09-01'}}, Q38 = {'ITA', {'Flag of Italy.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Italy.svg', '+1946-06-19', '+1980-07-19'}, {'Flag of Italy (1861–1946).svg', '+1861', '+1946-06-19'}}, Q39 = {'SUI', {'Flag of Switzerland.svg', '+1980-08-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Switzerland.svg', '+1879-01-01', '+1980-07-19'}}, Q40 = {'AUT', {'Flag of Austria.svg', '+1945-05-01'}, {'Flag of Austria.svg', '+1919-10-21', '+1938-03-13'}}, Q41 = {'GRE', {'Flag of Greece.svg', '+1978'}}, Q43 = {'TUR', {'Flag of Turkey.svg'}}, Q45 = {'POR', {'Flag of Portugal.svg', '+1911-06-30'}}, Q55 = {'NED', {'Flag of the Netherlands.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the Netherlands.svg', '+1806', '+1980-07-19'}}, Q77 = {'URU', {'Flag of Uruguay.svg'}}, Q96 = {'MEX', {'Flag of Mexico.svg', '+1968-09-16'}, {'Flag of Mexico (1934-1968).svg', '+1934', '+1968-09-16'}}, Q114 = {'KEN', {'Flag of Kenya.svg'}}, Q115 = {'ETH', {'Flag of Ethiopia.svg', '+1996-10-31'}}, Q117 = {'GHA', {'Flag of Ghana.svg', '+1966-02-28'}}, Q142 = {'FRA', {'Flag of France (1794–1815, 1830–1974, 2020–present).svg', '+2020-07-14'}, {'Flag of France.svg', '+1980-07-29', '+2020–07-14'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of France.svg', '+1794-05-20', '+1980-07-19'}}, Q145 = {'GBR', {'Flag of the United Kingdom (3-5).svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the United Kingdom (3-5).svg', '+1980-07-19'}}, Q148 = {'CHN', {"Flag of the People's Republic of China.svg", '+1985'}}, Q155 = {'BRA', {'Flag of Brazil.svg', '+1992-05-11'}, {'Flag of Brazil (1968–1992).svg', '+1968-05-28', '+1992-05-11'}}, Q159 = {'RUS', {'Flag of Russia.svg', '+1993-12-11'}, {'Flag of Russia (1991–1993).svg', '+1991-08-22', '+1993-12-11'}, {'Flag of the Russian Soviet Federative Socialist Republic.svg', '+1954', '+1991-08-22'}, {'Flag of the Russian Soviet Federative Socialist Republic (1937–1954).svg', '+1937', '+1954'}}, Q183 = {'GER', {'Flag of Germany.svg', '+1949-05-23'}, {'Flag of the German Reich (1935–1945).svg', '+1935-09-15', '+1945-05-23'}, {'Flag of the German Reich (1933–1935).svg', '+1933-03-12', '+1935-09-15'}, {'Flag of Germany (3-2 aspect ratio).svg', '+1919-04-11', '+1933-03-12'}, {'Flag of the German Empire.svg', '+1871-04-16', '+1919-04-11'}}, Q184 = {'BLR', {'Flag of Belarus.svg', '+2012-05-11'}, {'Flag of Belarus (1995–2012).svg', '+1995-06-07', '+2012-05-11'}, {'Flag of Belarus (1918, 1991–1995).svg', '+1991-09-19', '1995-06-07'}}, Q189 = {'ISL', {'Flag of Iceland.svg', '+1944-06-17'}}, Q191 = {'EST', {'Flag of Estonia.svg'}}, Q211 = {'LAT', {'Flag of Latvia.svg'}}, Q212 = {'UKR', {'Flag of Ukraine.svg', '+1992-01-28'}}, Q213 = {'CZE', {'Flag of the Czech Republic.svg', '+1920-03-30'}}, Q214 = {'SVK', {'Flag of Slovakia.svg'}}, Q215 = {'SLO', {'Flag of Slovenia.svg'}}, Q217 = {'MDA', {'Flag of Moldova.svg'}}, Q218 = {'ROU', {'Flag of Romania.svg', '+1989-12-27'}, {'Flag of Romania (1965-1989).svg', '+1989-12-27', '+1965'}, {'Flag of Romania (1952-1965).svg', '+1952', '+1965'}, {'Flag of Romania (1948-1952).svg', '+1948-01-08', '+1952'}, {'Flag of Romania.svg', '12. april 1867-04-12', '+1948-01-08'}}, Q219 = {'BUL', {'Flag of Bulgaria.svg', '+1990-11-22'}, {'Flag of Bulgaria (1971 – 1990).svg', '+1971-05-18', '+1990-11-22'}}, Q222 = {'ALB', {'Flag of Albania.svg', '+1992'}}, Q224 = {'CRO', {'Flag of Croatia.svg', '+1990-12-21'}, {'Flag of Croatia (white chequy).svg', '+1990-06-27', '+1990-12-21'}}, Q227 = {'AZE', {'Flag of Azerbaijan.svg'}}, Q228 = {'AND', {'Flag of Andorra.svg'}}, Q229 = {'CYP', {'Flag of Cyprus.svg', '+2006-08-20'}, {'Flag of Cyprus (1960-2006).svg', '+1960-08-16', '+2006-08-20'}}, Q232 = {'KAZ', {'Flag of Kazakhstan.svg'}}, Q235 = {'MON', {'Flag of Monaco.svg'}}, Q238 = {'SMR', {'Flag of San Marino.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of San Marino.svg', '+1980-07-19'}}, Q241 = {'CUB', {'Flag of Cuba.svg'}}, Q244 = {'BAR', {'Flag of Barbados.svg'}}, Q252 = {'INA', {'Flag of Indonesia.svg'}}, Q258 = {'RSA', {'Flag of South Africa.svg', '+1994-04-27'}, {'Flag of South Africa (1982–1994).svg', '+1982-06-01', '+1994-04-27'}, -- exacte datum in 1982 onbekend {'Flag of South Africa (1928-1982).svg', '+1928-05-31', '+1982-05-31'} }, Q262 = {'ALG', {'Flag of Algeria.svg'}}, Q265 = {'UZB', {'Flag of Uzbekistan.svg'}}, Q298 = {'CHI', {'Flag of Chile.svg'}}, Q334 = {'SGP', {'Flag of Singapore.svg'}}, Q347 = {'LIE', {'Flag of Liechtenstein.svg'}}, Q398 = {'BRN ', {'Flag of Bahrain.svg','+2002-02-17'}, {'Flag of Bahrain (1972–2002).svg', '+1972-08-19', '+2002-02-16'}}, Q403 = {'SRB', {'Flag of Serbia.svg', '+2004-08-18'}, {'Flag of Serbia (1992–2004).svg', '+1992-04-27', '+2004-08-17'}}, Q408 = {'AUS', {'Flag of Australia.svg', '+1980-07-29'}, {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of Australia.svg', '+1980-07-19'}}, Q414 = {'ARG', {'Flag of Argentina.svg'}}, Q419 = {'PER', {'Flag of Peru.svg', '+1950'}, {'Flag of Peru (1825-1950).svg', '+1825-02-25', '+1950'}}, Q424 = {'CAM', {'Flag of Cambodia.svg', '+1993-06-30'}, {'Flag of Cambodia.svg', '+1948-10-20', '+1970-10-09'}}, Q664 = {'NZL', {'Flag of New Zealand.svg'}}, Q711 = {'MGL', {'Flag of Mongolia.svg'}}, Q717 = {'VEN', {'Flag of Venezuela.svg', '+2006-03-12'}, {'Flag of Venezuela (1930–2006).svg', '+1930','+2006-03-12'}}, Q733 = {'PAR', {'Flag of Paraguay.svg', '+2013-07-15'}, {'Flag of Paraguay (1990–2013).svg', '+1990', '+2013-07-14'}}, Q736 = {'ECU', {'Flag of Ecuador.svg'}}, Q739 = {'COL', {'Flag of Colombia.svg'}}, Q750 = {'BOL', {'Flag of Bolivia.svg', '+1851-10-31'}}, Q754 = {'TTO', {'Flag of Trinidad and Tobago.svg'}}, Q769 = {'GRN', {'Flag of Grenada.svg'}}, Q774 = {'GUA', {'Flag of Guatemala.svg'}}, Q778 = {'BAH', {'Flag of the Bahamas.svg'}, '+1973-07-10'}, Q783 = {'HON', {'Flag of Honduras.svg'}, '+1949'}, Q786 = {'DOM', {'Flag of the Dominican Republic.svg'}}, Q794 = {'IRI', {'Flag of Iran.svg', '+1980-07-29'}, {'Flag of Iran (1964–1980).svg', '+1964', '+1980-07-29'}}, Q800 = {'CRC', {'Flag of Costa Rica (state).svg', '+1906-11-27'}}, Q801 = {'ISR', {'Flag of Israel.svg'}}, Q804 = {'PAN', {'Flag of Panama.svg'}}, Q813 = {'KGZ', {'Flag of Kyrgyzstan.svg', '+1992-03-03'}}, Q817 = {'KUW', {'Flag of Kuwait.svg', '+1961-09-07'}}, Q833 = {'MAS', {'Flag of Malaysia.svg', '+1963-09-16'}}, Q842 = {'OMA', {'Flag of Oman.svg', '+1995'}}, Q846 = {'QAT', {'Flag of Qatar.svg'}}, Q858 = {'SYR', {'Flag of Syria.svg', '+1980-03-29'}}, Q865 = {'TPE', {'Flag of the Republic of China.svg', '+1928-12-17'}}, Q869 = {'THA', {'Flag of Thailand.svg'}}, Q878 = {'UAE', {'Flag of the United Arab Emirates.svg'}}, Q881 = {'VIE', {'Flag of Vietnam.svg', '+1976-02-07'}}, Q884 = {'KOR', {'Flag of South Korea.svg', '+1997-10'}}, Q889 = {'AFG', {'Flag of Afghanistan (2013–2021).svg','+2013-08-19'}, {'Flag of Afghanistan (2004-2021, Variant).svg', '+2004-10-09', '+2013-08-18'}, {'Flag of Afghanistan (2002–2004, variant with golden arms).svg', '+2002-06-27', '+2004-10-08'}, {'Flag of Afghanistan (2002–2004).svg', '+2002-01-28', '+2002-06-26'}, {'Flag of Afghanistan (2001–2002).svg', '+2001-11-13', '+2002-01-27'}, {'Flag of Afghanistan (1992–2001).svg', '+1992-12-07', '+2002-01-26'}, {'Flag of Afghanistan (1992).svg', '+1992-04-27', '+1992-12-06'}, {'Flag of Afghanistan (1987–1992).svg', '+1987-11-30', '+1992-04-26'}, {'Flag of Afghanistan (1980–1987).svg', '+1980-04-22', '+1987-11-29'}, {'Flag of Afghanistan (1978–1980).svg', '+1978-10-19', '+1980-04-21'}, {'Flag of Afghanistan (1978).svg', '+1978-04-27', '+1978-10-18'}, {'Flag of Afghanistan (1974–1978).svg', '+1974-05-9', '+19780-4-26'}, {'Flag of Afghanistan (1973–1974).svg', '+1973-03-17', '+1974-05-8'}, {'Flag of Afghanistan (1931–1973).svg', '+1930-03-27', '+1973-03-16'}, {'Flag of Afghanistan (1929–1931).svg', '+1929-01-1', '+1930-03-26'}}, Q902 = {'BAN ', {'Flag of Bangladesh.svg','+1972-01-17'}, {'Flag of Bangladesh (1971).svg', '+1971-03-06', '+1972-01-16'}}, Q916 = {'ANG', {'Flag of Angola.svg', '+1975-11-11'}}, Q917 = {'BHU ', {'Flag of Bhutan.svg','+1972-06-08'}, {'Flag of Bhutan (1956–1969).svg', '+1956-07-01', '+1972-06-07'}, {'Flag of Bhutan (1949–1956).svg', '+1949-01-01', '+1956-06-30'}}, Q921 = {'BRU', {'Flag of Brunei.svg', '+1959-09-29'}}, Q928 = {'PHI', {'Flag of the Philippines.svg', '+1998'}}, Q948 = {'TUN', {'Flag of Tunisia.svg', '+1999-07-03'}}, Q954 = {'ZIM', {'Flag of Zimbabwe.svg', '+1980-04-18'}}, Q965 = {'BUR', {'Flag of Burkina Faso.svg'}}, Q983 = {'GEQ', {'Flag of Equatorial Guinea.svg', '+1979-08-21'}, {'Flag of Equatorial Guinea (1973–1979).svg', '+1973', '+1979-08-21'}, {'Flag of Equatorial Guinea (without coat of arms).svg', '+1968-10-12', '+1973'}}, Q986 = {'ERI', {'Flag of Eritrea.svg'}}, Q1000 = {'GAB', {'Flag of Gabon.svg', '+1960-08-09'}}, Q1007 = {'GBS', {'Flag of Guinea-Bissau.svg', '+1973-09-24'}}, Q1008 = {'CIV', {"Flag of Côte d'Ivoire.svg"}}, Q1009 = {'CMR', {'Flag of Cameroon.svg'}}, Q1027 = {'MRI', {'Flag of Mauritius.svg', '+1968-03-13'}}, Q1028 = {'MAR', {'Flag of Morocco.svg'}}, Q1030 = {'NAM', {'Flag of Namibia.svg', '+1990-03-21'}}, Q1036 = {'UGA', {'Flag of Uganda.svg', '+1962-10-09'}}, Q1037 = {'RWA', {'Flag of Rwanda.svg', '+2001-10-25'}, {'Flag of Rwanda (1962–2001).svg', '+1962', '+2001-10-25'}}, Q1183 = {'PUR', {'Flag of Puerto Rico.svg'}}, Q9676 = {'IMN', {'Flag of the Isle of Man.svg'}}, Q15180 = {'URS', {'Flag of the Soviet Union.svg', '+1980-08-15', '+1991-12-25'}, {'Flag of the Soviet Union (1955–1980).svg', '+1955-08-19', '+1980-08-14'}, {'Flag of the Soviet Union (1924–1955).svg', '+1923-11-13', '+1955-08-18'}}, Q16957 = {'GDR', {'Flag of East Germany.svg', '+1959-10-01'}, {'Flag of Germany.svg', '+1949-10-07', '+1959-10-01'}}, --German Democratic Republic Q8646 = {'HKG', {'Flag of Hong Kong.svg'}}, Q25228 = {'AIA', {'Flag of Anguilla.svg'}}, Q29999 = {'NED', {'Flag of the Netherlands.svg', '+1980-07-29'}, --Kingdom of the Netherlands {'Olympic flag.svg', '+1980-07-19', '+1980-07-29'}, -- OG-1980 {'Flag of the Netherlands.svg', '+1690', '+1980-07-19'}}, Q33946 = {'TCH', {'Flag of the Czech Republic.svg', '+1920'}}, -- Czechoslovakia (1918–1992) Q36704 = {'YUG', {'Flag of Yugoslavia (1992–2003).svg', '+1992-04-27', '+2003-02-04'}, --Yugoslavia {'Flag of Yugoslavia (1943–1992).svg', '+1946', '+1992-04-27'}}, Q41304 = {'GER', {'Flag of Germany (3-2 aspect ratio).svg', '+1918-11-09'}}, -- Weimar Republic Q47588 = {'EU', {'Flag_of_the_Basque_Country.svg'}}, Q83286 = {'YUG', {'Flag of Yugoslavia (1943–1992).svg'}}, --Socialist Federal Republic of Yugoslavia Q172579 = {'ITA', {'Flag of Italy (1861–1946).svg'}}, --Kingdom of Italy (1861-1946) Q216923 = {'TPE', {'Flag of Chinese Taipei for Olympic games.svg'}}, -- Chinese Taipei Q268970 = {'AUT', {'Flag of Austria.svg', '+1918-11-12', '+1919-09-10'}}, -- German-Austria (1918-1919) Q713750 = {'FRG', {'Flag of Germany.svg'}}, --West Germany Q853348 = {'TCH', {'Flag of the Czech Republic.svg'}, '+1960-07-11', '+1990-03-29'}, -- Czechoslovak Socialist Republic (1960-1990) Q2415901 = {'GER', {'Merchant flag of Germany (1946–1949).svg', '+1945-05-09', '+1949-05-23'}}, -- Allied-occupied Germany Q13474305 = {'ESP', {'Flag of Spain (1945–1977).svg', '+1945-10-11', '+1977-01-21'}, -- Francoist Spain (1935-1976) {'Flag of Spain (1938–1945).svg', '+1939', '+1945-10-11'}, {'Flag of the Second Spanish Republic.svg', '+1931-04-14', '+1939'}}, Q113486069={'NEUTRAL', {'Flag white.svg'}} --Russia and Belarus during the ban, cannot replace the flags above, because there are cases where it does not apply } local function flag(countryID, date) local trackingCategory = '' --[[ If you uncomment the line under this comment, all pages with look-up misses in the flag table will be placed in a tracking category. You can use this to find more flags to add to the table. ]] -- trackingCategory = '[[Category:Missing flag in Module:Cycling race]]' local entry = flags[countryID] local IOC local file local result = "" if entry then for i, v in ipairs(entry) do if i == 1 then IOC = v else if not date then file = v[1] break else local from = v[2] local to = v[3] if (not from or from <= date) and (not to or to > date) then file = v[1] break end end end end end local flagpxSize = '20px' if countryID == 'Q39' then flagpxSize = '16px'end -- Small size for an square flag as Switzerland if file then result = '[[File:' .. file .. '|border|' .. flagpxSize ..'|' .. IOC .. ']]' if arwiki_totemplate then result = '{{flagicon|' .. IOC .. '}}' end elseif not date then local p41 = firstValue(countryID, "P41") -- P41 is flag image if p41 then result = '[[File:' .. p41 .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]' if arwiki_totemplate then result = '{{flagicon image|' .. p41 .. '}}' end end else -- Search flag for specific date local p41 = getStatementForTime(countryID, "P41", date) -- P41 is flag image if p41 then result = '[[File:' .. p41.mainsnak.datavalue.value .. '|border|' .. flagpxSize ..'|(Wikidata:' .. countryID .. ')]]' if arwiki_totemplate then result = '{{flagicon image|' .. p41.mainsnak.datavalue.value .. '}}' end end end return result .. trackingCategory end -- countryID --> shape ([[France|FRA]]) local function uciCodeCountry(countryID) local uciCode, countryName local blacklist={Q736=true} if countryID then --get UCI code if flags[countryID] then uciCode=flags[countryID][1] end --get link, assumed for a country the label is equal to the link, where not correct in the blacklist --if the black list becomes too long, we could create a second list for the sitelinks countryName=country_name_from_list(countryID) if countryName == nil or blacklist[countryID] then countryName = mw.wikibase.getSitelink(countryID) end if uciCode and countryName then return ' <small>([['..countryName..'|'..uciCode..']])</small> ' end end return '' --else end local function jersey_infobox( winner_classification, item, timeOfRace) local jersey, jersey_name = '', '' local jerseyWPID = '' -- 1. Item of race, e.g. Tour de France = 'Q33881' -- 2. type of winner, names are the ones in variable t_s -- 3. and 4. start and end time. '+2500' means year 2500. Always beginning with a '+' -- 5. item of the jersey -- 6. item of the Wikipedia article of that jersey --timeOfRace = '+1968-07-01T00:00:00Z' timeOfRace = string.match(timeOfRace, "+%d%d%d%d") or '' for _, v in pairs(item) do for _, value in pairs(data.stageinfobox_jersey) do if v == value[1] then if winner_classification == value[2] then if (timeOfRace >= value[3]) and (timeOfRace <= value[4]) then jersey = value[5] jerseyWPID = value[6] end end end end end -- local starttime, endtime = '', '+2500' if jersey ~= '' then --and (timeOfRace > starttime) and (timeOfRace < endtime) then local entity_jersey = mw.wikibase.getEntity(jersey) jersey = entity_jersey.claims['P18'][1].mainsnak.datavalue.value jersey_name = entity_jersey:getLabel(wikilang) or '' if jerseyWPID ~= '' then local entity = mw.wikibase.getEntity( jerseyWPID ) local Sitelink = entity:getSitelink(wiki..'wiki') -- link to WParticle if Sitelink ~= nil then jerseyWPID = wiki..':'..Sitelink else jerseyWPID = '' end end return jersey, jersey_name, jerseyWPID else return '', '', '' end end local function jersey(h) local jersey_string = ' ' local jerseys = { ['Q24257871'] = {file = 'Jersey yellow.svg', name_ar = 'قميص أصفر لمتصدر الترتيب العام', name_fr = 'maillot jaune de leader du classement général', name_es = 'maillot amarillo de líder de la clasificación general', name_ru = 'жёлтая майка лидера генеральной классификации' }, ['Q24645209'] = {file = 'Jersey green.svg', name_ar = 'قميص أخضر لمتصدر ترتيب النقاط', name_fr = 'maillot vert de leader du classement par points', name_es = 'maillot verde de líder de la clasificación por puntos', name_ca = 'mallot verd del líder de la classificació per punts', name_ru = 'зелёная майка лидера очковой классификации' }, ['Q640430'] = {file = 'Jersey white.svg', name_ar = 'قميص أبيض لمتصدر ترتيب الشباب', name_fr = 'maillot blanc de leader du classement du meilleur jeune', name_es = 'maillot blanco de líder de la clasificación de los jóvenes', name_ru = 'белая майка лидера молодёжной классификации', name_de = 'weißes Trikot des Führenden der Nachwuchswertung' }, } if type(h) == 'table' and h[1] then for _, v in ipairs(h) do local jersey_name if jerseys[v] then jersey_string = jersey_string .. '[[File:' .. jerseys[v].file .. '|20px' jersey_name = jerseys[v]['name_' .. wiki] or mw.wikibase.getLabel(v) or jerseys[v]['name_fr'] if jersey_name then jersey_string = jersey_string .. '|' .. jersey_name end jersey_string = jersey_string .. ']]' else local p18 = mw.wikibase.getBestStatements(v, 'P18') if p18[1] and p18[1].mainsnak.snaktype == 'value' then jersey_string = jersey_string .. '[[File:' .. p18[1].mainsnak.datavalue.value .. '|20px' jersey_name = getLabelFallback(v) if jersey_name then jersey_string = jersey_string .. '|' .. jersey_name end jersey_string = jersey_string .. ']]' end end end end return jersey_string end -- function end --=== E) Other (winner) === local function isHuman(riderId) local isHuman = false if riderId then local p31 = wikibase.getBestStatements(riderId, 'P31') for _, iOf in pairs (p31) do if iOf.mainsnak.snaktype == 'value' and iOf.mainsnak.datavalue.value.id == "Q5" then isHuman = true break end end end return isHuman end local function isCountry(inputID) local isCountry = false if inputID then local p31 = wikibase.getBestStatements(inputID, 'P31') for _, iOf in pairs (p31) do -- exception Hong-Kong and Taiwan if iOf.mainsnak.snaktype == 'value' and (iOf.mainsnak.datavalue.value.id == "Q6256" or iOf.mainsnak.datavalue.value.id =="Q15634554" or iOf.mainsnak.datavalue.value.id =="Q779415") then isCountry = true break end end end return isCountry end local function isWomenrace(raceID) --for translation for _, p2094 in statements(raceID, 'P2094') do if p2094.mainsnak.datavalue.value.id == "Q1451845" then return true end end return false end local function isWomenteam(teamID, timeOfRace) if isWomenrace(teamID) then --simplest way return true end --else we can identify with teamCat local _, catID= getTeamLinkCat(teamID, timeOfRace, false) if data.womenCats[catID] then return true end return false end local function getNationality(wID, timeOfRace,q) --for a rider local p27, countryID --allow overload of the property, for cases like Russian/BLR ban, or Commonwealth games, only for P1532 if q and q.P1532 and q.P1532[1].snaktype == 'value' then countryID = q.P1532[1].datavalue.value.id else local listOfProperty={'P1532','P27'} if wID then for _, prop in ipairs(listOfProperty) do if countryID==nil then p27 = getStatementForTime(wID, prop, timeOfRace) --P27 is country of citizenshi if p27 then countryID = p27.mainsnak.datavalue.value.id end end end end if wiki=='eu' and (countryID=="Q142" or countryID=="Q29") then --look for people or location in the Basque Country, quite expensive function local birth_place = firstValue(wID, 'P19','id') --birth place if data.BasqueTown[birth_place] then return "Q47588" end end end return countryID end local function subwinner(riderId, timeOfRace, q) local outTable={} local riderTeam, riderLink, countryID if riderId then if isHuman(riderId) then riderLink = getRiderLink(riderId, timeOfRace) countryID = getNationality(riderId, timeOfRace,q) if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end riderTeam = getTeam(riderId, timeOfRace, q) or '' else local _ riderLink, _, countryID = getTeamLinkCat(riderId, timeOfRace, true) if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end end end return riderLink, riderTeam end local function winner(lf,raceID, winners, timeOfRace, country, WDlink_on, team, ref, winnersId) local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner' for _, winner in pairs(p1346) do local wID = winner.mainsnak.snaktype == 'value' and winner.mainsnak.datavalue.value.id local wOf, wCause, wCriterion, riderLink local q = winner.qualifiers if q then local _, disqualified =isdisqualified(winner,q) local propertyOf=nil if q.P2501 and q.P2501[1].snaktype == 'value' then propertyOf=q.P2501 --result elseif q.P828 and q.P828[1].snaktype == 'value' then --cause, for cancellation propertyOf=q.P828 elseif q.P642 and q.P642[1].snaktype == 'value' then propertyOf=q.P642 --fallback end if propertyOf and propertyOf[1].snaktype == 'value' then for _, qprop in pairs(propertyOf) do wOf = qprop.datavalue.value.id if not wOf then -- Try P1346 (winner) instead -- Assume Q20882667 ('overall winner general classification') if neither are found wOf = q.P1346 and q.P1346[1].snaktype == 'value' and q.P1346[1].datavalue.value.id or 'Q20882667' end wCause = q.P828 and q.P828[1].snaktype == 'value' and q.P828[1].datavalue.value.id -- P828 is 'has cause' wCriterion = q.P1013 and q.P1013[1].snaktype == 'value' and q.P1013[1].datavalue.value.id -- P1013 is 'criterion used' if winners[wOf] then if wID then local reference = ref and getReference(lf,winner) local _, countryID if isHuman(wID) then riderLink = getRiderLink(wID, timeOfRace) if reference then riderLink = riderLink .. reference end if team then local riderTeam = getTeam(wID, timeOfRace, q) if riderTeam then riderLink = riderLink .. ' (' .. riderTeam .. ')' end end elseif isCountry(wID) then riderLink = flag(wID, timeOfRace).." "..getCountryName(wID) if reference then riderLink = riderLink .. reference end country=true else --team local _ riderLink, _, countryID = getTeamLinkCat(wID, timeOfRace, country) if reference then riderLink = riderLink .. reference end end if not country then if not countryID then if isHuman(wID) then countryID = getNationality(wID, timeOfRace,q) else countryID = getCountryID(wID, timeOfRace) end end if countryID then riderLink = flag(countryID, timeOfRace) .. ' ' .. riderLink end end if WDlink_on then riderLink = riderLink .. ' ' .. wdLink(wID) end else riderLink = wCriterion and contentLanguage:ucfirst(wikibase.getLabel(wCriterion) or '') or '' if wCause then local cause = wikibase.getLabel(wCause) if cause then riderLink = riderLink .. ' (' .. cause .. ')' end end end if disqualified==true then riderLink='<s>'..riderLink..'</s>' end if winnersId and winnersId[wOf] then if disqualified or ((not wID) and wCriterion) then winnersId[wOf]= 'Q666' --to identify disqualification else winnersId[wOf]= wID --identify cancelled end end if winners[wOf] == '' then winners[wOf] = riderLink else winners[wOf] = winners[wOf] .. '<br/>' .. riderLink end end end end end end end local function sortAndConcat(t_Body, resultTable) table.sort(t_Body, function(a, b) return a['sortkey'] < b['sortkey'] end) for _, m in ipairs(t_Body) do resultTable:node(m['body']) end return resultTable end --------- Definition sub-functions for calendar and victory ------ local function getTimeOfRace(raceID, mandatory, p582_prio) local timeOfRace, properties if p582_prio then --for case like UCI Europe Tour 2006 (Q1455600) where most of the competition is in the next year properties={'P582','P585','P580'} else properties={'P580','P585','P582'} end for _, prop in ipairs(properties) do timeOfRace= firstValue(raceID, prop, 'time') if timeOfRace ~= nil then return timeOfRace end end local link = getSitelinkFallback(raceID, {'en', 'fr', 'de','es'}) --language is not important here, it is just to get the year if link then local year = string.match(link, '%d%d%d%d') if year then return year .. '-01-01T00:00:00Z' end end if wiki == "ar" then return '+1970-01-01T00:00:00Z' end if mandatory then error('> Wikidata is missing data about start time (P580) or point in time (P582)') end return nil end local function get_formatted_date(entityID, functionName) local sTime = firstValue(entityID, 'P580', 'time') -- P580 is 'start time' local eTime = firstValue(entityID, 'P582', 'time') -- P582 is 'end time' local style1, style2 if functionName=="infobox" then style1='verylong' --force to display the year style2='long' else style1='small' style2='small' end if sTime and eTime then local startTime, endTime = getStartEndTime(sTime, eTime, style1) if functionName==nil or functionName=='infobox' then --calendar, infobox return startTime .. ' – ' .. endTime, sTime, true else --victory, general classification return endTime, eTime, true end else local pTime = firstValue(entityID, 'P585', 'time') -- P585 is 'point in time' if pTime then return funcDate(pTime, style2), pTime, false end end return nil end local function fn_date(entityID, functionName) --to move as a general function local tempdate, timeOfRace, _ = get_formatted_date(entityID, functionName) --is there a reason why timeofrace cannot be sTime?? local _, _, y, m, d = string.find(timeOfRace or "", "(%d+)-(%d+)-(%d+)") local sortkey=(y or '')..(m or '')..(d or '') if sortkey =='' then sortkey = '0000' end local tCell = mw.html.create('td'):attr('data-sort-value',sortkey) :cssText("style=text-align:right;padding:0 0.5em") :wikitext(tempdate) return timeOfRace, tostring(tCell), sortkey end local function fn_country(entityID, timeOfRace,country, raceCell, parentID) -- This function gives countries where the race take place -- parentID taken from fn_race, optional local country_str, country_name, country_flag local cssCell="text-align:" .. textalign .. ";padding:0 0.5em" local tCell= mw.html.create('td'):cssText(cssCell) local countryID = getCountryID(entityID, timeOfRace) if countryID==nil then countryID = getCountryID(parentID, timeOfRace) end if countryID then country_flag=flag(countryID, timeOfRace) country_str=country_flag country_name = getCountryName(countryID) if country_name~='' then tCell:attr('data-sort-value',country_name) if country~= false then country_str=country_str.." "..country_name end end else country_flag="no flag" end if country==false then tCell:wikitext(country_flag.." "..(raceCell or '')) country_name='' else if country_str then tCell:wikitext(country_str) end end return country_flag, country_name, tCell end local function commaStage(stageID,raceLabel) --how to write "stage, " local outTable={} local stageNumber='' local subStage = '' local stageNumberonly, stageLetter local temp=firstValue(stageID, 'P1545') if temp then stageNumber = temp end if stageNumber=='0' then --prologue stageNumber= translate("victories",9) else if stageNumber==nil then stageNumber= translate("victories",8) else --look for subStage local i,j = string.find(stageNumber, "%a+") --if letter in the stage number if i ~= nil then --we have to do something local k,l = string.find(stageNumber, "%d+") --select the number in the stage number stageNumberonly = string.sub(stageNumber, k, l)--cut the string in 2 stageLetter = string.sub(stageNumber, i, j) stageNumber=stageNumberonly if stageLetter ~= nil then subStage=stageLetter end end if wiki == 'ar' then stageNumber= translate("victories",8)..' '..number('f', tonumber(stageNumber), wiki) else stageNumber= number('f', tonumber(stageNumber), wiki)..subStage..' '..translate("victories",8) end end end local comma = ", " if wiki == 'ar' then comma = " ، " end if wiki == 'fr' then local correpondance={ {name="^Trois", article= " des "}, {name="^Quatre", article= " des "}, {name="^Boucles", article= " des "}, {name="^Triptyque", article= " du "}, {name="^Tour", article= " du "}, {name="^Grand Prix", article= " du "}, {name="^Circuit", article= " du "}, {name="^Mémorial", article= " du "}, {name="^Trophée", article= " du "}, {name="^Ronde", article= " de la "}, {name="^Semaine", article= " de la "}, {name="^Classica", article= " de la "}, {name="^Flèche", article= " de la "}, {name="^Course", article= " de la "}, {name="^Classique", article= " de la "}, {name="Race", article= " de la "}, {name="^Étoile", article= " de l'"}, {name="^La", article= " de "} } for _, v in ipairs(correpondance) do if string.find(raceLabel, v.name) then comma = v.article break end end end if wiki == 'fr' or wiki=="ca" or wiki=="es" or wiki=="ast" then outTable["prefix"]=stageNumber..comma outTable["postfix"]='' else --if wiki=="de" or wiki=="da" or wiki=="fo" or wiki == "lb" or wiki=="no" or wiki=="ru" or wiki=="ar" or wiki=="lv" or wiki=="pl" then outTable["prefix"]='' outTable["postfix"]=comma..stageNumber end return outTable end local function getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace) --the link to the edition but with a general name local instanceOf, instanceOfTemp, label, Sitelink, isclass, prefix, postfix local arlabel local stage_link=false if stageID then Sitelink=wikibase.getSitelink(stageID) if Sitelink then stage_link=true end end if Sitelink==nil then Sitelink=wikibase.getSitelink(entityID) end prefix=''; postfix='' --general classification listOfProperty={'P2561','P1448'} --main race link is in the parent --can be improved for _, p31 in statements(entityID, 'P31') do instanceOfTemp = p31.mainsnak.datavalue.value.id if instanceOfTemp ~= "Q27020041" and instanceOfTemp ~= 'Q88903067' and data.class_dic[instanceOfTemp]==nil then --but the main race instanceOf=instanceOfTemp end end --get information from the parent if instanceOf then --look for for _, prop in ipairs(listOfProperty) do for _, p2561 in statements(instanceOf, prop) do --name for championship if label==nil then local lang_WD = p2561.mainsnak.datavalue.value.language if wiki == lang_WD then local nametemp = p2561.mainsnak.datavalue.value.text if timeOfRace~= nil then local q = p2561.qualifiers if q then local temp = checktime(nametemp,q,timeOfRace) if temp then label = nametemp end--if the time is correct than it is finished else label = nametemp arlabel = label end end end end end end if label==nil then label=getLabelFallback(instanceOf,lang_priority) --the case of 'ar' should be handled in lang_priority if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(instanceOf, 'ar') end if not label then label=getLabelFallback(entityID,lang_priority) or '' end end if Sitelink==nil and entity_type~=0 then --only if no link to the race direct Sitelink=wikibase.getSitelink(instanceOf) end if Sitelink==nil and entity_type==0 then --only for champ local temp=firstValue(entityID, 'P361','id') --temp is NC France 2019 for instance if temp then Sitelink= wikibase.getSitelink(temp) end if Sitelink == nil then local temp2=firstValue(entityID, 'P31','id') -- French NC Men ITT if temp2 then Sitelink= wikibase.getSitelink(temp2) if Sitelink == nil then local temp3=firstValue(temp2, 'P361','id') -- French NC ITT if not temp3 then temp3=firstValue(temp2, 'P31','id') end if temp3 then Sitelink= wikibase.getSitelink(temp3) if Sitelink == nil then local temp4=firstValue(temp3, 'P361','id') -- French NC if not temp4 then temp4=firstValue(temp3, 'P31','id') end if temp4 then Sitelink= wikibase.getSitelink(temp4) end end end end end end end end --affect the label if label==nil then label=getLabelFallback(entityID,lang_priority) or '' if wiki == 'ar' then arlabel = mw.wikibase.getLabelByLang(entityID, 'ar') end end --look for link to the race if nothing --if different languages have to be added, a language table can be created if entity_type==2 then if functionName~=nil then --calendar=nil if wiki == 'fr' then prefix= translate("victories",1)..', ' --general classification elseif wiki == 'ar' then postfix ='، '..translate("victories",1) else postfix = ', '..translate("victories",1) end end elseif entity_type=='stage' then --how to write "stage, " is concentrated in one function local commaTable=commaStage(stageID, label) prefix= commaTable["prefix"] postfix=commaTable["postfix"] end if Sitelink == nil then if wiki == 'ar' then label = make_IllWD2_link(entityID,arlabel,label) end return prefix..label..postfix elseif stage_link then return '[['..Sitelink..'|'..prefix..label..postfix..']]' else return prefix..'[['..Sitelink..'|'..label..']]'..postfix end end --look for the circuitID to create a link as [[World Tour|1.UWT]] --a bit redundant with classLink which needs less computation --for infobox classLink gives enough info local function classToCircuit(classID, entityID, child, q) local displayedCircuitID, circuitID if classID then if classID=='Q23005601' or classID=='Q23005603' then --1WWT 2WWT clear displayedCircuitID = 'Q21075974' elseif classID=='Q22231106' or classID=='Q22231107' then --1UWT 2UWT clear displayedCircuitID = 'Q635366' else --we have to look in the item if child then --for instance Flèche wallonne 2020 for _, p361 in statements(entityID, 'P361') do circuitID = p361.mainsnak.datavalue.value.id for _, p31 in statements(circuitID, 'P31') do --is it a UCI circuit? parentCircuitID = p31.mainsnak.datavalue.value.id if data.UCI_Circuits[parentCircuitID] then displayedCircuitID=circuitID end end end else --for instance Flèche wallonne if q then if q.P118 and q.P118[1].snaktype == 'value' and q.P118[1].datavalue.value.id then --fallback displayedCircuitID = q.P118[1].datavalue.value.id elseif q.P642 and q.P642[1].snaktype == 'value' and q.P642[1].datavalue.value.id then --fallback displayedCircuitID = q.P642[1].datavalue.value.id end end end end end return displayedCircuitID end local function getStartEndfromQuali(q) --return sTime and eTime as date local sTime, eTime if q then if q.P580 and q.P580[1] and q.P580[1].snaktype == 'value' then -- P580 is start time sTime = q.P580[1].datavalue.value.time end if q.P582 and q.P582[1] and q.P582[1].snaktype == 'value' then -- P582 is end time eTime = q.P582[1].datavalue.value.time end end return sTime, eTime end local function funcDateFigure(date,mode) local y, m = string.match(date, "(%d+)-(%d+)-%d+") if mode=='Y' or m=='00' or not m then return y elseif y then return string.gsub(m,'0','').."."..y else return nil end end local function getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) local period if sTime and eTime then if startTime==endTime then period=startTime --only (1990) else period=startTime .. '-'..endTime end elseif sTime then period=startTime .. '-' elseif eTime then period='-'..endTime else period="" end if brackets and period~="" then period="("..period..")" end return period end local function getPeriodSub(sTime, eTime, brackets) local startTime, endTime, y, m, y2, m2 if sTime then y, m = string.match(sTime, "(%d+)-(%d+)-%d+") if m=='00' or m=='01' then startTime= funcDateFigure(sTime, 'Y') else startTime= funcDateFigure(sTime,'m') end end if eTime then y2, m2 = string.match(eTime, "(%d+)-(%d+)-%d+") if m2=='00' or m2=='12' then endTime=funcDateFigure(eTime, 'Y') else endTime=funcDateFigure(eTime, 'm') end end return getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) end local function getPeriodSub_season(sTime, eTime, brackets) local startTime, endTime if sTime and eTime then startTime, endTime = getStartEndTime(sTime, eTime, 'small') elseif sTime then startTime=funcDate(sTime, 'small') elseif eTime then endTime=funcDate(eTime, 'small') end return getPeriodSubSub(sTime, eTime, startTime,endTime,brackets) end -- for display period with only year, for instance (2020-2021) local function getPeriod(q, brackets,season) local sTime, eTime = getStartEndfromQuali(q) if season then return getPeriodSub_season(sTime, eTime, brackets), sTime else return getPeriodSub(sTime, eTime, brackets), sTime end end -- For infobox local function getClass(entityID) local classLink, circuitID, circuitLink local classTable={} for ii, p279 in statements(entityID, 'P279') do if p279 and p279.mainsnak.snaktype == 'value' then local classID = p279.mainsnak.datavalue.value.id if data.class_dic[classID]~=nil then circuitID=classToCircuit(classID, entityID, false, p279.qualifiers) classLink=classLinkFn(classID,circuitID) if classLink then local period, sTime=getPeriod(p279.qualifiers, true) local classStr = classLink .. " <small>"..period.."</small>" table.insert(classTable, {sTime, classStr, circuitID}) end end end end if #classTable~=0 then table.sort(classTable, function(a, b) return a[1] < b[1] end) end for _, class in pairs(classTable) do if not str then str='' else str=str..'<br>' end str=str..class[2] if class[3] then circuitLink=WPlinkpure(class[3]) end end return str, circuitLink, #classTable end local function fn_race(entityID,displayed_class,display_class,timeOfRace, functionName,country)--return link to the race and class --first function read from victory main local Sitelink, entity_type, classID, stageID, race_tCell, class_tCell, parentID for _, p31 in statements(entityID, 'P31') do if data.stages[p31.mainsnak.datavalue.value.id] then entity_type = 'stage' --then the class is one stage above! parentID = getParentID(entityID) classID=firstValue(parentID, 'P279', 'id') stageID= entityID --everything slide from one rank entityID = parentID end end --Now we have the class and know the type of race it is if entity_type == 'stage' then Sitelink=getMainRaceLink(entityID,entity_type,stageID, functionName,timeOfRace) else classID=firstValue(entityID, 'P279', 'id') Sitelink=getMainRaceLink(entityID,data.class_dic[classID],nil, functionName,timeOfRace) end if country~=false then local tCell=mw.html.create('td'):cssText("text-align:".. textalign ..";padding:0 2.3em"):wikitext(Sitelink) race_tCell=tostring(tCell) else race_tCell=Sitelink --already opened end if display_class == true and classID~=nil and (displayed_class==nil or displayed_class[classID]~=nil) then local circuitID=classToCircuit(classID, entityID, true,nil) local classLink=classLinkFn(classID,circuitID) --return '' worst case class_tCell=mw.html.create('td') :attr('data-sort-value',data.class_sort[classID]) --sortkey :cssText("text-align:center;padding:0 0.5em") :wikitext(classLink) end return parentID, race_tCell, class_tCell end local function fn_rider(lf,entityID,timeOfRace,display_team,only_winner,country) local winners, countrytemp, result local WDlink_on = (wiki == "mk" or wiki == "ja") local thereisawinner=false if only_winner == 1 then winners = {Q20882667 = '', Q20882747=''} -- first, general or stage elseif only_winner == 0 then winners = { Q20882667 = '', Q20882668 = '',Q20882669 = ''} -- Q20882668 is 'second overall' else --3 winners = { Q47640757='' } -- World Tour -- name not used here end if country==nil then countrytemp=false else countrytemp=country end winner(lf,entityID, winners, timeOfRace, countrytemp, WDlink_on, display_team, true) local tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em") if only_winner == 0 then tCell:wikitext(winners.Q20882667) result=tostring(tCell) tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882668) result=result..tostring(tCell) tCell=mw.html.create('td'):css("text-align:".. textalign ..";padding:0 0.5em"):wikitext(winners.Q20882669) return result..tostring(tCell) else local tempwinner if only_winner == 1 then if winners.Q20882667~=nil and winners.Q20882667~='' then tempwinner=winners.Q20882667 else tempwinner=winners.Q20882747 end else tempwinner=winners.Q47640757 end if tempwinner~='' and tempwinner~=nil then thereisawinner=true end return tCell:wikitext(tempwinner), thereisawinner end end local function compareDate(tdate) --test future if tdate then local today=os.date("*t") local _, _, y, m, d = string.find(tdate, "(%d+)%p(%d+)%p(%d+)") local tYear=tonumber(y) local tMonth=tonumber(m) local tDay=tonumber(d) if tYear>today['year'] then return true elseif tYear<today['year'] then return false --the last race is the future else if tMonth>today['month'] then return true elseif tMonth<today['month'] then return false else if tDay>today['day'] then return true elseif tDay<today['day'] then return false else return false --arbitrary end end end else return false --arbitrary end end local function calculateAge(birthDate, endDate) --test future local eYear, eMonth, eDay local longestcontractyears=10 if birthDate then if not endDate then local today=os.date("*t") eYear=today['year'] eMonth=today['month'] eDay=today['day'] else local _, _, y, m, d = string.find(endDate, "(%d+)%p(%d+)%p(%d+)") eYear=tonumber(y) eMonth=tonumber(m) eDay=tonumber(d) end local _, _, y, m, d = string.find(birthDate, "(%d+)%p(%d+)%p(%d+)") local tYear=tonumber(y) local tMonth=tonumber(m) local tDay=tonumber(d) local alreadyThisYear if eMonth>tMonth then alreadyThisYear=true elseif eMonth<tMonth then alreadyThisYear=false else if eDay>tDay then alreadyThisYear=true elseif eDay<tDay then alreadyThisYear=false else alreadyThisYear=true end end if alreadyThisYear then return eYear-tYear, tYear, eYear+longestcontractyears else return eYear-tYear-1, tYear, eYear+longestcontractyears end else return 0, tYear, eYear+longestcontractyears end end local function evaluateWinnerMax(t) local winners = t.vainqueur local result local most_wins = 0 local most_wins_ID = {} for winnerID, winner in pairs(winners) do if winner.count > most_wins then most_wins = winner.count most_wins_ID = { winnerID } elseif winner.count == most_wins then most_wins_ID[#most_wins_ID + 1] = winnerID end end if most_wins > 1 then for _, id in pairs(most_wins_ID) do if not result then result=winners[id].link else result=result.."<br>"..winners[id].link end end local _, gen_singular, gen_plural=plural(most_wins) if gen_singular then --slavic plural, 1 victory is not displayed word_victory=translate("raceinfobox",29) elseif gen_plural then word_victory=translate("raceinfobox",30) else word_victory=translate("raceinfobox",32) --singular end result=result.."<br>("..tostring(most_wins).." "..word_victory..")" end t.maxWinner=result end local function listOfWinners(itemID,t, team,lf, mandatory_prop) local winners = { Q20882667 = '',}-- Q20882667 is 'overall winner general classification' local winnersId={ Q20882667 = '',}--to detect disqualification local WDlink_on, sitelink if wiki == "mk" or wiki == "ja" or wiki == "ru" then WDlink_on = true else WDlink_on = false end -- Get the date to sort the editions for _, p527 in statements(itemID, 'P527') do --_, p527 local raceDate, year, raceID, entity_race, a, b raceId = p527.mainsnak.datavalue.value.id -- Qnumbers of the parts of a tour raceDate=getTimeOfRace(raceId) table.insert(t.race, { raceId=raceId, raceDate=raceDate, future=compareDate(raceDate)} ) --check if future table.sort(t.race, function(a,b) return a['raceDate'] < b['raceDate'] end) -- t.race is sorted after year end --look for the next race local lastRunEdition, lastEditionDate, nextEdition for num, race in ipairs(t.race) do if race['future'] then nextEdition=num break end end --Get the winners local numberOfEditions=0 local lastWinner, winnerId if not team then --for race, a test shall be performed for num=1,#t.race do winners.Q20882667='' winnersId.Q20882667='' winner(lf,t.race[num]['raceId'], winners, t.race[num]['raceDate'], false, WDlink_on, nil, nil, winnersId ) if t.race[num]['future']==false then --in the past if winnersId.Q20882667~="Q30108381" and winnersId.Q20882667~="Q54806642" then --cancelled numberOfEditions=numberOfEditions+1 lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] lastWinner=winners.Q20882667 end end winnerId=winnersId.Q20882667 if winnerId~=nil and winnerId~='' and winnerId~='Q666' and winnerId~='Q30108381' and winnersId.Q20882667~="Q54806642" then --code for disqualification if not t.vainqueur[winnerId] then t.vainqueur[winnerId]={} t.vainqueur[winnerId].link=winners.Q20882667 t.vainqueur[winnerId].count=0 end t.vainqueur[winnerId].count=t.vainqueur[winnerId].count+1 end end else --for team the check is lighter for num=1,#t.race do if t.race[num]['future']==false then --in the past if mandatory_prop==nil then numberOfEditions=num lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] else local ss = wikibase.getAllStatements(t.race[num]['raceId'], mandatory_prop) if #ss >0 then numberOfEditions=num lastRunEdition=num lastEditionDate=t.race[num]['raceDate'] end end end end end local monthId=firstValue(itemID, 'P2922','id') if monthId then t.lastEditionMonth=getLabelFallback(monthId) or '' else t.lastEditionMonth=contentLanguage:formatDate("M", lastEditionDate) end if lastEditionDate then t.lastEditionYear=funcDate(lastEditionDate,"onlyyear") end t.numberOfEditions=numberOfEditions if not team then evaluateWinnerMax(t) end if lastRunEdition then t.lastWinner=lastWinner or '' --t.vainqueur[lastRunEdition]['link'] t.lastID=t.race[lastRunEdition]['raceId'] sitelink = wikibase.getSitelink(t.lastID) if sitelink ~= nil then t.lastLink = "[[" .. sitelink .. "]]" else t.lastLink = nil end end if nextEdition then t.nextID=t.race[nextEdition]['raceId'] sitelink = wikibase.getSitelink(t.nextID) if sitelink ~= nil then t.nextLink = "[[" .. sitelink .. "]]" else t.nextLink = nil end end end local function getPeriodicity(itemID, t) local p = wikibase.getBestStatements(itemID, 'P2257') if p[1] and p[1].mainsnak.snaktype == 'value' then local period=p[1].mainsnak.datavalue.value.amount local periodunit=p[1].mainsnak.datavalue.value.unit if tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q577' then return translate("raceinfobox",1).." ("..t.lastEditionMonth ..")" elseif tonumber(period)==1 and periodunit == 'http://www.wikidata.org/entity/Q5151' then return translate("raceinfobox",2) else return nil end else return nil end end local function getType(itemID) local result, typeID typeID =firstValue(itemID, 'P31', 'id') if typeID ~= nil then if typeID=="Q2912397" and wiki=="fr" then result="[[Cyclisme_sur_route#Épreuve_d'un_jour|Course d'un jour]]" else result=WPlinkpure(typeID) end end --else result=nil return result end local function getFormerNames(itemID, PID, season) local listOfNames={} local officialname,language local kk=1 while #listOfNames == 0 and kk<=#lang_priority do lang=lang_priority[kk] kk=kk+1 for _, prop in ipairs({PID}) do for _, p1813 in statements(itemID, prop) do language = p1813.mainsnak.datavalue.value.language officialname = p1813.mainsnak.datavalue.value.text if lang==language then --only exact language local period, sTime=getPeriod(p1813.qualifiers, nil, season) if not sTime then sTime="+1900-01-01T00:00:00Z" end --first table.insert(listOfNames,{sTime, period, officialname, language}) end end end end table.sort(listOfNames, function(a, b) return a[1] < b[1] end) return listOfNames end local function officialSite(itemID) local url=firstValue(itemID, 'P856') if url then return '['..url.." "..translate("raceinfobox",3)..']' end return nil end local function checkkm(p) local km, unit if p[1] and p[1].mainsnak.snaktype == 'value' then km = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q828224' then return km end end return nil end local function checkm(p, in_cm) local m, unit, res if p[1] and p[1].mainsnak.snaktype == 'value' then m = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q11573' then res=m elseif unit=='http://www.wikidata.org/entity/Q174728' then --cm res=m*0.01 end if res then if in_cm then res=res*100 end return res end end return nil end local function checkkmh(p) if p[1] and p[1].mainsnak.snaktype == 'value' then kmh = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q180154' then -- Q180154 is 'kilometre per hour' return kmh end end return nil end local function checkkg(p) local kg, unit if p[1] and p[1].mainsnak.snaktype == 'value' then kg = tonumber(p[1].mainsnak.datavalue.value.amount) unit = p[1].mainsnak.datavalue.value.unit if unit == 'http://www.wikidata.org/entity/Q11570' then return kg end end return nil end local function formatNumber(e, addUnit, trans) local text if e then text = contentLanguage:formatNum(e) if wiki == 'fo' then text = string.gsub(text, "%.", ",") end if addUnit then local t=translate("unit",trans) if string.find( t," ")==1 then text = text ..t else text = text .. ' ' ..t end end end return text end local function getHeight(entityID, in_cm) local p = mw.wikibase.getBestStatements(entityID, 'P2048') if in_cm then return formatNumber(checkm(p, in_cm), true, 11) else return formatNumber(checkm(p, in_cm), true, 9) end end local function getWeight(entityID) local p = mw.wikibase.getBestStatements(entityID, 'P2067') return formatNumber(checkkg(p), true, 10) end local function getDistance(raceID, addUnit) local p = mw.wikibase.getBestStatements(raceID, 'P3157') -- P3157 is 'event distance' local km =checkkm(p) if not km then --for stage race we can sum the distances from each stage local stagep, tempkm for _, p527 in statements(raceID,'P527') do stagep=mw.wikibase.getBestStatements(p527.mainsnak.datavalue.value.id, 'P3157') tempkm=checkkm(stagep) if tempkm then if not km then km=0 end km=km+tempkm end end end return formatNumber(km, addUnit, 8), km end local function getElevation(raceID) local p =mw.wikibase.getBestStatements(raceID, 'P7297') return formatNumber(checkm(p), true, 9) end local function getSpeed(raceID, addUnit,kmdistance, property) local timeOfRace local p = mw.wikibase.getBestStatements(raceID, 'P2052') -- P2052 is 'speed' local kmh=checkkmh(p) if not kmh and kmdistance then --calculate speed local p2321= wikibase.getBestStatements(raceID, property) --winner supposed to be first of overall classification if p2321 and p2321[1] and p2321[1].mainsnak.snaktype == 'value' then local q = p2321[1].qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank for _, q1352 in pairs(q.P1352) do rank = tonumber(q1352.datavalue.value.amount) end if rank == 1 then timeOfRace=qualifieramount(p2321[1], 'P2781') --get time end end if timeOfRace then kmh=math.modf(1000*kmdistance/(timeOfRace/3600))/1000 end end end return formatNumber(kmh, addUnit, 5) end local function getGenderCode(riderID, default) local gender=default -- default is for teams, n or f local g = firstValue(riderID, 'P21', 'id') if g == 'Q6581097' then gender = 'm' -- Male elseif g == 'Q6581072' then gender = 'f' -- Female elseif g == 'Q1052281' then gender = 't' -- Transgenre end return gender end function number(gender, b, wiki) local str if b==nil or b=="" then return "" end if wiki=="ar" then str = b elseif wiki == "ca" then if b==1 then str = b.."r" elseif b==2 then str = b.."n" elseif b==3 then str = b.."r" elseif b==4 then str = b.."t" else str = b.."è" end elseif wiki=="es" then if gender == 'm' or gender == 'n' then str = b..".º" elseif gender == 'f' then str = b..".ª" else str = b.."." end elseif wiki=="fr" then if b==1 then if gender == 'm' then str="1<sup>er</sup>" elseif gender == 'f' or gender == 'n' then str="1<sup>re</sup>" else str="1<sup>e</sup>" end else str=b.."<sup>e</sup>" end elseif wiki=="nl" then str=b.."e" elseif wiki=="ru" then str=b.."-й" elseif wiki=="eo" then str=b.."-a" elseif wiki=="ast" then if gender == 'm' or gender == 'n' then str = b.."ᵘ" elseif gender == 'f' then str = b.."ª" else str = b.."." end else str = b .. ". " end return str end local function calculateTime(t) local time = tonumber(t) local h, m, s = 0, 0, 0 local str = '' if time == nil then return '' end if time < 60 then s = time elseif time < 3600 then m = math.modf(time/60) s = time - m*60 else h = math.modf(time/3600) m = math.modf((time - h*3600)/60) s = time - h*3600 - m*60 end if h>0 then str = str..mw.ustring.format ('%i'..translate("unit",2), h) end if m>=0 and h>0 then str = str.. mw.ustring.format('%02i'..translate("unit",3), m) end if m>0 and h==0 then str = str.. mw.ustring.format('%i'..translate("unit",3), m) end if s>=0 and (h>0 or m>0) then str = str.. mw.ustring.format('%02i'..translate("unit",4), s) end if s>=0 and h==0 and m==0 then str = str.. mw.ustring.format('%i'..translate("unit",4), s) end return str --time..': '..h..' '..m..' '..s end local function func_error_message(x) local l10nDef = { ["fr"] = {"La propriété <1> est manquante dans l'item <2> (<3>)"}, ["en"] = {'Property <1> is missing in item "<2>" (<3>)'}, ["ar"] = {'الخاصية <1> غير موجودة في العنصر "<2>" (<3>)'}, } local l10n = l10nDef[wiki] if not l10n then l10n = l10nDef["en"] end -- default return l10n[x] end local function getMissingLabelTrackingCategory() local l10nDef = { ["cs"] = '[[Kategorie:Údržba:Doplnit štítek na Wikidatech]]', ["lv"] = '[[Category:Vikidatos trūkst nosaukuma latviešu valodā]]', ["he"] = '[[קטגוריה:ויקינתונים:ערכים חסרי תווית בעברית: קבוצת אופניים]]', } local l10n = l10nDef[wiki] if not l10n then l10n = '' end return l10n end local function getStageLabel(inp) local a local b='' local this_label='' if inp then a, _ = string.gsub(inp, "%a", "") -- 20, not 20a if string.find(inp, "%a") then b = string.sub(inp, string.find(inp, "%a")) end if inp == "0" then this_label = translate("func_prologue",1) else this_label = stageLink(inp, a, b) end end return this_label end --[[ Make a table row for infoboxes with links to previous and next ]] local function getPreviousNextLine(raceID, stage) local previousID = firstValue(raceID, 'P155', 'id') -- P155 is 'follows' local nextID = firstValue(raceID, 'P156', 'id') -- P156 is 'followed by' if not nextID or not previousID then for _, s in statements(raceID, 'P3450') do -- for items using P3450 local q = s.qualifiers if q then if not previousID and q.P155 and q.P155[1] and q.P155[1].snaktype == 'value' then previousID = q.P155[1].datavalue.value.id end if not nextID and q.P156 and q.P156[1] and q.P156[1].snaktype == 'value' then nextID = q.P156[1].datavalue.value.id end end end end if not previousID and not nextID then return '' end local previousText, nextText = '', '' local direction = contentLanguage:getDir() local previous_sign = (direction == 'ltr') and '&#x25C0;' or '&#x25B6;' local next_sign = (direction == 'ltr') and '&#x25B6;' or '&#x25C0;' local this_label if previousID then if stage then local series_ordinal= firstValue(previousID, 'P1545', 'value') this_label=getStageLabel(series_ordinal) else this_label = getYear(previousID) end local link = wikibase.getSitelink(previousID) if link then previousText = '<span style="color:#3366CC">[[' .. link .. '| ' .. previous_sign .. this_label .. ']]</span>' else previousText = '<span style="color:#3366CC">' .. previous_sign .. '</span> ' .. this_label end end if nextID then if stage then local series_ordinal= firstValue(nextID, 'P1545', 'value') this_label=getStageLabel(series_ordinal) else this_label = getYear(nextID) end local link = wikibase.getSitelink(nextID) if link then nextText = '<span style="color:#3366CC">[[' .. link .. '|' .. this_label .. next_sign .. ']]</span>' else nextText = this_label .. ' <span style="color:#3366CC">' .. next_sign .. '</span>' end end local direction = contentLanguage:getDir() local outTable = mw.html.create('tr') local tCell=outTable:tag('td') tCell:cssText("text-align:" .. ((direction == 'ltr') and 'left' or 'right')):wikitext(previousText) if stage ~= nil and wiki=="ar" then tCell:css('width','50%') end tCell=outTable:tag('td') :cssText("text-align:" .. ((direction == 'ltr') and 'right' or 'left')):wikitext( nextText) if stage ~= nil and wiki=="ar" then tCell:css('width','50%') end return outTable end --== Functions for infobox -- functions for infoboxs local function get_others_dic() return { { name = translate("infobox",29,w_race)}, -- picture { name = translate("infobox",30,w_race)}, -- caption { name = translate("infobox",31,w_race)}, -- map { name = 'sectional'}, -- sectional { name = translate("infobox",30,w_race)}, -- caption map { name = translate("infobox",30,w_race)}, -- caption sectional } end local function infoGetOthers(others, entityID) if not others[1].content then --picture others[1].content, others[2].content = getLogo(entityID) if not others[1].content then others[1].content, others[2].content = getImage(entityID) -- picture, caption end end if not others[3].content then -- map others[3].content, others[5].content = getMap(entityID) -- P242 is 'locator map image' end if not others[4].content then -- map others[4].content, others[6].content = getSectionalView(entityID) -- sectional_view end end local function infoGetPlaceOrCountry(details,index, entityID, timeOfRace, PID) --generalized infoGetCountry if not details[index].content then -- country -- This function gives countries where the race take place local place = {} if not place[1] then for _, p17 in statements(entityID, PID) do -- P17 is 'country' local countryID = p17.mainsnak.datavalue.value.id if PID=='P17' then place[#place + 1] = flag(countryID, timeOfRace) .. ' ' .. getCountryName(countryID) else place[#place + 1] = wikibase.getLabel(countryID) end end end if place[1] then if #place > 1 then details[index].name = details[index].name_plural end details[index].content = table.concat(place, '<br/>') end end end local function infoGetPlace(details,index, entityID, timeOfRace) infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P276") end local function infoGetCountry(details,index, entityID, timeOfRace) infoGetPlaceOrCountry(details,index, entityID, timeOfRace, "P17") end local function infoGetStartEnd(details,index, entityID, timeOfRace) if not details[index].content then -- start place local place = firstValue(entityID, 'P1427', 'id') -- P1427 is 'start point' details[index].content = place and getPlaceLink(place, timeOfRace) end if not details[index+1].content then -- end place local place = firstValue(entityID, 'P1444', 'id') -- P1444 is 'destination point' details[index+1].content = place and getPlaceLink(place, timeOfRace) end end local function infoGetParticipants(details,index, entityID) -- Function that give the number of cyclists at the beginning and at the finishing of a race for _, p1132 in statements(entityID, 'P1132') do -- P1132 is 'number of participants' local amount = tonumber(p1132.mainsnak.datavalue.value.amount) -- tonumber to remove starting '+' for _, q in qualifiers(p1132, 'P276') do -- P276 is 'location' local location = q.value.id if location == "Q529711" then -- Q529711 is 'beginning' if not details[index].content then details[index].content = amount end -- participants at start elseif location == "Q12769393" then -- Q12769393 is 'end' if not details[index+1].content then details[index+1].content = amount end -- participants at end end end end end local function infoInitTab(width, name, icon, cellpadding) if width==nil then width= '320px' end local tab = mw.html.create('table'):addClass('infobox') if wiki == "eo" then tab:cssText(standardtablecss):css('width','23em') else cellpadding=tostring(cellpadding or 4) tab:attr('cellpadding',cellpadding) :attr('cellspacing','0') :cssText(standardtablecss) :cssText("float:"..floatinfobox.."; max-width:"..width) end local tCell=tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('border-bottom:5px solid var(--background-color-base, #fff); color:inherit; font-size:175%; text-align:center') :css('background-color',backgroundColor) local topTable = tCell:tag('table') :cssText('width:100%') local tRow=topTable:tag('tr') tRow:tag('td'):wikitext(name or '') tRow:tag('td'):wikitext(icon or '') return tab end local function addARow(name, content) local tRow if content then tRow= mw.html.create('tr'):css('vertical-align','top') tRow:tag('td'):css('width','40%'):css('font-weight','bold') :wikitext(name) tRow:tag('td'):wikitext(content) end return tRow end local function addATitle(title) local tRow if title then tRow= mw.html.create('tr'):tag('td'):attr('colspan','2') :css('text-align','center') :css('background-color',backgroundColor) :css('font-weight','bold') :css('color', 'inherit') :wikitext(title) end return tRow end local function infoFillOthersDetails(tab, others, details,title, pxmax) if not pxmax then pxmax="300px" end if others and others[1].content then -- picture tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:" .. others[1].content .."|center|"..pxmax.."]]") if others and others[2].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[2].content) end end if details then tab:node(addATitle(title)) for _, row in ipairs(details) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end end local function infoFillOthersMap(tab, others) if others[3].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[3].content .. "|center|300px]]") if others[5].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[5].content) end end if others[4].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[4].content .. "|center|300px]]") if others[6].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[6].content) end end end local function wdDoc(tab, s, translation, ID) local tCell=tab:tag('tr'):tag('td') local tC, link local commons_cat=firstValue(ID, 'P373', 'id') if commons_cat then commons_cat=string.gsub(commons_cat, '%s', '_') local icon="[[File:Commons-logo.svg|12px|link=https://commons.wikimedia.org/wiki/Category:"..commons_cat.."]]" tC=tCell:cssText('text-align:left; border-top:3px solid '..backgroundColor..'; font-size:93%') :wikitext(icon):tag('td') else tC=tCell:attr('colspan','2') end if wiki == "ar" then link = wdLink(ID) .." [[" .. s .. "|" .. translation .. "]]" else link = "[[" .. s .. "|" .. translation .. "]] "..wdLink(ID) end tC:cssText('text-align:right; border-top:3px solid '..backgroundColor..'; font-size:93%') :wikitext(link) end local function listWPlink(details, index, entityID, PID, bool_link) local org={} for _, p in statements(entityID, PID) do if p and p.mainsnak.snaktype == 'value' then if bool_link then table.insert(org,WPlinkpure(p.mainsnak.datavalue.value.id)) else local label=wikibase.getLabelByLang(p.mainsnak.datavalue.value.id, wiki) table.insert(org,label) end end end if org[1] then if #org > 1 then details[index].name = details[index].name_plural end details[index].content = table.concat(org, '<br/>') end end --Display in a chronological order fields in a table local function listWPlinkChrono(details, index, entityID, listOfProperty, option, initialYear, display_flag, comma,season) local period, sTime, value, ID, temp local list={} if not initialYear then initialYear="1900" end if not details[index].content then for _, prop in ipairs(listOfProperty) do if #list==0 then --if P1532 is used P17 is not used for _, p in statements(entityID, prop) do if p and p.mainsnak.snaktype == 'value' then ID=p.mainsnak.datavalue.value.id if p.qualifiers then period, sTime=getPeriod( p.qualifiers, true,season) end if not sTime then sTime="+"..initialYear.."-01-01T00:00:00Z" end --first if option =='label' then value=wikibase.getLabelByLang(ID, wiki) elseif option == 'country' then value=getCountryName(ID) if display_flag then value= flag(ID, sTime).." "..value end elseif option=='officialname' then value=getOfficialName(ID, sTime,false) --official name is necessary because of continental team change in ProTeam elseif option =='place' then value=getPlaceLink(ID, sTime) elseif option=='UCIcode' then value=getTeamCodeCat(entityID, sTime) --! getTeamCodeCat uses teamID elseif option=='money' then local amount=p.mainsnak.datavalue.value.amount local unit=p.mainsnak.datavalue.value.unit value=dispmoney(amount, unit) or '' else --rider value=getRiderLink(ID, sTime) end if value then table.insert(list,{sTime,period,value}) end end end end end if #list ~=0 then table.sort(list, function(a, b) return a[1] < b[1] end) end local separator='<br/>' if comma then separator=', ' end if list and #list==1 then details[index].content=list[1][3] or '' elseif list and #list~=0 then details[index].name = details[index].name_plural details[index].content='' for _, v in pairs(list) do temp=v[3] or '' if v[2] then temp=temp..' <small>'..v[2]..'</small>'..separator else temp=temp..separator end details[index].content=details[index].content..temp end end end end -- == Functions for team roster local function getReason(riderReason, riderRef, p527,timeOfRace,riderEnd,lf) --reason for end local listofproperty={'P1642','P1643','P1534'} local outTable={} local seasonYear, endYear if timeOfRace then seasonYear=tonumber(string.sub(timeOfRace, 2, 5)) end if riderEnd then endYear=tonumber(string.sub(riderEnd, 2, 5)) end --if not the last season, do not display the reason for end if (riderReason == nil and (not endYear or (seasonYear and endYear and (seasonYear== endYear)))) then --if no riderReason before then look for it, otherwise don't touch it for _,v in ipairs(listofproperty) do for _, q in qualifiers(p527, v) do riderReason = q.value.id end end if riderReason then local label =string.gsub(getLabelFallback(riderReason,lang_priority), "%b()", "") riderRef = getReference(lf,p527, 1) riderReason = ', ' .. label end end return riderReason, riderRef end local function getPosition(riderPosition,v) local stagiaire if riderPosition == nil then -- find the 'position' (P39) of a rider for _, q in qualifiers(v, 'P39') do stagiaire = q.value.id local label = string.gsub(getLabelFallback(stagiaire,lang_priority), "%b()", "") Sitelink = wikibase.getSitelink('Q2328847') if Sitelink then riderPosition=', ' .. "[["..Sitelink .."|"..label.."]]" else riderPosition =', ' .. label end end end return riderPosition end local function trans(date, month, day) if date ~= '' and date~=nil then local _, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)") if m == '00' then m = month end if d == '00' then d = day end date = '+'..y..'-'..m..'-'..d..'T00:00:00Z' return date end return nil end local function parseDate(date, defaultYear, defaultMonth, defaultDay, errortext, etext) local y, m, d local date=trans(date, defaultMonth, defaultDay) if not date then date = '+'..defaultYear..'-'..defaultMonth..'-'..defaultDay..'T00:00:00Z' y=defaultYear m=defaultMonth d=defaultDay errortext=errortext..etext else _, _, y, m, d = string.find(date, "(%d+)-(%d+)-(%d+)") if not y or y=="0000" then y=defaultYear errortext=errortext..etext end date = '+'..y..'-'..m..'-'..d..'T00:00:00Z' end return date, y, m, d, errortext end local function findLastName(label,wiki) if not label then label = '' end local _, count = string.gsub(label, " ", " ") local names local a,b,c,d = '', '', '', '' local done = false if count ~= nil then count = count + 1 else count = 1 end if count > 1 then if count == 2 then if label ~= '' then a, b = string.match(label, "(%S+)%s+(%S+)") names = b..' '..a end else local name_parts_mk = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'} local name_parts_ru = {'да', 'ди', 'де', 'Де', 'ла', 'Ле', 'тен', 'ван', 'Ван'} local name_parts = {'da', 'de', 'di', 'De', 'la', 'Le', 'ten', 'van', 'Van'} if count == 3 and label ~= '' then a, b, c = string.match(label, "(%S+)%s+(%S+)%s+(%S+)") if wiki == 'mk' then for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..a done = true break end end elseif wiki == 'ru' then for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..a done = true break end end else for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..a done = true break end end end if not done then names = tostring(c)..' '..tostring(a)..' '..tostring(b) done = true end end if count > 3 and label ~= '' then a, b, c, d = string.match(label, "(%S+)%s+(%S+)%s+(%S+)%s+(%S+)") if wiki == 'mk' then for _,v in ipairs(name_parts_mk) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts_mk) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end elseif wiki == 'ru' then for _,v in ipairs(name_parts_ru) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts_ru) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end else for _,v in ipairs(name_parts) do if c == v then names = c..' '..d..' '..a..' '..b done = true break end end for _,v in ipairs(name_parts) do if b == v then names = b..' '..c..' '..d..' '..a done = true break end end end if not done then names = label.."%"..b end --b..' '..c..' '..d..' '..a end end end end return names or '' end local function findSortKey(riderID, correctlanguage, wikiIsSlavic) --find the last name to sort if wikiIsSlavic and correctlanguage then local label = wikibase.getLabelByLang(riderID, wiki) if label then local nametable = mw.text.split(label, ",") if nametable[2] then --there is a coma so the lastname is first return nametable[1]..nametable[2] else --no coma return findLastName(label,wiki) end end end --all other cases label = getLabelFallback(riderID) return findLastName(label,wiki) end --== V) Main functions == --=== A) Function race reference === local function race_reference(raceID,lf) -- Allow to display the reference below the classifications -- local bases={ {"ProCyclingStats", "P2327", "http://www.procyclingstats.com/race.php?id="}, {"Cycling Quotient", "P2648", "http://www.cqranking.com/men/asp/gen/race.asp?raceid="}, {"Cycling Archives", "P2330", "http://www.cyclingarchives.com/ritfiche.php?ritid="}, {"Cycling Quotient", "P2708", "http://www.cqranking.com/women/asp/gen/race.asp?raceid="}, -- cycling team {"ProCyclingStats", "P2328", "http://www.procyclingstats.com/team/"}, {"Cycling Quotient", "P2649", ""}, --The entire link is indicated in full {"Cycling Archives", "P2331", "http://www.cyclingarchives.com/ploegfiche.php?id="} } local links = {} local ref for _, base in pairs(bases) do local p = mw.wikibase.getBestStatements(raceID, base[2]) if p[1] and p[1].mainsnak.snaktype == 'value' then if base[2]=="P2648" and p[1].mainsnak.datavalue.value=="1" then --code for general reference of results ref=getReference(lf,p[1], 1) if ref then table.insert(links, ref) end else table.insert(links, ' [' .. base[3] .. p[1].mainsnak.datavalue.value .. " " .. base[1] ..']') end end end if #links == 1 then return translate("race_reference", 1) .. table.concat(links) elseif #links > 1 then return translate("race_reference", 2) .. table.concat(links) else return '' end end --=== B) Calendar === function p.calendarcustom(frame) local headers={2} --date local calendarID, lf =get_and_checkID(frame) local display_numbering=false --default local country_column=2 if istrue(get_arg('display_numbering',frame)) then display_numbering=true table.insert(headers, 3) country_column=3 end --no_country modify the way the country is displayed local no_country={} if istrue(get_arg('no_country',frame)) or wiki == "ar" then no_country={wiki} end -- country -- table.insert(headers, 5) --race-- table.insert(headers, 4) local display_class=false if istrue(get_arg('display_class',frame)) then display_class=true table.insert(headers, 6) end table.insert(headers, 7) --winner local only_winner=1 if istrue(get_arg('podium',frame)) or wiki == "ar" then only_winner =0 table.insert(headers, 8) --second table.insert(headers, 9) --third end local display_leader=false if istrue(get_arg('display_leader',frame)) then display_leader=true table.insert(headers, 10) end local display_team =false if istrue(get_arg('display_team',frame)) then display_team =true end local data_type={} for ii=1,#headers do table.insert(data_type,'') end local w_race=isWomenrace(calendarID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = 1000, -- translation 1 in function Calendar is printed in the upper part of the table header header_2 = headers,-- translations 2, 3, 4, 5, 6 in function Calendar are printed in this order title=wikibase.getLabel(calendarID), -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. country_column = country_column, data_sort_type = data_type, -- see https://meta.wikimedia.org/wiki/Help:Sorting item = calendarID, property = 'P527', no_country = no_country, only_winner = only_winner, display_numbering = display_numbering, displayed_class =nil, display_team=display_team, display_class=display_class, display_leader= display_leader, w_race=w_race, lf=lf } return calendar_main(s, tableA(s)) end function p.calendar(frame) ----- function to display UCI calendar of one year ---- ----- based on WWTcalendar function ----- ----- author: Mr. Ibrahem ----- local calendarID --determined later local lf = get_lf(frame) local UCI = data.UCIYearToQ local header_1_tab = {["UWT"]=13 ,["europe"]=14 ,["asia"]=15,["america"]=16 ,["africa"]=17 ,["oceania"]=18, ["WWT"]=11, ["women"]=1, ["Pro"]=22} local display_code_tab= {["UWT"]=1 ,["europe"]=2 ,["asia"]=2,["america"]=2 ,["africa"]=2 ,["oceania"]=2, ["WWT"]=1, ["women"]=2, ["Pro"]=2} local header_1_number = 12 local display_code local tempdic, year, keyk, yeary local tempdic1 = { header_2 = {2, 3,5, 4, 7, 8, 9, 10}, only_winner =0, display_numbering=true, display_team=false, display_class=false, display_leader=true } local tempdic2 = { header_2 = {2, 5, 4, 6, 7}, only_winner =1, display_numbering=false, display_team=true, display_class=true, display_leader=false } for key, v in pairs(UCI) do year = get_arg(key,frame) --with lf does not work if not year then year = get_arg(key, lf) end if not calendarID and year then if v[year] then calendarID = v[year] header_1_number = header_1_tab[key] display_code = display_code_tab[key] keyk=key yeary=year end end end if wiki == "ar" then if (get_arg('code', lf) == "1") then display_code = 1 end if (not calendarID or calendarID == "") and get_arg('test', lf) then calendarID = get_arg('test',lf) end end if not calendarID or calendarID == "" then return "" end if display_code == 1 then tempdic=tempdic1 if keyk=="UWT" and tonumber(yeary) > 2018 then tempdic.display_leader=false --no more leader after 2018 tempdic.header_2 ={2, 3,5, 4, 7, 8, 9} end else tempdic=tempdic2 end if istrue(get_arg('display_numbering',lf)) then tempdic.display_numbering=true elseif get_arg('display_numbering',lf) and istrue(get_arg('display_numbering',lf)) == nil then tempdic.display_numbering=false end local w_race=isWomenrace(calendarID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = header_1_number, -- t header_2 = tempdic.header_2, -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. country_column = 3, data_sort_type ={'', 'unsortable', '', '', '','',''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting item = calendarID, property = 'P527', no_country = no_country_calendar, only_winner = tempdic.only_winner, display_numbering = tempdic.display_numbering, displayed_class = nil, --all display_team=tempdic.display_team, display_class=tempdic.display_class, display_leader=tempdic.display_leader, w_race=w_race, lf=lf } return calendar_main(s, tableA(s)) end function calendar_main(s, resultTable)--Display the UCI women calendar of one year local lf = s.lf local limit = tonumber(get_arg("limit", lf) or "250") local offset = tonumber(get_arg("offset", lf) or "0") local offset_limit = offset + limit local count = 0 local calendarID=s.item local t_Body ={} local w_race=isWomenrace(calendarID) local temp=firstValue(calendarID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) ----- Begin of the main part of the code for kk, p527 in statements(calendarID, 'P527') do count = count + 1 if not (count <= offset_limit and count >= offset) -- to display statement with limit then break end local RaceID = p527.mainsnak.datavalue.value.id ---- Create a row ---- local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID) local parentID, race_tCell, class_tCell= fn_race(RaceID,s.displayed_class,s.display_class,timeOfRace,nil,country) if race_tCell~=nil then --otherwise the class is not display local country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --create the table local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") tRow:node(date_tCell) if s.display_numbering == true then tRow:tag('td'):cssText("text-align:center;padding:0 0.5em"):wikitext(tostring(kk)) end tRow:node(country_tCell) if country then tRow:node(race_tCell) end if class_tCell then tRow:node(class_tCell) end local rider_tCell =fn_rider(lf,RaceID,timeOfRace,s.display_team,s.only_winner) tRow:node(rider_tCell) if s.display_leader==true then local leader_tCell=fn_rider(lf,RaceID,timeOfRace,s.display_team,3) tRow:node(leader_tCell) end ---- Add the row to the table table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end end return sortAndConcat(t_Body, resultTable) end function p.nationalchampionships(frame) local calendarroadID, calendarITTID, year local lf=get_lf(frame) local listOfCalendar={data.NationalRoadCyclingChampionships,data.NationalITTCyclingChampionships} for ii, thisCalendar in pairs(listOfCalendar) do --road/ITT for key, v in pairs(thisCalendar) do --look for the key of the dictionnary, here women/men year = get_arg(key, frame) --with lf does not work if not year then year = get_arg(key, lf) end if ((ii==1 and calendarroadID==nil) or (ii==2 and calendarITTID ==nil)) and year then if v[year] then if ii==1 then calendarroadID = v[year] else calendarITTID = v[year] end end end end end local w_race=isWomenrace(calendarroadID) local s = { header_function = "calendar", -- translations are in function Calendar header_1 = 19, -- header_2 = {5, 20, 21}, country_column = 1, data_sort_type = {'', '', ''}, -- -- see https://meta.wikimedia.org/wiki/Help:Sorting item= calendarroadID, calendarroadID = calendarroadID, calendarITTID = calendarITTID, property = 'P527', year = year, no_country = {}, --no sense here to hide the country display_team = true, display_countrylink = false, --too expensive w_race=w_race, lf=lf } return nationalchampionships_main(s,tableA(s)) end function nationalchampionships_main(s, resultTable)--Display the list of national champions for one year local lf = s.lf local tableChamp, t_Body = {}, {}, {} local timeOfRace ='+'..tostring(s.year).."-01-01T00:00:00Z" local rider_tCell, thereisawinner, parentID, parentParentID, sitelink local country_flag, country_name, country_tCell local temp=firstValue(s.calendarroadID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local listOfCalendarID={s.calendarroadID, s.calendarITTID} --create the table with the information for ii, thisCalendarID in ipairs(listOfCalendarID) do if thisCalendarID ~= nil then for _, p527 in statements(thisCalendarID, 'P527') do thisID = p527.mainsnak.datavalue.value.id country_flag, country_name, country_tCell=fn_country(thisID,timeOfRace,s.country) if country_name == nil then country_name="country not found" end sortkey=string.gsub(country_name, 'É', 'E') --case États Unis --create the table if tableChamp[sortkey]==nil then tableChamp[sortkey]={} tableChamp[sortkey]['countryname']=country_name tableChamp[sortkey]['roadwinner']='<td></td>' tableChamp[sortkey]['ITTwinner']='<td></td>' --look for sitelink to championship sitelink=nil --reinit if s.display_countrylink then --expensive parentID = firstValue(thisID, 'P361', 'id') --part of if parentID then parentParentID = firstValue(parentID, 'P31', 'id') if parentParentID then sitelink = wikibase.getSitelink(parentParentID) end end end tableChamp[sortkey]['sitelink']=sitelink tableChamp[sortkey]['flag']=country_flag end --fill the table rider_tCell, thereisawinner=fn_rider(lf,thisID,timeOfRace,s.display_team,1,true) if tableChamp[sortkey]['thereisawinner']~=true then --all other cases tableChamp[sortkey]['thereisawinner']=thereisawinner end if ii==1 then tableChamp[sortkey]['roadwinner']=rider_tCell else tableChamp[sortkey]['ITTwinner']=rider_tCell end end end end -- structure the display for key, thisRow in pairs(tableChamp) do if thisRow['thereisawinner'] then --there is a winner local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") if thisRow['sitelink']~=nil then tRow:tag('td'):wikitext(thisRow['flag']..' [['..thisRow['sitelink']..'|'..thisRow['countryname']..']]') else tRow:tag('td'):wikitext(thisRow['flag']..' '..thisRow['countryname']) end tRow:node(thisRow['roadwinner']) tRow:node(thisRow['ITTwinner']) table.insert(t_Body, {sortkey=key, body=tRow}) end --no winner end --end list of key return sortAndConcat(t_Body, resultTable) end --=== C) Victory === function p.victories(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "victories", -- translations are in function victories header_1 = 2, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {3, 4, 5, 6, 7},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. data_type = {'date', 'race', 'country', 'class', 'rider'}, country_column = 3, data_sort_type = {'', 'unsortable', '', '', ''}, -- see https://meta.wikimedia.org/wiki/Help:Sorting item = tempID, property = 'P2522', no_country = no_country_victories, lf=lf, w_race=w_race } return victory_main(s ,tableA(s)) end function victory_main(s, resultTable) local lf = s.lf local _ _, _, s.item = string.find(s.item, "(%w+)") local temp=firstValue(s.item, s.property,'id') if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) local t_Body = {} for _, p2522 in statements(s.item, 'P2522') do local RaceID = p2522.mainsnak.datavalue.value.id local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID, 'victory') local parentID, race_tCell, class_tCell=fn_race(RaceID,nil ,true,timeOfRace, 'victory',country)--displayed_class=nil if race_tCell~= nil then --otherwise class not to be displayed country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --Build the table tRow:node(date_tCell) if country==true then tRow:node(race_tCell) --race site link is in fn_countrytable end tRow:node(country_tCell) tRow:node(class_tCell) --class local rider_tCell =fn_rider(lf,RaceID,timeOfRace,false,1) tRow:node(rider_tCell) table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end --no winner end --end list of key return sortAndConcat(t_Body, resultTable) end --== D) Stage infobox function p.stageinfobox(frame) local stageID, lf = get_and_checkID(frame) local w_race=isWomenrace(stageID) local details = { { name = translate("stageinfobox",2,w_race)}, -- course / not used { name = translate("stageinfobox",2,w_race)}, -- competition { name = translate("stageinfobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- stage type { name = translate("stageinfobox",4,w_race), name_plural = translate("infobox",7,w_race)}, -- date { name = translate("stageinfobox",6,w_race)}, -- distance { name = translate("stageinfobox",7,w_race), name_plural = translate("infobox",10,w_race)}, -- country { name = translate("stageinfobox",9,w_race)}, -- start place { name = translate("stageinfobox",10,w_race)}, -- endplace { name = translate("stageinfobox",11,w_race)}, -- participants at start { name = translate("stageinfobox",12,w_race)}, -- participants at end { name = translate("stageinfobox",13,w_race)}, -- speed { name = translate("stageinfobox",44,w_race)}, -- elevation { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 } local others = get_others_dic() --begin of the function local t_Of = { Q20882747={'results', 'first'}, Q20882748={'results', 'second'}, Q20882749={'results', 'third'}, Q21686770={'results', 'winner_fighting'}, Q2250962={'results', 'cima_coppi'}, Q10452933={'results', 'cima_pantani'}, Q20882763={'gen', 'leader'}, Q20882764={'gen', 'deuxieme'}, Q20882765={'gen', 'troisieme'}, Q20883213={'annex', 'montagne'}, Q20883140={'annex', 'jeune'}, Q20883008={'annex', 'points'}, Q20883329={'annex', 'sprints'}, Q20893984={'annex', 'super_combatif'}, Q20965880={'annex', 'combine'}, Q27104688={'annex', 'stage_volantes'}, Q27104684={'annex', 'regularite'}, Q20882922={'annex', 'equipe'}, Q27104271={'annex', 'equipe_points'}, Q20882667={'gen', 'leader'}, Q20882668={'gen', 'deuxieme'}, Q20882669={'gen', 'troisieme'}, Q20883212={'annex', 'montagne'}, Q20883139={'annex', 'jeune'}, Q20883007={'annex', 'points'}, Q20883328={'annex', 'sprints'}, Q20893983={'annex', 'super_combatif'}, Q20893979={'annex', 'combine'}, Q27067359={'annex', 'stage_volantes'}, Q27067170={'annex', 'regularite'}, Q27907747={'annex', 'azzurri_ditalia'}, Q27907748={'annex', 'azzurri_ditalia'}, Q27907714={'annex', 'breakaway'}, Q27907715={'annex', 'breakaway'}, Q20882921={'annex', 'equipe'}, Q27104269={'annex', 'equipe_points'} } getLocalContent(details, lf.args) getLocalContent(others, lf.args) local timeOfRace local temp = firstValue(stageID, 'P31','id') icon = '' if temp and temp ~= 'Q18131152' then if temp=='Q2266066' or temp=='Q2348250' or temp=='Q485321' then icon = picto_track else icon = picto_road end details[3].content = typeofstagelogo(stageID, true).." "..WPlinkpure(temp) end local name = getLabelFallback(stageID) or '' if wiki == 'fr' and name ~= nil then name= mw.ustring.gsub(name, "^(%d+)([re]+)", "%1<sup>%2</sup> ") end name= mw.ustring.gsub(name, "^(%a)",function (x) return mw.ustring.upper(x) end) infoGetOthers(others, stageID) --name local race={} if course==nil then temp = firstValue(stageID, 'P1545') if temp then details[2].content =getStageLabel(temp) raceId = getParentID(stageID) --for instance Tour de France 2020 if raceId then details[2].content = (details[2].content or '') .. '، '.. WPlinkpure(raceId) for k, p31 in statements(raceId, 'P31') do --get Tour de France race[k] = p31.mainsnak.datavalue.value.id --for the jersey end end end end -- This function give a format to dates when P585 (date) is used in a single day race local pTime = firstValue(stageID, 'P585', 'time') -- P585 is 'point in time' if pTime then details[4].content = funcDate(pTime, 'long') timeOfRace = pTime end local kmdistance if not details[5].content then details[5].content, kmdistance = getDistance(stageID, true) end -- distance infoGetCountry(details,6, stageID, timeOfRace) infoGetStartEnd(details,7, stageID, timeOfRace) infoGetParticipants(details,9, stageID) if not details[11].content then details[11].content = getSpeed(stageID, true, kmdistance, 'P2417') end --speed if not details[12].content then local elevation=getElevation(stageID) if elevation ~= nil then details[12].content =elevation else details[12].content = nil end end --Elevation local jerseyWPID, jersey_name local t_s = { order={'results', 'gen', 'annex'}, results={show=false, header=15, order = {'first','second','third','winner_fighting','winner_fighting2','cima_coppi','cima_pantani'}, first={translation=16}, second={translation=17}, third={translation=18}, winner_fighting={translation=19}, winner_fighting2={translation=19}, -- two winner_fighting possible cima_coppi={translation=40}, cima_pantani={translation=41} }, gen={show=false, header=20, order = {"leader", "deuxieme", "troisieme"}, leader={translation=21}, deuxieme={translation=22}, troisieme={translation=23} }, annex={show=false, header=24, order={"points","montagne","sprints","jeune","super_combatif","combine", "stage_volantes","regularite","azzurri_ditalia","breakaway","equipe","equipe_points"}, points={translation=25}, montagne={translation=26}, sprints={translation=27}, jeune={translation=28}, super_combatif={translation=29}, combine={translation=30}, stage_volantes={translation=31}, regularite={translation=32}, azzurri_ditalia={translation=42}, breakaway={translation=43}, equipe={translation=33}, equipe_points={translation=34} } } --Winner for _, p1346 in statements(stageID, 'P1346') do local id_speed, id_time, id_time_gap, id_points_a, id_points_b, type_ofclas, name_ofclas local q = p1346.qualifiers local riderId = p1346.mainsnak.datavalue.value.id id_time = qualifieramount(p1346, 'P2781') id_time_gap =qualifieramount(p1346, 'P2911') id_speed =qualifieramount(p1346, 'P2052') id_points_a = qualifieramount(p1346, 'P1358') id_points_b =qualifieramount(p1346, 'P1351') if riderId ~= nil then local riderLink,riderTeam = subwinner(riderId, timeOfRace, q) --sub function to avoid code in double -- looks into race item if the winner has a P642 statement for showing the type of winner(points, mountain, ..) propertyOf=nil if q.P2501 and q.P2501[1].snaktype == 'value' then propertyOf=q.P2501 elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback propertyOf=q.P642 end if propertyOf and propertyOf[1].snaktype == 'value' then for _, vv in pairs(propertyOf) do local qual = vv.datavalue.value.id if qual~=nil and deprecated~='deprecated' and t_Of[qual] then if qual=="Q21686770" and t_s['results']['winner_fighting'][1] ~= "" then t_Of[qual][2] = 'winner_fighting2' end type_ofclas=t_Of[qual][1] --annex or gen name_ofclas=t_Of[qual][2] --name of ranking local v=t_s[type_ofclas][name_ofclas] v['link']=riderLink v['team']=riderTeam v['rank']=isdisqualified(p1346,q) v['time']=id_time v['gap']=id_time_gap if id_points_a then v['points']=id_points_a end if id_points_b then v['points']=id_points_b end v['speed']=id_speed if qual=="Q27104271" and t_s.annex.equipe_points['link']==nil then t_s.annex.equipe_points['link']=riderId end if qual=="Q20882922" and t_s.annex.equipe['link']==nil then t_s.annex.equipe['link']=riderId end v['genre'] = getGenderCode(riderId,'f') end end end end end local rank, deprecated, prop, order, thisorder -- look into P2417, stage classification, then p2321 gen classification for ii, thistable in ipairs({'results','gen'}) do if ii==1 then prop='P2417' order = {'first', 'second', 'third'} else prop='P2321' order = {'leader', 'deuxieme', 'troisieme'} end for _, p2417 in statements(stageID, prop) do local q = p2417.qualifiers if q.P1352 and q.P1352[1].snaktype == 'value' then for _, q1352 in pairs(q.P1352) do rank = tonumber(q1352.datavalue.value.amount) end if rank == 1 or rank == 2 or rank == 3 then thisorder=order[rank] local v=t_s[thistable][thisorder] v['rank'] = isdisqualified(p2417, q) local thisid= p2417.mainsnak.datavalue.value.id v['link'],_ = subwinner(thisid, timeOfRace, q) if v['gap'] == nil and v['time'] == nil then v['gap'] = qualifieramount(p2417, 'P2911') end if v['gap'] == nil and v['time'] == nil then v['time'] = qualifieramount(p2417, 'P2781') end v['speed'] = qualifieramount(p2417, 'P2052') v['genre'] = getGenderCode(thisid, 'f') end end end end for _, thistable in ipairs({t_s.results,t_s.gen,t_s.annex}) do for _, v in ipairs(thistable.order) do --order is the list of all classification names if thistable[v]['link'] then thistable.show = true end end end ---General table local temp local width= '320px' -- size standard 320px, special 340px if t_s.annex.show == true and (wiki == 'no' or wiki == '..') then width= '340px' end tab= infoInitTab(width, name, icon) infoFillOthersDetails(tab, others, details,translate("stageinfobox",1,w_race)) -- ranking table, general and stage for _, value_order in ipairs(t_s.order) do local thistable =t_s[value_order] --results or gen or annex if thistable.show then -- if a section of the stageinfobox should be shown tCell=tab:tag('tr'):tag('td'):attr('colspan','2') tTab=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%') tCell=tTab:tag('tr'):tag('td'):attr('colspan','3') :cssText('border-bottom:5px solid '..backgroundColorLight..'; background-color:'..backgroundColor..'; color:inherit; text-align:center') :css('font-weight','bold') :wikitext(translate("stageinfobox",thistable.header,w_race)) for key, value in ipairs(thistable.order) do --value is the name of the class local v=thistable[value] if v['link'] then local a1 a1, jersey_name, jerseyWPID = jersey_infobox( value, race, timeOfRace) if a1~='' then v['jersey'] = a1 end if v['speed'] then if wiki == 'fo' then v['speed'] = string.gsub(v['speed'], "%.", ",") else local lang = mw.language.getContentLanguage() v['speed'] = '('.. lang:formatNum(v['speed'])..translate("unit",5,w_race)..')' end end if v['points'] then if v['points'] > 1 then temp=translate("unit",7,w_race) else temp=translate("unit",6,w_race) end v['points'] = v['points']..temp end local title, k = string.gsub(translate("stageinfobox",v['translation'],w_race), " ", "&nbsp;") if k > 0 then title = string.gsub(title, "&nbsp;", "<br>", 1) end --&#32; --Create an empty column on the left tRow=tTab:tag('tr'):css('vertical-align','top') tCell=tRow:tag('td') :css('font-weight','bold') if v['team']~=nil or v['speed'] ~=nil then tCell:attr('rowspan','2') end tCell:cssText("width:1%;background-color:"..backgroundColorLight..";text-align:" .. textalign .. ";padding:0 2px 0 2px;white-space:nowrap; color:inherit;") if value_order~='annex' and v['translation']~=40 and v['translation']~=41 then -- Cima Coppi, Cima Pantani with a line break if v['jersey'] == nil then if (value_order=='results') and (value=='winner_fighting' or value=='winner_fighting2' or value=='cima_coppi' or value=='cima_pantanii') then tCell:wikitext(translate("stageinfobox",v['translation'],w_race)) else tCell:wikitext(number(v['genre'], key, wiki)) end else temp='' if jerseyWPID~='' then temp="|link="..jerseyWPID end tCell:wikitext("[[File:"..v['jersey'].."|20px|"..title..temp.."]]") end else if v['jersey'] == nil then tCell:wikitext(title) else if jerseyWPID=='' then if jersey_name ~= '' then temp = "|"..jersey_name else temp='' end else temp= "|link="..jerseyWPID end tCell:wikitext("[[File:"..v['jersey'].."|20px"..temp.."]]" .. title) end end tRow:tag('td'):cssText("padding:0 0.5em 0 0.5em;"..v['rank']) :wikitext( v['link']) tCell=tRow:tag('td'):cssText('text-align:right;font-size:85%;white-space:nowrap') if v['time'] then tCell:wikitext(calculateTime(v['time'])) end if v['gap'] then tCell:wikitext('+ '.. calculateTime(v['gap'])) end tCell:wikitext(v['points']) end tCell=tTab:tag('tr'):tag('td'):attr('colspan','2') if v['team']~=nil and v['speed'] ~=nil then -- team row tTab2=tCell:tag('table'):attr('cellpadding','0'):attr('cellspacing','0'):css('width','100%') tRow = tTab2:tag('tr') tRow:tag('td'):cssText('width:100%;text-align:" .. textalign .. ";padding-left:2px') :wikitext("("..v['team']..")") --add the team tRow:tag('td'):cssText('font-size:85%;vertical-align:top;white-space:nowrap') :wikitext(v['speed']) else if v['team']~=nil or v['speed'] ~=nil then tCell:cssText("text-align:" .. textalign .. ";padding-left:2px") if v['team'] ~= nil then tCell:wikitext("("..v['team']..")") --add the team end tCell:tag('span'):cssText("float:right;font-size:85%;"):wikitext(v['speed']) end end end end end infoFillOthersMap(tab, others) tab:node(getPreviousNextLine(stageID,true)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/stageinfobox", translate("stageinfobox",39,w_race), stageID) return tab end --== E) List of teams function p.listofteams(frame) local raceID, lf = get_and_checkID(frame) local teams = {} -- values will be {teamLink, teamCat, sortkey, index} local WDlink_on = (wiki == "mk" or wiki == "ja") local timeOfRace = getTimeOfRace(raceID, true) local w_race=isWomenrace(raceID) local teamCats_lot = { -- {c,d,e} c = singular team type, d = plural team type, e = print order of the team types -- Part of the numbering is omitted for the convenience of possible subsequent editing. -- UCI professional men's teams ["Q6154783"] = {4,5,1}, -- WorldTeam ["Q20638319"] = {6,7,2}, -- ProTeam (2005-2014) ["Q78464255"] = {6,7,3}, -- ProTeam (2020-) ["Q382927"] = {8,9,4}, -- UCI Professional Continental Team (2005-2019) ["Q1756006"] = {10,11,5}, -- UCI Continental Team ["Q20639847"] = {16,17,6}, -- professional cycling team ["Q20653563"] = {20,21,7}, -- Groupe Sportif I ["Q20653564"] = {22,23,8}, -- Groupe Sportif II ["Q20653566"] = {24,25,9}, -- Groupe Sportif III -- UCI professional women's teams ["Q80425135"] = {57,58,11}, -- UCI Women’s WorldTeam ["Q130604574"] = {59,60,12}, -- UCI Women’s ProTeam ["Q119942457"] = {32,33,13}, -- UCI Women's Continental Team (2020-) ["Q2466826"] = {28,29,14}, -- UCI Women’s Team (-2019) ["Q119948768"] = {55,56,15}, -- UCI Women's Elite-2 Team -- other non-road UCI teams ["Q2466819"] = {45,46,21}, -- UCI Track Team ["Q39885628"] = {47,48,22}, -- UCI Cyclocross Team ["Q2466804"] = {49,50,23}, -- UCI MTB Team ["Q39885630"] = {51,52,24}, -- UCI BMX Team -- national teams (partially merged) ["Q54660600"] = {12,13,31}, -- national cycling team "any", without specifying additional parameters" ["Q23726798"] = {12,13,31}, -- national cycling team Elit ["Q99658502"] = {12,13,31}, -- national cycling team "B" ["Q20738667"] = {12,13,31}, -- national cycling team U23 ["Q54555994"] = {12,13,31}, -- national cycling team U19 ["Q26213387"] = {12,13,31}, -- olympic team ["Q46135307"] = {12,13,31}, -- nation at sport competition in multisport games ["Q28492441"] = {39,40,32}, -- national cycling team with sponsor name ["Q117280678"] = {37,38,33}, -- mixt cycling team -- Below are two blocks with "non-professional" teams. They differ in the type of output - individually or all together. You can choose any manual setting. -- amateur, club and region (not merged). Each type of team is output in a separate block ["Q114864716"] = {43,44,41}, -- DCU Elite Team ["Q20652655"] = {18,19,42}, -- amateur cycling team ["Q26849121"] = {30,31,43}, -- Women's amateur cycling team ["Q20639848"] = {14,15,44}, -- club cycling team ["Q20653570"] = {53,54,45}, -- region cycling team -- amateur, club and region (merged). All types of team are displayed in a common block -- ["Q114864716"] = {41,42,41}, -- DCU Elite Team -- ["Q26849121"] = {41,42,41}, -- Women's amateur cycling team -- ["Q20652655"] = {41,42,41}, -- amateur cycling team -- ["Q20639848"] = {41,42,41}, -- club cycling team -- ["Q20653570"] = {41,42,41}, -- region cycling team } local p1923 = mw.wikibase.getBestStatements(raceID, 'P1923') -- P1923 is participating teams local no = 0 -- Index used for stable sorting for _, v in pairs(p1923) do if v.mainsnak.snaktype == 'value' then no = no + 1 local teamLink, teamCat, countryID = getTeamLinkCat(v.mainsnak.datavalue.value.id, timeOfRace, true) local flagImage = countryID and flag(countryID, timeOfRace) or '' teams[#teams + 1] = {flagImage .. ' ' .. teamLink, teamCat, teamCats_lot[teamCat] and teamCats_lot[teamCat][3] or 999, no} end end table.sort(teams, function(a,b) if a[3] < b[3] then return true end -- First sort key: Order from table teamCats_lot if a[3] > b[3] then return false end return a[4] < b[4] -- Second key is the index to ensure stable sorting end) local function getHeader(CatID, count) local header, sitelink if teamCats_lot[CatID] then local done=false if CatID=="Q2466826" then --name changed after 2020 local year = timeOfRace and tonumber(string.sub(timeOfRace, 2, 5)) if year and year>2019 then if count == 1 then header_label = translate("headoftableIII",32, w_race) -- singular name else header_label = translate("headoftableIII",33, w_race) -- plural name end done=true end end if done==false then if count == 1 then header_label = translate("headoftableIII",teamCats_lot[CatID][1], w_race) -- singular name else header_label = translate("headoftableIII",teamCats_lot[CatID][2], w_race) -- plural name end end if CatID=='Q78464255' then sitelink=wikibase.getSitelink('Q382927') --continental else sitelink=wikibase.getSitelink(CatID) end if sitelink ~= nil then header = '[['..sitelink..'|'..header_label..']]' else header= header_label end end local tHeader= mw.html.create('span'):css('font-size','1.2em'):css('font-weight','bold') if not header then -- Unknown team category. Get the label for the entity to display if possible header = (CatID and getLabelFallback(CatID)) or 'Unknown team category' tHeader:css('text-transform','capitalize') end tHeader:wikitext(header) -- Set parameter to show team count in front of each category local tTag='' local showcounter = 2 if count >= showcounter then tTag=mw.html.create('small'):wikitext(' (' .. count ..')') end return tostring(tHeader)..tostring(tTag) end local oldOrder = 0 local oldCatID local count = 0 local list = '' local header local resultTable = mw.html.create('table') :cssText("max-width:95%; padding:0.5em; margin-right:1em; border:1px solid var(--border-color-subtle, #c8ccd1)") local tCell = resultTable:tag('tr'):tag('td') for _, team in ipairs(teams) do local order = team[3] if order ~= oldOrder then --new cat if oldOrder > 0 then header = getHeader(oldCatID, count) tCell:wikitext(header) tCell:node(tOl) end count = 1 oldOrder = order tOl = mw.html.create('ul') --reinit else count = count + 1 end oldCatID = team[2] tOl:tag('li') :cssText("width:20em;display:inline-block;vertical-align:text-top") :wikitext(team[1]) end --add last row header = getHeader(oldCatID, count) tCell:wikitext(header) tCell:node(tOl) local wd_link = mw.html.create('span'):css('float',floattable):wikitext(wdLink(raceID .. '#P1923')) if arwiki_totemplate then wd_link = wdLink(raceID .. '#P1923') end local tableFooter1=mw.html.create('tr') tCell=tableFooter1:tag('td') :addClass('navigation-only') :cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;') if wiki == "ar" then tCell:attr('colspan',2) end tCell:wikitext(tostring(wd_link)) resultTable:node(tableFooter1) return resultTable end --== F) Classifications function p.UCIclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 19, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item =tempID, property = 'P3494', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_team=false, max_rank_displayed=100000, --unlimited the whole team must be displayed lf=lf } return new_classification(s, frame) end function p.pointsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 10, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3494', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.teamsclassificationbytime(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 14, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4}, -- translations 3, 2, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3497', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = 'strong', -- there is no background color for the first row, but the first row is formated strong max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.teamsclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 15, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 7}, -- translations 3, 2, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P3496', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = 'strong', -- there is no background color for the first row, but the first row is formated strong max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.stageclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2417', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = false, -- there is no background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.generalclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 4 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.generalclassificationpoint(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.generalclassificationforttt(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 9, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2321', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = false, -- there is no background color for the first row display_ref =get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.teamtimetrialclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 8, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {3, 2, 4, 5, 6}, -- translations 3, 2, 4, 5, 6 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P2417', -- property to use for this table team_classification = true, -- it is a team classification table, its not a rider classification table background = false, -- there is no background color for the first row display_ref = get_arg(2, frame,true) == 0 and 0 or 1, max_rank_displayed=25, lf=lf } return new_classification(s, frame) end function p.mountainsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 11, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4320', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.sprintsclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 12, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4322', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.intermediatesprintclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 20, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4958', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.bestyoungclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.bestyoungclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 13, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.u23classification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 18, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4323', -- property to use for this table (same as best young classification) team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.combinationclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 16, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4324', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.combativeclassification(frame) local tempID, lf=get_and_checkID(frame) local s = { header_function = "headoftableII", -- translations are in function headoftableII header_1 = 17, -- translation 10 in function headoftableII is printed in the upper part of the table header header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header item = tempID, property = 'P4321', -- property to use for this table team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.custompointsclassification(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {1, 2, 3, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customtimeclassification(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {1, 2, 3, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = false, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customteamclassificationbypoints(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {3, 2, 7}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = true, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function p.customteamclassificationbytime(frame) local tempID, lf=get_and_checkID(frame) local team_title local temp=get_arg(4,frame) if temp and string.find(temp,"{{{")==nil then team_title=temp end local s = { header_function = "headoftableII", -- translations are in function headoftableII header_2 = {3, 2, 4}, -- translations 1, 2, 3, 7 in function headoftableII are printed in this order in the lower part of the table header header_1_text=get_arg(3,frame) or '', --with lf does not work item = tempID, property = get_arg(2,frame), -- property to use for this table team_title=team_title, --for old races where there was no team, only bike brands team_classification = true, -- it is not a team classification table, its a rider classification table background = 'color', -- there is a background color for the first row max_rank_displayed=10, lf=lf } return new_classification(s, frame) end function new_classification(s, frame) local country = getCountryBool(no_country_classification) local lf = s.lf local raceID = s.item local w_race=isWomenrace(raceID) --[=[ It is possible to give the classification tables in the article commands to change the standard behaviour. They could look like this: {{Cycling race/teamsclassificationbytime|Q18574623|newline=false|country=true}} {{Cycling race/teamsclassificationbytime|Q18574623|country= false|newline=false}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline =true|country=true}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline= true}} {{Cycling race/teamsclassificationbypoints|Q18574623|newline = false|country=false}} {{Cycling race/teamsclassificationbytime|Q18574623|newline=true|country=true}} One additional parameter is "newline" with the values "true" or "false". "newline" says, if there is a line brake after the table. Standard is no line break after the tables stageclassification and teamtimetrialclassification. The second parameter is "country" with the values "true" or "false". "country" tells the module to print the country column or not. Most wikis have as standard to print the country columns, some wikis prefer as standard not to show the country column. A few lines above, the command "if wiki == 'da' then country = false end" tells that daWiki do not want to see the country colums as standard. You can add your wiki here in, if you do not want to see them as standard. With the new parameter editors are able to tell the module in the article what to do. ]=] local timeOfRace = getTimeOfRace(raceID, true) local plus = '' if get_arg('country',frame)~=nil then -- switch country column on or off in the article if get_arg('country',frame) == 'true' and l10n["country_name_list"] then country = true end if get_arg('country',frame) == 'false' then country = false end end local tableHeader2_size = #s.header_2 local max_rank_displayed=s.max_rank_displayed for _, p31 in statements(raceID, 'P31') do if data.stages[p31.mainsnak.datavalue.value.id] then max_rank_displayed=10 --limit general ranking to 10 except for not stage end end local temp=get_arg('max_rank_displayed',frame) if temp and temp~='' and string.find(temp,"{{{")==nil then max_rank_displayed=tonumber(temp) end if s.header_1_text ==nil then s.header_1_text=translate(s.header_function,s.header_1,w_race) end --for custom title local team_translation_index=3 if s.team_title == nil then s.team_title=translate(s.header_function,team_translation_index,w_race) end --translation for team has index "3" local tableBody = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '0') :attr('cellspacing', '0') :css('border' , '0') local wd_link = wdLink( raceID .. '#' .. s.property ) local wd_span = mw.html.create('span'):css('float','left'):wikitext(wd_link) if wiki == "ar" then if arwiki_totemplate then wd_span = wd_link else wd_span = mw.html.create('span'):css('float','right'):wikitext(wd_link) end end tableBody:tag('tr'):tag('th') :attr('colspan', tostring(tableHeader2_size + 1)):cssText("padding:2px 2px; text-align:center; color:inherit; background-color:"..backgroundColor) :wikitext(tostring(wd_span)..s.header_1_text) header= tableBody:tag('tr'):cssText("text-align:center;padding:2px 2px;white-space:nowrap") for i, k in ipairs(s.header_2) do if i ~= 2 or country then local header_text if k == team_translation_index then --for team header_text=s.team_title else header_text=translate(s.header_function,k,w_race) end local head =header:tag('th'):wikitext(header_text) if i == 1 then head:attr('colspan','2') end end end local t_Body = {} --contains all rows local tCell, bg_color, tStyle, temp, temp2 local claims = mw.wikibase.getAllStatements(raceID, s.property) for l, m in pairs(claims) do -- look into all statements if m.mainsnak.snaktype == 'value' then local riderID = m.mainsnak.datavalue.value.id local q = m.qualifiers or {} local rank, riderLink, gender, countryID, teamLink local flagLink, countryName = '', '' local h = { jersey = {}, -- lots of jerseyID value = {'', '', '', ''} -- points, time, time_gap, speed } if q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking rank = tonumber(q.P1352[1].datavalue.value.amount) else rank = '' end if q.P1534 and q.P1534[1].snaktype == 'value' then local dnf=q.P1534[1].datavalue.value.id if dnf=='Q1210380' then riderDNF =translate("startlist",6,w_race)--"HD","NP","DQ" elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,w_race) elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,w_race) elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,w_race) else riderDNF='' end else riderDNF='' end local cancelled=isdisqualified(m,q) if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then --[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]] gender = getGenderCode(riderID, 'n') end h.value[1] = qualifieramount(m, 'P1358') h.value[2] = qualifieramount(m, 'P2781') if q.P2911 and q.P2911[1].snaktype == 'value' then -- P2911 is time gap h.value[3] = tonumber(q.P2911[1].datavalue.value.amount) plus = '+ ' end h.value[4] = qualifieramount(m, 'P2052') if q.P2912 then -- P2912 is distinctive jersey for _, v in pairs(q.P2912) do if v.snaktype == 'value' then table.insert(h.jersey, v.datavalue.value.id) end end end if s.team_classification then local _ teamLink, _, countryID = getTeamLinkCat(riderID, timeOfRace, true) else riderLink = getRiderLink(riderID,timeOfRace)..(getReference(lf,m) or '') teamLink = getTeam(riderID, timeOfRace, q) countryID = getNationality(riderID, timeOfRace,q) end if countryID then flagLink = flag(countryID, timeOfRace) if country then countryName = getCountryName(countryID) end end -- find the right background color if a rider has more then one jersey -- see Wikidata:WikiProject Cycling/Kit to translate/Jerseys bg_color=nil if h.jersey[1] then for _, jersey in pairs(h.jersey) do if data.bg_color_table[jersey] then bg_color = data.bg_color_table[jersey] break end end end tStyle='' if rank == 1 then if s.background then -- values are 'strong' or 'color' tStyle = tStyle ..'font-weight:bold;' -- winner is formated bold if s.background == 'color' then if h.jersey[1] and bg_color then -- background color of winner depending on jersey tStyle = tStyle .. 'background-color:' ..bg_color end end end end local tBody = mw.html.create('tr'):cssText(tStyle) -- a row tBody:tag('td'):cssText("text-align:center;padding:2px 0.5em 2px 0.5em;white-space:nowrap;"..cancelled) :wikitext(number(gender, rank, wiki)) tCell= tBody:tag('td'):cssText("text-align:" .. textalign .. ";padding:0 0.2em 0 0.2em;"..cancelled) if not s.team_classification then if country then tCell:wikitext(riderLink .. jersey(h.jersey) ) tBody:tag('td'):wikitext( flagLink ..' '.. countryName) else tCell:wikitext(flagLink .. ' ' .. riderLink .. jersey(h.jersey)) end if s.display_team~=false then tBody:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.2em 0 0.2em") :wikitext(teamLink or '') end else --team if country then tCell:wikitext(teamLink .. jersey(h.jersey)) tBody:tag('td'):wikitext(flagLink .. ' ' .. countryName) else tCell:wikitext(flagLink .. ' ' .. teamLink .. jersey(h.jersey)) end end if s.header_2[4] == 4 then -- for table stageclassification, generalclassification, adds time and time gap if riderDNF=='' then if rank == 1 and h.value[2] then temp=calculateTime(h.value[2]) elseif rank == 1 and h.value[3]==nil then --avoid a plus with nothing temp='' else temp=plus .. calculateTime(h.value[3]) end else temp=riderDNF end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp) end if s.header_2[4] == 7 or (s.header_2[3] == 7 and s.header_2[1] == 1) then -- for table pointsclassification, adds points --trick for UCI classification if riderDNF=='' then if h.value[1] then temp=h.value[1] else temp='' end tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(temp) if type(h.value[1]) == "number" then if h.value[1] > 1 then temp2=translate("unit",7,w_race) else temp2=translate("unit",6,w_race) end tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2) end else tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(riderDNF) end end if s.header_2[3] == 4 then if s.property == 'P2417' or s.property == 'P2321' then -- for tables teamtimetrialclassification or generaltttclassification, adds time tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(calculateTime(h.value[2])) end end if s.property == 'P3497' then -- for table teambytimeclassification, adds time and time gap if rank == 1 then temp=calculateTime(h.value[2]) else temp=plus .. calculateTime(h.value[3]) end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp) end if s.property == 'P3496' then -- for table teambypointsclassification, adds points tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") :wikitext(h.value[1]) if type(h.value[1]) == "number" then if h.value[1] > 1 then temp2=translate("unit",7,w_race) else temp2=translate("unit",6,w_race) end tCell:tag('span'):cssText("font-size:80%"):wikitext(temp2) end end if s.header_2[4] == 5 then -- for table teamtimetrialclassification, adds time gap if l > 1 then temp= plus else temp='' end tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em"):wikitext(temp..calculateTime(h.value[3])) end if s.header_2[5] == 6 then -- for table teamtimetrialclassification, adds speed tCell=tBody:tag('td'):cssText("text-align:right;padding:0 0.2em 0 0.2em") if type(h.value[4]) == "number" then tCell:wikitext(mw.ustring.format('%.3f', h.value[4])) :tag('span'):cssText("font-size:80%"):wikitext(translate("unit",5,w_race)) end end if rank~='' and rank<=max_rank_displayed then --else no display if riderDNF=='' then table.insert(t_Body, {sortkey=(type(rank) == 'number') and rank or 999, body=tostring(tBody)}) else --disqualified should be higher than not disqualified if the ranking was revided table.insert(t_Body, {sortkey=(type(rank) == 'number') and rank-0.1 or 999, body=tostring(tBody)}) end end end end tableBody=sortAndConcat(t_Body, tableBody) local tableFooter1,tableFooter2 if s.display_ref == 1 or wiki == "ar" then local colspan = (wiki == "ar") and tostring(tableHeader2_size + 1) or 1 tableFooter1=mw.html.create('tr') tCell=tableFooter1:tag('td') :addClass('navigation-only') :attr('colspan', colspan) :cssText('border-top: 2px '..backgroundColor..' solid; font-size: 80%;') tableFooter2=mw.html.create('tr') tCell=tableFooter2:tag('td') :attr('colspan', colspan) :cssText("text-align:right") tCell:tag('small') :wikitext(race_reference(raceID,lf)) end --general table style and last line local tableStyle, tableNewline if get_arg('newline',frame) == 'false' then -- parameter newline in WP article is 'false' tableStyle = "float:" .. floattable .. "; margin-right:0.5em; border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '' end if get_arg('newline',frame) == 'true' then -- parameter newline in WP article is 'true' tableStyle = "border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '<br style="clear:left;">' end if get_arg('newline',frame) == nil then -- no second parameter, compatible to the old code if s.property == 'P2417' then --stageclassification tableStyle = "float:"..floattable.."; margin-right:0.5em; border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '' else tableStyle = "border:1px solid var(--border-color-subtle, #c8ccd1)" tableNewline = '<br style="clear:left;">' -- everything else end end local tablewidth = get_arg('width',frame) if wiki == "ar" and tablewidth and tablewidth ~= "" then tableStyle = tableStyle..";width:"..tablewidth.."%;" end local finalTable= mw.html.create('table'):cssText(tableStyle) finalTable:tag('tr'):tag('td') :node(tableBody) if arwiki_totemplate then tableBody:cssText(tableStyle) finalTable = tableBody end if tableFooter1 then finalTable:node(tableFooter1) finalTable:node(tableFooter2) end return tostring(finalTable)..tableNewline end --=== G) Infobox === function p.infobox(frame) -- normal infobox return infobox_main(frame,0) end function p.seasoninfobox(frame) -- season infobox return infobox_main(frame,1) end function p.champinfobox(frame) -- champ infobox return infobox_main(frame,2) end function infobox_main(frame, selector) local WDlink_on = (wiki == "mk" or wiki == "ja") -- If true, winners will the team of the cyclist local team = true local details, others, winners, plural local entityID, lf = get_and_checkID(frame) local w_race=isWomenrace(entityID) if selector==0 then -- normal infobox details = { { name = translate("infobox",2,w_race)}, -- course { name = translate("infobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- competition { name = translate("infobox",5,w_race)}, -- stages { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date { name = translate("infobox",8,w_race)}, -- distance { name = translate("infobox",9,w_race), name_plural = translate("infobox",10,w_race)}, -- country { name = translate("infobox",11,w_race)}, -- start place { name = translate("infobox",12,w_race)}, -- endplace { name = translate("infobox",13,w_race)}, -- teams { name = translate("infobox",14,w_race)}, -- participants at start { name = translate("infobox",15,w_race)}, -- participants at end { name = translate("infobox",16,w_race)}, -- speed { name = translate("infobox",43,w_race)}, -- elevation { name = translate("infobox",17,w_race)}, -- cost { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } elseif selector==1 then -- season infobox details = { { name = translate("infobox",46,w_race)}, -- edition (1) { name = translate("infobox",3,w_race), name_plural = translate("infobox",4,w_race)}, -- competition (2) { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date (3) { name = translate("infobox",45,w_race), name_plural=translate("infobox",71,w_race)}, -- rasing (4) { name = translate("infobox",47,w_race), name_plural = translate("infobox",48,w_race)}, -- location (country) (5) { name = translate("infobox",49,w_race), name_plural = translate("infobox",50,w_race)}, -- organizer (6) { name = translate("infobox",63,w_race), name_plural = translate("infobox",63,w_race)}, -- team class (7) { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } else -- champ infobox details = { { name = translate("infobox",46,w_race)}, -- edition (1) { name = translate("infobox",6,w_race), name_plural = translate("infobox",7,w_race)}, -- date (2) { name = translate("infobox",9,w_race), name_plural = translate("infobox",10,w_race)}, -- country (3) { name = translate("infobox",67,w_race), name_plural = translate("infobox",68,w_race)}, -- location (city) (4) { name = translate("infobox",61,w_race), name_plural = translate("infobox",62,w_race)}, -- arena / stadion (5) { name = translate("infobox",60,w_race)}, -- medals (6) { name = translate("infobox",13,w_race)}, -- team (7) { name = translate("infobox",49,w_race), name_plural = translate("infobox",50,w_race)}, -- organizer (8) { name = translate("infobox",32,w_race), special = true}, -- special 1 { name = translate("infobox",33,w_race), special = true}, -- special 2 { name = translate("teaminfobox",13,w_race)}, -- official web site } end others = get_others_dic() if selector==0 then -- normal infobox winners = { { name = translate("infobox",19,w_race), QID = 'Q20882667' }, -- first { name = translate("infobox",20,w_race), QID = 'Q20882668' }, -- second { name = translate("infobox",21,w_race), QID = 'Q20882669' }, -- third { name = translate("infobox",22,w_race), QID = 'Q20883007' }, -- points { name = translate("infobox",23,w_race), QID = 'Q20883212' }, -- mountains { name = translate("infobox",24,w_race), QID = 'Q20883328' }, -- sprints { name = translate("infobox",25,w_race), QID = 'Q20883139' }, -- youth { name = translate("infobox",26,w_race), QID = 'Q101246973' }, -- supercombativity { name = translate("infobox",26,w_race), QID = 'Q20893983' }, -- combativity { name = translate("infobox",35,w_race), QID = 'Q27067359' }, -- volantes { name = translate("infobox",36,w_race), QID = 'Q27067170' }, -- regularity { name = translate("infobox",27,w_race), QID = 'Q20893979' }, -- combination { name = translate("infobox",38,w_race), QID = 'Q27907715' }, -- breakaway { name = translate("infobox",39,w_race), QID = 'Q27907747' }, -- azzurri { name = translate("infobox",40,w_race), QID = 'Q28092831' }, -- rookie { name = translate("infobox",28,w_race), QID = 'Q20882921' }, -- teams { name = translate("infobox",37,w_race), QID = 'Q27104269' }, -- teamspoints { name = translate("infobox",41,w_race), QID ='Q61976850' },-- amateur { name = translate("infobox",42,w_race), QID ='Q61976872' } --nationality } elseif selector==1 then -- season infobox winners = { { name = translate("infobox",52,w_race), QID = 'Q20882667' }, -- individual (first) { name = translate("infobox",53,w_race), QID = 'Q20883139' }, -- youth { name = translate("infobox",54,w_race), QID = 'Q27104269' }, -- team (teamspoints) { name = translate("infobox",55,w_race), QID = 'Q98959152' }, -- team GS-I { name = translate("infobox",56,w_race), QID = 'Q98959153' }, -- team GS-II { name = translate("infobox",57,w_race), QID = 'Q98959155' }, -- team GS-III { name = translate("infobox",58,w_race), QID = 'Q72068715' }, -- country { name = translate("infobox",59,w_race), QID = 'Q72068724' } -- country U23 } end -- Champ infobox has no winners getLocalContent(details, lf.args) getLocalContent(others, lf.args) if selector==0 or selector==1 then getLocalContent(winners, lf.args) end local timeOfRace, class local icon = (firstValue(entityID, 'P641','id') == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' local name = getLabelFallback(entityID) or '' infoGetOthers(others, entityID) if not details[1].content then -- course -- For FR Wiki and Wikidata, exception that permit to display 1er, 2e... for the edition number ; -- for RU -й is written after the value of P393 local nr = firstValue(entityID, 'P393') -- P393 is 'edition number' if nr then if wiki == 'fr' then nr = (nr == 1) and "1<sup>re</sup> " or (nr .. "<sup>e</sup> ") elseif wiki == "nl" then nr = nr .. "e " elseif wiki == "ru" then nr = nr .. "-й " elseif wiki == "eo" then nr = nr .. "-a " elseif wiki == "hu" then nr = nr .. ". " else nr = nr .. ". " end end local is_a local classID = firstValue(entityID, 'P279', 'id') --fallback if classID then class = classLinkFn(classID) else for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of' local instanceOf = p31.mainsnak.datavalue.value.id if instanceOf ~= "Q27020041" and data.class_dic[instanceOf] then class = classLinkFn(instanceOf) break end end end local season = firstValue(entityID, 'P3450', 'id') -- P3450 is 'sports season of league or competition' if season then is_a = raceLink(season) else --normally there should be only a p31 for _, p31 in statements(entityID, 'P31') do -- P31 is 'instance of' local instanceOf = p31.mainsnak.datavalue.value.id if instanceOf ~= 'Q27968055' and instanceOf ~= 'Q27020041' then -- Q27020041 is 'sports season' is_a = raceLink(instanceOf) break end end end if nr and is_a then details[1].content = nr .. ' ' .. is_a end end if selector==0 or selector==1 then if not details[2].content then -- competition -- Class of a cycling race. Class is: 1.UWT, 2.UWT, 1.HC, ... add new classes, no problem -- Competition of the cycling race : UCI World Tour 2016, UCI Europe Tour 2016... local tours = {} for _, p361 in statements(entityID, 'P361') do -- P361 is 'part of' tours[#tours + 1] = raceLink(p361.mainsnak.datavalue.value.id) end if tours[1] then if #tours > 1 then details[2].name = details[2].name_plural end if class then tours[1] = tours[1] .. ' ' .. class end details[2].content = table.concat(tours, '<br/>') end end end if selector==0 then if not details[3].content then -- stages local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[3].content = stages end end end local index_date, index_official_site if selector==0 then index_date=4 index_official_site=17 elseif selector==1 then index_date=3 index_official_site=10 else index_date=2 index_official_site=11 end -- if selector==0 or selector==1 then if not details[index_date].content then -- date details[index_date].content, timeOfRace, plural = get_formatted_date(entityID, 'infobox') if plural then details[index_date].name = details[index_date].name_plural end end -- end --from this point the functions differ fundamentally if selector==0 then local kmdistance if not details[5].content then details[5].content, kmdistance = getDistance(entityID, true) end -- distance infoGetCountry(details,6, entityID, timeOfRace) infoGetStartEnd(details,7, entityID, timeOfRace) if not details[9].content then -- teams local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams' if teams > 0 then details[9].content = teams end end infoGetParticipants(details,10, entityID) if not details[10].content or not details[11].content then local Allp710= wikibase.getAllStatements(entityID, 'P710') if Allp710 and #Allp710~=0 then if not details[10].content then details[10].content=#Allp710 end if not details[11].content then local maxrank=1 for _, p710 in pairs(Allp710) do -- look into all statements local q = p710.qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking local riderRank = tonumber(q.P1352[1].datavalue.value.amount) if riderRank > maxrank then maxrank = riderRank end end end if maxrank~=1 then details[11].content=maxrank end end end end if not details[12].content then details[12].content = getSpeed(entityID, true, kmdistance, 'P2321') end --speed if not details[13].content then local elevation=getElevation(entityID) if elevation then details[13].content =elevation else details[13].content = nil end end --Elevation if not details[14].content then -- cost local cost = firstValue(entityID, 'P2130') -- P2130 is cost if cost then details[14].content = dispmoney(cost.amount, cost.unit) end end elseif selector==1 then if not details[4].content then -- racing local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[4].content = stages if stages > 1 then details[4].name = details[4].name_plural end end end if not details[5].content then -- location infoGetPlace(details,5, entityID, timeOfRace) --in GAN version, the separator is , not <br /> end if not details[6].content then -- organizer sitelink listWPlink(details, 6, entityID,'P664',true) --org end if not details[7].content then -- organizer sitelink listWPlink(details, 7, entityID,'P2670',true) --team ???? end else --champ infoGetCountry(details,3, entityID, timeOfRace) if not details[4].content then -- location infoGetPlace(details,4, entityID, timeOfRace) --in GAN version, the separator is , not <br /> end if not details[5].content then -- arena / stadion listWPlink(details, 5, entityID,'P115',true) end if not details[6].content then -- racing local stages = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if stages > 0 then details[6].content = stages end end if not details[7].content then -- teams local teams = #wikibase.getBestStatements(entityID, 'P1923') -- P1923 is 'participating teams' if teams > 0 then details[7].content = teams end end if not details[8].content then -- organizer sitelink listWPlink(details, 8, entityID,'P664',true) --org end end if not details[index_official_site].content then details[index_official_site].content = officialSite(entityID) end tab = infoInitTab("300px", name, icon) if selector==0 then -- normal infobox infoFillOthersDetails(tab, others, details,translate("infobox",1,w_race)) elseif selector==1 then -- season infobox infoFillOthersDetails(tab, others, details,translate("infobox",69,w_race)) else -- champ infobox infoFillOthersDetails(tab, others, details,translate("infobox",70,w_race)) end if selector==0 or selector==1 then --no winners for champ local winRows='' local win = {} for _, v in pairs(winners) do if not v.content then win[v.QID] = '' end end winner(lf,entityID, win, timeOfRace, false, WDlink_on, team, true) for _, v in pairs(winners) do if not v.content then if win[v.QID] ~= '' then v.content = win[v.QID] end end if v.content then tRow= mw.html.create('tr') :css('vertical-align','top') tRow:tag('td'):css('font-weight','bold'):wikitext(v.name) tRow:tag('td'):wikitext(v.content) winRows=winRows..tostring(tRow) --not elegant end end if winRows~= '' then tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('border-bottom:5px solid var(--background-color-base, #fff); background-color:'..backgroundColor..'; color:inherit; text-align:center') :css('font-weight','bold') :wikitext(translate("infobox",18,w_race)) tab:wikitext(winRows) end end if others[3].content then -- map tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center') :wikitext("[[File:".. others[3].content .. "|center|300px]]") if others[5].content then -- caption tab:tag('tr'):tag('td'):attr('colspan','2'):css('text-align','center'):css('font-size','80%') :wikitext(others[5].content) end end tab:node(getPreviousNextLine(entityID)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/infobox", translate("infobox",34,w_race), entityID) return tab end --=== H) race infobox function p.raceinfobox(frame) local lang = contentLanguage local WDlink_on = (wiki == "mk" or wiki == "ja") local tRace = {race={ raceId, raceDate, future, }, vainqueur= {}, } local entityID, lf = get_and_checkID(frame) local w_race= isWomenrace(entityID) local details = { { name = translate("raceinfobox",4,w_race)}, -- sport { name = translate("raceinfobox",5,w_race)}, -- creation date { name = translate("raceinfobox",6,w_race)}, -- disparition date { name = translate("raceinfobox",7,w_race)}, -- number of editions { name = translate("raceinfobox",8,w_race)}, -- periodicity { name = translate("raceinfobox",9,w_race)}, -- type , name_plural = translate("infobox",10) { name = translate("raceinfobox",33,w_race), name_plural = translate("raceinfobox",34,w_race)}, --country { name = translate("raceinfobox",10,w_race), name_plural = translate("raceinfobox",11,w_race)}, -- place { name = translate("raceinfobox",12,w_race), name_plural = translate("raceinfobox",13,w_race)}, --org { name = translate("raceinfobox",27,w_race), name_plural = translate("raceinfobox",28,w_race)}, --race director { name = translate("raceinfobox",15,w_race), name_plural = translate("raceinfobox",16,w_race)}, -- Cat { name = translate("raceinfobox",17,w_race)}, -- circuit { name = translate("raceinfobox",14,w_race)}, -- official web site } local others = get_others_dic() local name = getLabelFallback(entityID) or '' infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) local timeOfRace, class local listOfNames=getFormerNames(entityID, 'P1448') local sport_id=firstValue(entityID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end --creation local creation=firstValue(entityID, 'P571', 'time') if not details[2].content and creation then details[2].content = funcDate(creation, "onlyyear" ) end --disparition local disparition=firstValue(entityID, 'P576', 'time') if not details[3].content and disparition then details[3].content = funcDate(disparition,"onlyyear") end --populate tRace listOfWinners(entityID, tRace,nil,lf) --number of editions if not details[4].content and tRace.numberOfEditions and tRace.lastEditionYear then details[4].content = tostring(tRace.numberOfEditions).." (" .. translate("raceinfobox",31,w_race) .. " "..tostring(tRace.lastEditionYear)..")" end --periodicity if not details[5].content then details[5].content = getPeriodicity(entityID, tRace) end --type if not details[6].content then details[6].content = getType(entityID) end timeOfRace=nil --could be from last edition if not details[7].content then infoGetCountry(details,7, entityID, timeOfRace) end if not details[8].content then infoGetPlace(details,8, entityID, timeOfRace) end if not details[9].content then listWPlinkChrono(details, 9, entityID, {'P664'}, true, initialYear) --organiser end if not details[10].content then listWPlinkChrono(details, 10, entityID, {'P488'}, 'rider', initialYear) --race dir end --Class and circuit local classContent, circuitLink, numberClass= getClass(entityID) if not details[11].content then details[11].content = classContent if numberClass >1 then details[11].name = details[11].name_plural end end if not details[12].content then details[12].content = circuitLink end --Official web site if not details[13].content then details[13].content = officialSite(entityID) end --Build the table tab = infoInitTab("300px", name, icon) --former names wiki_listOfNamesAtBottom={'ru'} local listOfNamesAtBottom = false for _, value in pairs(wiki_listOfNamesAtBottom) do -- if value == wiki then listOfNamesAtBottom = true end end --picture at the top infoFillOthersDetails(tab, others, nil,translate("raceinfobox",19,w_race),"260px") if not listOfNamesAtBottom then if listOfNames and #listOfNames>1 then tab:node(addATitle(translate("raceinfobox",18,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end end infoFillOthersDetails(tab, nil, details,translate("raceinfobox",19,w_race),"260px") if listOfNamesAtBottom then if listOfNames and #listOfNames>0 then -- except for the ru-wiki, no one uses the display of official names at the bottom anyway tab:node(addATitle(translate("raceinfobox",18,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end end if (tRace.lastWinner and tRace.lastWinner~='') or (tRace.maxWinner and tRace.maxWinner~='') then tab:node(addATitle(translate("raceinfobox",20,w_race))) if (tRace.lastWinner and tRace.lastWinner~='') then tab:node(addARow(translate("raceinfobox",21,w_race),tRace.lastWinner)) end if (tRace.maxWinner and tRace.maxWinner~='') then tab:node(addARow(translate("raceinfobox",22,w_race),tRace.maxWinner)) end end if tRace.nextLink or tRace.lastLink then tab:node(addATitle(translate("raceinfobox",23,w_race))) local outTable if tRace.lastLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("raceinfobox",24,w_race).. ":<br>'''".. tRace.lastLink.."'''" tCell:wikitext(lastText) tab:node(outTable) end if tRace.nextLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("raceinfobox",25,w_race).. ":<br>'''".. tRace.nextLink.."'''" tCell:cssText("text-align:center"):wikitext(nextText) tab:node(outTable) end end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --=== I) Team roster function p.lastteamroster(frame) local teamID, lf = get_and_checkID(frame) local tRace = {race={ raceId, raceDate, future, }, vainqueur= {}, } listOfWinners(teamID, tRace,true,lf,"P527") if get_arg(2,frame) ~= nil then if mw.ustring.find(mw.ustring.lower(get_arg(2,frame)), "sort") or wiki == "lv" or wiki == "mk" or wiki == "ru" then sort = true else sort = false end end local s = { sort=sort, seasonID=tRace.lastID, lf=lf, year=tRace.lastEditionYear } if tRace.lastID then return teamroster_main(s) end end function p.teamroster(frame) local seasonID, lf = get_and_checkID(frame) local sort --[[ The word 'sort' is used to sort the riders after the surname. It could look like this in the Wikipedia article {{Cycling race/teamroster|Q21769847 | sort }} A rider called 'Laurens De Vreese' is sorted after 'De Vreese Laurens'. If you want to sort after 'Vreese Laurens De' change that in the code. In lv mkWiki and ruWiki sorting is standard, there is no need to switch sorting on in the article ]] if get_arg(2,frame) ~= nil then if mw.ustring.find(mw.ustring.lower(get_arg(2,frame)), "sort") or wiki == "lv" or wiki == "mk" or wiki == "ru" then sort = true else sort = false end end local s = { sort=sort, seasonID=seasonID, lf=lf } return teamroster_main(s) end function teamroster_main(s) local flags, pays = {}, {} local riderName, riderBirthday,riderTeam, timeTeam, correctlanguage,riderStart, riderEnd local riderPosition, riderReason, riderRef, errortext local riderReasonTable, riderTablecorrect, riderTablenotcorrect, riderTable = {}, {}, {}, {} local labelMissing = false local teamID, stagiaire local slavicWikis = {mk = true, ru = true} local wikiIsSlavic = slavicWikis[wiki] local WDlink_on = wiki == "mk" or wiki == "ja" or wiki == "ru" or wiki == "he" local tableEndText = '' local w_race=isWomenrace(s.seasonID) local temp = firstValue(s.seasonID, 'P5138', 'id') if temp then teamID = temp end local startOfSeason = getTimeOfRace(s.seasonID, true) if not s.year then label=getLabelFallback(s.seasonID) local second_occurrence local first_occurrence=string.find(label, "%d%d%d%d") if first_occurrence~=nil then second_occurrence=string.find(label, "%d%d%d%d",first_occurrence+1) if second_occurrence~=nil then s.year=string.match(label, "%d%d%d%d",first_occurrence+1) --case Tartu2024 else s.year=string.match(label, "%d%d%d%d") end end end for _, p527 in statements(s.seasonID, 'P527') do --re-init riderName, riderBirthday, correctlanguage=nil, nil, nil riderTeam, timeTeam, riderReason, riderRef=nil, nil, nil, nil riderStart, riderEnd=nil, nil local riderID = p527.mainsnak.datavalue.value.id riderName, correctlanguage =getRiderLink(riderID, startOfSeason) --label if WDlink_on==true then riderName=riderName..wdLink(riderID) end local timeOfRace = startOfSeason _, startOfSeasonYear, startOfSeasonMonth, startOfSeasonDay, _=parseDate(startOfSeason, '2040', '12', '31', '','') riderBirthday=firstValue(riderID, 'P569','time') if not wikiIsSlavic then correctlanguage=true end --actually we never take a cyrillic name if no latin is found local sortkey = findSortKey(riderID, correctlanguage, wikiIsSlavic) for _, q in qualifiers(p527, 'P580') do local startdate = q.value['time'] timeOfRace = startdate riderStart = funcDate(trans(startdate,'01', '01') or '', 'small') end for _, q in qualifiers(p527, 'P582') do local enddate=q.value['time'] riderEnd = funcDate(trans(enddate,'12', '31') or '', 'small') end riderPosition=getPosition(riderPosition,p527) riderReason, riderRef=getReason(riderReason,riderRef,p527, timeOfRace,enddate,s.lf) local beginYear, beginMonth, beginDay, endYear, endMonth, endDay, beginDate, endDate, endDatefound, endDatetemp local changedTime = '+0000-00-00' if teamID == nil then local p54 = getStatementForTime(riderID, 'P54', timeOfRace) if p54 then teamID = p54.mainsnak.datavalue.value.id end else for _, v in statements(riderID, 'P54') do -- look into all P54 teams stagiaire=nil errortext='' local thisteamID = v.mainsnak.datavalue.value.id if thisteamID == teamID then endDatefound=true beginDate, endDate = getStartEndfromQuali(v.qualifiers) beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider') if not endDate then endDatefound=false end endDate, endYear, endMonth, endDay, _ = parseDate(endDate, beginYear, '12', '31', errortext,'') riderReason, riderRef=getReason(riderReason,riderRef,v,timeOfRace,endDate,s.lf) if (beginYear == startOfSeasonYear or endYear == startOfSeasonYear) and ((beginYear == startOfSeasonYear and (beginMonth ~= '01' or beginDay ~= '01')) or (endYear == startOfSeasonYear and (endMonth ~= '12' or endDay ~= '31'))) then -- riders who start after 1 January or end earlier then 31 December in the season riderStart = funcDate(beginDate, 'small') if endDatefound then riderEnd = funcDate(endDate, 'small') else riderEnd = funcDate('+'..beginYear..'-12-31T00:00:00Z', 'small') end riderPosition=getPosition(riderPosition,v) end else for _, q in qualifiers(v, 'P39') do stagiaire =q.value.id end if not stagiaire then endDatefound=true beginDate, endDatetemp=getStartEndfromQuali(v.qualifiers) if not endDatetemp then endDatefound=false end beginDate, beginYear, beginMonth, beginDay, errortext = parseDate(beginDate, '2040', '01', '01', errortext, ' missing qualifiers by rider') endDate, endYear, endMonth, endDay, _ = parseDate(endDatetemp, beginYear, '12', '31', errortext, '') if beginYear < startOfSeasonYear or (beginYear == startOfSeasonYear and beginMonth < startOfSeasonMonth) or (beginYear == startOfSeasonYear and beginMonth == startOfSeasonMonth and beginDay < startOfSeasonDay) then -- start time < season time if endDatefound then if (endDate or '') >= changedTime then -- find maximum end time -- Case Pierre-Roger Latour: Chambéry CF (2012 - 2014), time season at 2013 -- Task: changedTime should be after start time, but before startOfSeason if endYear > startOfSeasonYear then changedTime = '+'..startOfSeasonYear..'-12-31T00:00:00Z' else changedTime = endDate or '' end end end end if changedTime ~= '+0000-00-00' then riderTeam = getTeam(riderID, changedTime, nil) local _, _, endYear, _, _ = string.find(changedTime, "(%d+)-(%d+)-(%d+)") timeTeam = ' ('..endYear..')' if wiki == "ar" then timeTeam = endYear end end end end end end --get the country local countryID = getNationality(riderID, timeOfRace,q) if countryID then pays = getCountryName(countryID) flags = flag(countryID, timeOfRace) end --save local tRider={ sortkey=sortkey, riderName=riderName, riderBirthday=riderBirthday, riderTeam=riderTeam, timeTeam=timeTeam, riderStart=riderStart, riderEnd=riderEnd, riderPosition=riderPosition, riderReason=riderReason, riderRef=riderRef, errortext=errortext, pays=pays, flags=flags } if correctlanguage == true then table.insert(riderTablecorrect,tRider ) else table.insert(riderTablenotcorrect, tRider) end end -- sorting names if sort == true then if #riderTablecorrect~=0 then table.sort(riderTablecorrect, function(a,b) return a["sortkey"]<b["sortkey"] end) end if #riderTablenotcorrect~=0 then table.sort(riderTablenotcorrect, function(a,b) return a["sortkey"]<b["sortkey"] end) end end --merge for _, v in pairs (riderTablecorrect) do table.insert(riderTable, v) end for _, v in pairs (riderTablenotcorrect) do table.insert(riderTable, v) end local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(s.seasonID..'#P527')) if arwiki_totemplate then wd_link = wdLink(s.seasonID .. '#P527') end local outTable = mw.html.create('table') :addClass('sortable') :attr('cellpadding', '2') :attr('cellspacing', '0') :css('border' , '1px solid var(--border-color-subtle, #c8ccd1)') :css('padding', '3px') local th_colspan = 4 if wiki == "ar" then th_colspan = 5 end local tRow=outTable:tag('tr'):css('line-height','1.8em') :css('background-color',backgroundColor) :tag('th'):attr('colspan', th_colspan):cssText('text-align:center;white-space:nowrap') :wikitext(tostring(wd_link)) if s.year then tRow:wikitext(translate("getSquadTableColumn",7,w_race).." "..s.year) else tRow:wikitext(translate("getSquadTableColumn",7,w_race)) end local header = outTable:tag('tr') header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",1,w_race)) local textalign = 'center' if wiki=='ar' then textalign = 'right' end header:tag('th'):cssText('text-align:'..textalign..';padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",2,w_race)) if l10n["country_name_list"] and wiki ~= 'lv' and wiki ~= 'ru' and wiki ~= 'da' and wiki ~= 'ar' then header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",6,w_race)) end if wiki == "ar" then header:tag('th'):attr('colspan', 2):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,w_race)) else header:tag('th'):cssText('text-align:center;padding:2px 20px 2px 2px;white-space:nowrap'):wikitext(translate("getSquadTableColumn",3,w_race)) end local temp local iii = 1 for i, v in pairs (riderTable) do local tRow=outTable:tag('tr'):css('line-height','1.8em') local tCell= tRow:tag('td'):cssText("padding:0 1em 0 0;white-space:nowrap") if not l10n["country_name_list"] or wiki == 'lv' or wiki == 'ar' or wiki == 'ru' or wiki == 'da' then temp=v['flags']..' ' else temp='' end tCell:wikitext(temp..v['riderName']):attr('data-sort-value',v['sortkey']) if v['riderStart']~=nil or v['riderEnd']~=nil then tCell:tag('span'):cssText("font-size:80%; color:#686868") local note='' if v['riderReason'] ~= nil then note = ', [[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]' if wiki == "ar" then note = '، [[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]' end end tCell:wikitext(' ('..(v['riderStart'] or '')..'–'..(v['riderEnd'] or '') .. (v['riderPosition'] or '')..note..')') elseif v['riderReason'] then tCell:tag('span'):cssText("font-size:80%; color:#686868") :wikitext('([[#tr_'..i..s.seasonID..'|'..translate("getSquadTableColumn",4,w_race)..']]'.. ')') end tCell=tRow:tag('td'):cssText("text-align:right;white-space:nowrap") if wiki == 'lv' then local _, _, beginYear, beginMonth, beginDay = string.find(startOfSeason,"(%d+)-(%d+)-0*(%d+)") local _, _, endYear, endMonth, endDay = string.find(v['riderBirthday'] or '',"(%d+)-(%d+)-0*(%d+)") tCell:wikitext(s.lf:expandTemplate{ title = 'Template:Birth date and age2', args = { beginYear, beginMonth, beginDay, endYear, endMonth, endDay } }) else tCell:wikitext(funcDate(v['riderBirthday'] or '', 'long')) if l10n["country_name_list"] and wiki ~= 'ar' and wiki ~= 'ru' and wiki ~= 'da' then tRow:tag('td'):wikitext(v['flags'].. ' '..v['pays']) end end if wiki =='he' then local isRtl = (mw.ustring.find(v['riderTeam'], '|.*[א-ת]') or (not mw.ustring.find(v['riderTeam'], '|') and mw.ustring.find(riderTeam, '[א-ת]'))) if isRtl then tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:right") else labelMissing = true -- FIXME: labelMissing is not functional in most languages. once we have infra support for it, move it there tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left") end elseif wiki == "ar" then tCell=tRow:tag('td'):cssText("padding:0 0.5em") else tCell=tRow:tag('td'):cssText("padding:0 0.5em; text-align:left") end if v['riderTeam'] then if wiki == "ar" then tCell:wikitext( v['riderTeam'] ) tCell=tRow:tag('td'):cssText("padding:0 0.5em") tCell:wikitext( v['timeTeam']..v['errortext'] ) else tCell:wikitext(v['riderTeam'].. v['timeTeam']..v['errortext']) end end --tableEndText is not a table if v['riderReason'] ~= nil or v['errortext'] ~= '' then local temp=(v['riderReason'] or '')..(v['errortext'] or '') if iii == 1 then tableEndText = tableEndText.. translate("getSquadTableColumn",5,w_race)..': '.. v['riderName'].. temp else tableEndText = tableEndText.. '<span style="color:white">'.. translate("getSquadTableColumn",5,w_race)..': </span>'.. riderName.. temp end iii = iii if riderRef ~= nil then tableEndText = tableEndText.. s.lf:extensionTag{name='ref', content=v['riderRef'], args = {name='tr_'..iii..s.seasonID}} end tableEndText = tableEndText.. '<br>' end end if labelMissing then outTable:wikitext(getMissingLabelTrackingCategory()) end local ref=race_reference(s.seasonID,s.lf) if ref=='' then --fallback local UCIlink if wiki=="fr" then UCIlink="https://fr.uci.org/riders/athetes-et-equipe-route/4uEfOErsvL4hkRJriqkdiw" else UCIlink="https://www.uci.org/riders/road-riders-teams/4uEfOErsvL4hkRJriqkdiw" end ref=translate("race_reference", 1,w_race).."["..UCIlink..' UCI]' end outTable:tag('tr'):tag('td'):addClass("navigation-only") :attr('data-sort-value','zz') :attr('colspan',th_colspan) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") :tag('tr') :tag('td'):attr('colspan',th_colspan) :attr('data-sort-value','zzz') :cssText("text-align:right") :tag('small'):wikitext(ref) return tostring(outTable)..tableEndText end --== J) List of winners == function p.listofwinners(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersyoung(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20883139','Q72099969','Q72099972'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersChamp(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=false, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), winnersProperty=winnersProperty, display_team = false, custom=false, lf=lf } return listofwinners_main(s) end --listofwinnerssecondpart and so on can be coded with p.listofwinners function p.listofwinnersnowiki(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q20882667','Q20882668','Q20882669'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return frame:extensionTag{ name = 'nowiki', content = listofwinners_main(s)} end function p.listofwinnersteamofpoint(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q27104269','Q72065970','Q72065977'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSI(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959152','Q98959192','Q98959196'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSII(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959153','Q98959194','Q98959197'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnersGSIII(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q98959155','Q98959195','Q98959198'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscountry(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q72068715','Q72068718','Q72068721'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscountryU23(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty = {'Q72068724','Q72068725','Q72068729'} local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team=istrue(get_arg(5,frame)), -- false= display of a rider without a team winnersProperty=winnersProperty, custom=false, lf=lf } return listofwinners_main(s) end function p.listofwinnerscustom(frame) local raceID, lf =get_and_checkID(frame) local winnersProperty ={} if istrue(get_arg('general',frame)) then table.insert( winnersProperty,'Q20882667') end if istrue(get_arg('podium',frame)) then table.insert( winnersProperty,'Q20882668') table.insert( winnersProperty,'Q20882669') end if istrue(get_arg('points',frame)) then table.insert( winnersProperty, 'Q20883007' ) end if istrue(get_arg('mountain',frame)) then table.insert( winnersProperty, 'Q20883212' ) end if istrue(get_arg('sprints',frame)) then table.insert( winnersProperty, 'Q20883328' ) end if istrue(get_arg('youth',frame)) then table.insert( winnersProperty, 'Q20883139' ) end if istrue(get_arg('combativity',frame)) then table.insert( winnersProperty, 'Q101246973' ) table.insert( winnersProperty, 'Q20893983' ) end if istrue(get_arg('volante',frame)) then table.insert( winnersProperty, 'Q27067359' ) end if istrue(get_arg('regularity',frame)) then table.insert( winnersProperty, 'Q27067170' ) end if istrue(get_arg('combination',frame)) then table.insert( winnersProperty, 'Q20893979' ) end if istrue(get_arg('breakaway',frame)) then table.insert( winnersProperty, 'Q27907715' ) end if istrue(get_arg('azzurri',frame)) then table.insert( winnersProperty, 'Q27907747' ) end if istrue(get_arg('rookie',frame)) then table.insert( winnersProperty, 'Q28092831' ) end if istrue(get_arg('teams',frame)) then table.insert( winnersProperty, 'Q20882921' ) end if istrue(get_arg('teamspoints',frame)) then table.insert( winnersProperty, 'Q27104269' ) end if istrue(get_arg('amateur',frame)) then table.insert( winnersProperty, 'Q61976850' ) end if istrue(get_arg('nationality',frame)) then table.insert( winnersProperty, 'Q61976872' ) end if istrue(get_arg('country',frame)) then table.insert( winnersProperty, 'Q72068715' ) end if istrue(get_arg('countryU23',frame)) then table.insert( winnersProperty, 'Q72068724' ) end local s = { countryflag=true, raceID=raceID, beginyear=get_arg(2,frame,true), endyear=get_arg(3,frame,true), shapka=get_arg(4,frame,true), display_team = false, winnersProperty=winnersProperty, custom=true, lf=lf } return listofwinners_main(s) end function listofwinners_main(s) local lf=s.lf local raceID=s.raceID local rows = {} local WDlink_on = (wiki == "mk") or (wiki == "ja") or (wiki == "ru") local WPcontent = { row ={}, code = {} } local beginyear=s.beginyear or 0 local endyear=s.endyear or 0 local shapka=s.shapka or 0 local titletable local w_race=isWomenrace(raceID) if s.custom then titletable={ [ 'Q20882667' ]=translate("listofwinners",2, w_race), -- winner [ 'Q20882668' ]=translate("listofwinners",3, w_race), -- second [ 'Q20882669' ]=translate("listofwinners",4, w_race), -- third [ 'Q20883007' ]=translate("listofwinners",5, w_race), -- points [ 'Q20883212' ]=translate("listofwinners",6, w_race), -- mountains [ 'Q20883328' ]=translate("listofwinners",7, w_race), -- sprints [ 'Q20883139' ]=translate("listofwinners",8, w_race), -- youth [ 'Q101246973' ]=translate("listofwinners",9, w_race), -- supercombativity [ 'Q20893983' ]=translate("listofwinners",9, w_race), -- combativity [ 'Q20893979' ]=translate("listofwinners",10, w_race), -- combination [ 'Q20882921' ]=translate("listofwinners",11, w_race), -- teams [ 'Q27067359' ]=translate("listofwinners",12, w_race), -- volantes [ 'Q27067170' ]=translate("listofwinners",13, w_race), -- regularity [ 'Q27104269' ]=translate("listofwinners",14, w_race), -- teamspoints [ 'Q27907715' ]=translate("listofwinners",15, w_race), -- breakaway [ 'Q27907747' ]=translate("listofwinners",16, w_race), -- azzurri [ 'Q28092831' ]=translate("listofwinners",17, w_race), -- rookie [ 'Q61976850' ]=translate("listofwinners",18, w_race), -- amateur [ 'Q61976872' ]=translate("listofwinners",19, w_race), -- nationality [ 'Q72068715' ]=translate("listofwinners",23, w_race), -- winner country [ 'Q72068724' ]=translate("listofwinners",24, w_race), -- winner countryU23 } else --main titletable={ -- winner: [ 'Q20882667' ]=translate("listofwinners",2, w_race), -- winner [ 'Q20883007' ]=translate("listofwinners",2, w_race), -- points [ 'Q20883212' ]=translate("listofwinners",2, w_race), -- mountains [ 'Q20883328' ]=translate("listofwinners",2, w_race), -- sprints [ 'Q20883139' ]=translate("listofwinners",2, w_race), -- youth (time or point) [ 'Q101246973' ]=translate("listofwinners",2, w_race), -- supercombativity [ 'Q20893983' ]=translate("listofwinners",2, w_race), -- combativity [ 'Q20893979' ]=translate("listofwinners",2, w_race), -- combination [ 'Q20882921' ]=translate("listofwinners",2, w_race), -- team (time) [ 'Q27067359' ]=translate("listofwinners",2, w_race), -- volantes [ 'Q27067170' ]=translate("listofwinners",2, w_race), -- regularity [ 'Q27104269' ]=translate("listofwinners",2, w_race), -- teampoints [ 'Q27907715' ]=translate("listofwinners",2, w_race), -- breakaway [ 'Q27907747' ]=translate("listofwinners",2, w_race), -- azzurri [ 'Q28092831' ]=translate("listofwinners",2, w_race), -- rookie [ 'Q61976850' ]=translate("listofwinners",2, w_race), -- amateur [ 'Q61976872' ]=translate("listofwinners",2, w_race), -- nationality [ 'Q72068715' ]=translate("listofwinners",2, w_race), -- winner country [ 'Q72068724' ]=translate("listofwinners",2, w_race), -- winner countryU23 [ 'Q98959152' ]=translate("listofwinners",2, w_race), -- winner team GS-I [ 'Q98959153' ]=translate("listofwinners",2, w_race), -- winner team GS-II [ 'Q98959155' ]=translate("listofwinners",2, w_race), -- winner team GS-III -- 2 place: [ 'Q20882668' ]=translate("listofwinners",3, w_race), -- second [ 'Q72065970' ]=translate("listofwinners",3, w_race), -- second teampoints [ 'Q72099969' ]=translate("listofwinners",3, w_race), -- youth (time or point) [ 'Q72068718' ]=translate("listofwinners",3, w_race), -- second country [ 'Q72068725' ]=translate("listofwinners",3, w_race), -- second countryU23 [ 'Q98959192' ]=translate("listofwinners",3, w_race), -- second team GS-I [ 'Q98959194' ]=translate("listofwinners",3, w_race), -- second team GS-II [ 'Q98959195' ]=translate("listofwinners",3, w_race), -- second team GS-III -- 3 place: [ 'Q20882669' ]=translate("listofwinners",4, w_race), -- third [ 'Q72065977' ]=translate("listofwinners",4, w_race), -- third teampoints [ 'Q72099972' ]=translate("listofwinners",4, w_race), -- youth (time or point) [ 'Q72068721' ]=translate("listofwinners",4, w_race), -- third country [ 'Q72068729' ]=translate("listofwinners",4, w_race), -- third countryU23 [ 'Q98959196' ]=translate("listofwinners",4, w_race), -- third team GS-I [ 'Q98959197' ]=translate("listofwinners",4, w_race), -- third team GS-II [ 'Q98959198' ]=translate("listofwinners",4, w_race), -- third team GS-III } end --[=[ It is possible to give the table listofwinners in the article commands. It could look like this: {{Cycling race/listofwinners|Q18574623 | above row 1: '''[[aaa bbb ccc]]''' xxx }} "above row x" inserts a new row above row x into the table. Content is what is behind the ":". ]=] if get_arg(2,lf) then for num, _ in pairs(lf.args) do if num > 1 and mw.ustring.find(mw.ustring.lower(get_arg(num,lf)), 'row') then local _, _, kebeginYear, val = mw.ustring.find(get_arg(num,lf), "([^:]+)%s*:%s*(%C+)") local _, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)") kebeginYear2 = tonumber(kebeginYear2) kebeginYear1 = mw.ustring.lower(key01..kebeginYear1) if kebeginYear1 == 'aboverow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 0 end --0 is above if kebeginYear1 == 'belowrow' then WPcontent.row[kebeginYear2] = val WPcontent.code[kebeginYear2] = 1 end --0 is above end end end local firstyeartodisplay=2100 local parts = mw.wikibase.getAllStatements(raceID, 'P527') -- P527 is 'has part' for _, part in ipairs(parts) do if part.rank ~= 'deprecated' and part.mainsnak.snaktype == 'value' then local partID = part.mainsnak.datavalue.value.id local timeOfRace=getTimeOfRace(partID,true,true) --original P585 and P580 inverted here local year = timeOfRace and string.sub(timeOfRace, 2, 5) or '?' local month = timeOfRace and string.sub(timeOfRace, 7, 8) or '01' if year == "?" then mw.log("no year at " .. partID ) end if endyear==0 or (tonumber(year) or 0)<=endyear then if (tonumber(year) or 0) >= beginyear then local thereisawinner=false local sitelink = mw.wikibase.getSitelink(partID) if sitelink then sitelink = '[[' .. sitelink .. '|' .. year .. ']]' else sitelink = year end if WDlink_on then sitelink = sitelink .. ' ' .. wdLink(partID) end local winners = {} for _, property in ipairs(s.winnersProperty) do winners[property]='' end local tCell local tCellstr='' local temp=firstValue(partID, 'P1346','id') if temp and temp=='Q30108381' or temp=='Q54806642' or temp=='Q23023872' then --race cancelled local cancelledlabel = getLabelFallback(temp) tCell=mw.html.create('td'):attr('colspan','4') :cssText('text-align:center; font-style: italic') :wikitext(cancelledlabel) tCellstr=tostring(tCell) else winner(lf,partID, winners, timeOfRace, not s.countryflag, WDlink_on,s.display_team,true) for _, property in ipairs(s.winnersProperty) do tCell=mw.html.create('td'):wikitext(winners[property]) if winners[property]~='' then thereisawinner=true if tonumber(year)<firstyeartodisplay then firstyeartodisplay=tonumber(year) end end tCellstr= tCellstr..tostring(tCell) end end if tonumber(year) == nil then year = "1970" end if firstyeartodisplay<=tonumber(year) then rows[#rows+1]={year..month, sitelink, tCellstr} end end end end end table.sort(rows, function(a, b) return a[1] < b[1] end) -- Sort by year if wiki == "ar" then -- replace clear:left with clear:right in standardtablecss standardtablecss = standardtablecss:gsub('clear:left', 'clear:right') end --do not use hw.html here otherwise the begin and end year won't work local table_first = "<table cellpadding='4' cellspacing='0' style='"..standardtablecss.."'>" local tTitleRow=mw.html.create('tr') :css('text-align','center') :css('background-color',backgroundColor) :css('color', 'inherit') local tCell=tTitleRow:tag('th') local wd_link = mw.html.create('span'):css('float','left'):wikitext(wdLink(raceID .. "#P527")) if arwiki_totemplate then wd_link = wdLink(tostring(raceID) .. "#P527") end if WDlink_on == false then tCell:wikitext(tostring(wd_link)) end tCell:wikitext(translate("listofwinners",1,w_race)) --year for _, pp in ipairs(s.winnersProperty) do tTitleRow:tag('th'):wikitext(titletable[pp]) end local table_center='' local nb_year_inrow=1 local lastyear for i, row in ipairs(rows) do sitelink=row[2] local tRowWD=mw.html.create('tr') local tCell=tRowWD:tag('td'):css('text-align','left') if lastyear and mw.ustring.sub(row[1],1,4)==lastyear then nb_year_inrow=nb_year_inrow+1 tCell:wikitext(sitelink..' ('..tostring(nb_year_inrow)..')') else tCell:wikitext(sitelink) nb_year_inrow=1 end lastyear=mw.ustring.sub(row[1],1,4) tRowWD:node(row[3]) --add the end of the row if WPcontent.row[i] then tRow=mw.html.create('tr'):tag('td'):attr('colspan','4') :css('text-align','center') tRow:wikitext(WPcontent.row[i]) if WPcontent.code[i]==0 then --above table_center=table_center..tostring(tRow) table_center=table_center..tostring(tRowWD) else --below table_center=table_center..tostring(tRowWD) table_center=table_center..tostring(tRow) end else table_center=table_center..tostring(tRowWD) end end --firstpart with header no foot if shapka == 1 then -- standard header return table_center .. "</table>" elseif shapka == 2 then -- you need to add a title and you can add text at the beginning return table_center else -- you need to add a title and you can add anything and anywhere return table_first .. tostring(tTitleRow) .. table_center .. "</table>" end end --== K) List of stages function check_basque_place(sPoint, sPointID) local eu=false --check if it is a town local town=false for _, p31 in statements(sPointID, 'P31') do if p31.mainsnak.datavalue.value.id == "Q2074737" or p31.mainsnak.datavalue.value.id == "Q484170" then --Spanish and French towns town=true end end if not town then --if it not a town look for parent for _, p131 in statements(sPointID, 'P131') do if data.BasqueTown[p131.mainsnak.datavalue.value.id] then eu=true end end else if data.BasqueTown[sPointID] then eu=true end end if eu then sPoint = flag("Q47588", timeOfRace).." "..sPoint end return sPoint, eu end function p.listofstages(frame) local WDlink_on = wiki == "mk" or wiki == "ja" local WPcontent = {} local raceID, lf = get_and_checkID(frame) local thereiselevation=false local result, tableBody local w_race=isWomenrace(raceID) --[=[ It is possible to give the table listofstages in the article commands which overwrites data from Wikidata. It could look like this: {{Cycling race/listofstages|Q18574623 | RoW 1: locaTION Ab : [[1a1b]] | after row 1 : date : 99 août | after row 1 : icon : [[File:Stage rest day.svg|vbght frthzt fdgtr]] | after row 1: text : rest day at [[aaa bbb ccc]] | row 4: location A : [[4a4a]]abc | row 3 : winner a : <sup>tzhgt</sup> | row 4 : winner b : kjuzhgt<br />bbjje | row 4 : icon : [[File:Mediummountainstage.svg|xcvbbgf fgtr]] | row 4 : distance : <s>141.8</s> 122<ref>test</ref> }} The first paramer is "row x" or "after row x". "after row" adds a new row after row x into the table to print e.g. a rest day. The second parameters are "location [a/b/ab]", "date", "icon", "text", "winner [a/b]" and "distance". "a" and "b" means the first and the second location or winner. "ab" could be used if start location and end location are the same. The file data for the icon looks this way: [[File:Stage rest day.svg|any text]] ]=] if get_arg(2,lf) then local WProw, WPnew_row, WPcourse, WPtext, WPdate, WPwinner, WPicon, WPdistance = 'row', 'afterrow', 'location', 'text', 'date', 'winner', 'icon', 'distance' local _, kebeginYear, key2, val local key01, kebeginYear1, kebeginYear2 local key21, key22 for num, var in pairs(lf.args) do if num > 1 and mw.ustring.find(mw.ustring.lower(var), WProw) then _, _, kebeginYear, key2, val = mw.ustring.find(var, "([^:]+)%s*:?%s*([^:]*)%s*:%s*(%C+)") _, _, key01, kebeginYear1, kebeginYear2 = mw.ustring.find(kebeginYear, "(%a+)%s*(%a+)%s*(%d+)") kebeginYear2 = tonumber(kebeginYear2) kebeginYear1 = mw.ustring.lower(key01 .. kebeginYear1) key2 = mw.ustring.lower(mw.text.trim(key2)) _, _, key21, key22 = mw.ustring.find(key2, "(%a+)%s*(%a*)") if not WPcontent[kebeginYear2] then WPcontent[kebeginYear2] = {} end if kebeginYear1 == WProw and key21 == WPcourse then WPcontent[kebeginYear2][key22] = val end if kebeginYear1 == WPnew_row and key2 == WPdate then WPcontent[kebeginYear2]['date'] = val WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or '' WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or '' end if kebeginYear1 == WPnew_row and key2 == WPtext then WPcontent[kebeginYear2]['text'] = val WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or '' WPcontent[kebeginYear2]['icon (new row)'] = WPcontent[kebeginYear2]['icon (new row)'] or '' end if kebeginYear1 == WPnew_row and key2 == WPicon then val = string.gsub(val, "|", "|border|right|20px|", 1) WPcontent[kebeginYear2]['icon (new row)'] = val WPcontent[kebeginYear2]['date'] = WPcontent[kebeginYear2]['date'] or '' WPcontent[kebeginYear2]['text'] = WPcontent[kebeginYear2]['text'] or '' end if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'a' then WPcontent[kebeginYear2]['stage winner'] = val end if kebeginYear1 == WProw and key21 == WPwinner and key22 == 'b' then WPcontent[kebeginYear2]['general winner'] = val end if kebeginYear1 == WProw and key21 == WPicon then val = string.gsub(val, "|", "|border|right|20px|", 1) WPcontent[kebeginYear2]['icon'] = val end if kebeginYear1 == WProw and key21 == WPdistance then WPcontent[kebeginYear2]['distance'] = val end end end end local countries = wikibase.getAllStatements(raceID, 'P17') local onecountry, firstcountryID if countries and #countries>1 then onecountry=false if countries[1] then firstcountryID=countries[1].mainsnak.datavalue.value.id end else onecountry=true end local rows = {} local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part' for _, v in pairs(stages) do if v.mainsnak.snaktype == 'value' then local stageID = v.mainsnak.datavalue.value.id local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal' local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value or '' local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)') if not sNumber then sNumber = '' end if not sLetter then sLetter = '' end local WDLink = WDlink_on and wdLink(stageID) or '' local sitelink = mw.wikibase.getSitelink(stageID) local timeOfRace =getTimeOfRace(stageID) or '' local sPointID = firstValue(stageID, 'P1427', 'id') local sPoint = (sPointID and getPlaceLink(sPointID, timeOfRace)) or '' local eu=false if wiki=="eu" and sPointID then sPoint, eu=check_basque_place(sPoint, sPointID) end if sPointID and not onecountry and not eu then local startcountryID=getCountryID(sPointID, timeOfRace) if startcountryID and firstcountryID ~= startcountryID then sPoint = flag(startcountryID, timeOfRace).." "..sPoint end end local dPointID = firstValue(stageID, 'P1444', 'id') local dPoint = (dPointID and getPlaceLink(dPointID, timeOfRace)) or '' eu=false if wiki=="eu" and dPointID then dPoint, eu=check_basque_place(dPoint, dPointID) end if dPointID and not onecountry and not eu then local dcountryID=getCountryID(dPointID, timeOfRace) if dcountryID and firstcountryID ~= dcountryID then dPoint = flag(dcountryID, timeOfRace).." "..dPoint end end local sDistance = getDistance(stageID, false) or '' local sElevation = getElevation(stageID) if sElevation then thereiselevation=true end local winners = { Q20882747 = '', -- Q20882747 is 'stage winner' Q20882763 = '', -- Q20882763 is 'overall leader at the end of the stage' Q20882667 = '', -- Q20882667 is 'overall winner' not supposed to be used } winner(lf,stageID, winners, timeOfRace, false, WDlink_on) -- find the type of stage local sType = typeofstagelogo(stageID) local label, section_title if sOrdinal == "0" then label, section_title = translate("func_prologue",1), "#" .. translate("func_prologue",1) else label, section_title = stageLink(sOrdinal, sNumber, sLetter) end -- if there is a Wikipedia article of that stage show it or show the section local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or ("[[" .. section_title .. "|" .. label .. "]]") local sDate = funcDate(timeOfRace, 'small') local tempoverall if winners['Q20882763']~='' then tempoverall=winners['Q20882763'] else tempoverall=winners['Q20882667'] end rows[#rows + 1] = { rank=tonumber(sNumber) or 0, sortkey=sLetter, -- Sort keys sLink=sLink, sDate=sDate, WDLink=WDLink, sPoint=sPoint, dPoint=dPoint, sType=sType, sDistance=sDistance, sElevation=sElevation, sSWin=winners['Q20882747'], sGWin=tempoverall -- Content } end end table.sort(rows, function(a, b) if a["rank"] ~= b["rank"] then return a["rank"] < b["rank"] end return a["sortkey"] < b["sortkey"] end) local Id = ((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "") tab=mw.html.create('table') :attr('cellpadding','4' ) :attr('cellspacing','0') :cssText(standardtablecss) local tRow=tab:tag('tr'):css('background-color',backgroundColor) :css('text-align','center'):css('color', 'inherit') tRow:tag('th'):css('white-space','nowrap') :wikitext(Id..translate("headoftable",1,w_race)) tRow:tag('th'):wikitext(translate("headoftable",2,w_race)) tRow:tag('th'):wikitext(translate("headoftable",3,w_race)) tRow:tag('th'):css('color',backgroundColor):wikitext("type") tRow:tag('th'):wikitext(translate("headoftable",4,w_race)) if thereiselevation then tRow:tag('th'):wikitext(translate("headoftable",7,w_race)) end tRow:tag('th'):wikitext(translate("headoftable",5,w_race)) tRow:tag('th'):wikitext(translate("headoftable",6,w_race)) local header = tostring(tRow) for num, row in pairs(rows) do local sPoint=row["sPoint"] local dPoint=row["dPoint"] local sType=row["sType"] local sDistance=row["sDistance"] local WPc = WPcontent[num] if WPc then if WPc['a'] then sPoint = WPc['a'] end if WPc['b'] then dPoint = WPc['b'] end if WPc['ab'] then sPoint, dPoint = WPc['ab'], '' end if WPc['icon'] then sType = WPc['icon'] end if WPc['distance'] then sDistance = WPc['distance'] end end local tRow = tab:tag('tr') local tCell= tRow:tag('td'):cssText('text-align:center; white-space:nowrap'):wikitext(row["sLink"]) tCell:tag('span'):css('white-space','nowrap'):wikitext("&nbsp;".. row["WDLink"]) tRow:tag('td'):css('white-space','nowrap'):cssText("text-align:right; padding-right:0px") :wikitext(row["sDate"]) tCell=tRow:tag('td'):cssText("padding-right:0px"):wikitext( sPoint) if dPoint ~= '' then tCell:wikitext(" – " .. dPoint) end tRow:tag('td'):cssText("padding-right:0px"):wikitext(sType) tRow:tag('td'):css('text-align','center'):wikitext( sDistance) if thereiselevation then tRow:tag('td'):css('text-align','center'):wikitext(row["sElevation"]) end if WPc and WPc['stage winner'] then tRow:tag('td'):css('text-align',textalign):wikitext( WPc['stage winner']) else tRow:tag('td'):wikitext(row["sSWin"]) end if WPc and WPc['general winner'] then tRow:tag('td'):css('text-align',textalign):wikitext( WPc['general winner']) else tRow:tag('td'):wikitext(row["sGWin"]) end if WPc and (WPc['date'] or WPc['text'] or WPc['icon (new row)']) then tRow = tab:tag('tr') tRow:tag('td') --empty if WPc['icon (new row)'] == '' then tRow:tag('td'):cssText('text-align:right; padding:3px 0px 10px 0px;white-space:nowrap') :wikitext(WPc['date']) tRow:tag('td'):cssText("text-align:" .. textalign .. "; padding:3px 4px 10px") :wikitext(WPc['text']) else tRow:tag('td'):cssText('text-align:right; padding-right:0px') :wikitext(WPc['date']) tRow:tag('td'):cssText("text-align:" .. textalign) :wikitext(WPc['text']) end tRow:tag('td'):css('padding-top','10px'):wikitext(WPc['icon (new row)']) tRow:tag('td'):attr('colspan','3') end end if arwiki_totemplate then tab = artemp_module.change_listofstages(tab, raceID, header, Id) end return tab end function p.stagetitle(frame) local stageID = get_and_checkID(frame) -- from to local sPointID = firstValue(stageID, 'P1427', 'id') local sPoint = sPointID and getPlaceLink(sPointID) or '' local dPointID = firstValue(stageID, 'P1444', 'id') local dPoint = (dPointID and getPlaceLink(dPointID)) or '' local sDistance = getDistance(stageID, true) or '' local sType = typeofstagelogo(stageID) -- find the type of stage tab=mw.html.create('table') tab:tag('th'):wikitext(sPoint.." - "..dPoint) tab:tag('td'):wikitext(sType) tab:tag('td'):css('font-weight','bold'):wikitext("("..sDistance..")") return tab end local function champtitle(h) --!h is h.jersey local road, ITT, result local hcountry, hnotcountry = {},{} local w_race=nil --to be defined if needed --the jersey for a stage race and the jersey from national championship should be differentiated --to avoid to look every time, below is a list of all national championships if type(h) == 'table' and h[1] then for _, v in ipairs(h) do roadtemp=false ITTtemp=false if data.womenNcRoadtable[v] or data.menNcRoadtable[v] then road = true roadtemp=true elseif data.womenNcITTtable[v] or data.menNcITTtable[v] then ITT = true ITTtemp=true else local raceLabel = mw.wikibase.getLabelByLang(v,"fr") if raceLabel then local testMenRoadrace, testMenITT, testWomenRoadrace, testWomenITT local raceLabelmod = string.gsub(raceLabel, '-', 'x') testMenRoadrace = string.find( raceLabel, 'Course en ligne masculine aux' ) testMenITT = string.find( raceLabelmod, 'Contrexlaxmontre masculin aux' ) testWomenRoadrace = string.find( raceLabel, 'Course en ligne féminine aux' ) testWomenITT = string.find( raceLabelmod, 'Contrexlaxmontre féminin aux' ) if testWomenRoadrace or testMenRoadrace then road = true roadtemp=true end if testWomenITT or testMenITT then ITT = true ITTtemp=true end end end if roadtemp or ITTtemp then table.insert(hcountry,v) else table.insert(hnotcountry,v) end end end if road and ITT then local image = {} for ii, v in ipairs(hcountry) do local p18 = mw.wikibase.getBestStatements(v, 'P18') if p18[1] and p18[1].mainsnak.snaktype == 'value' then local temp = p18[1].mainsnak.datavalue.value local alreadythere = 0 for _, vv in ipairs(image) do if vv==temp then alreadythere = 1 end end if alreadythere==0 then table.insert(image,temp) else hcountry[ii] = nil end end end --avoid double display of jersey result = "<small>("..translate("startlist",10,w_race).." "..translate("startlist",12,w_race).." "..translate("startlist",11,w_race)..")</small>" elseif road then result = "<small>("..translate("startlist",10,w_race)..")</small>" elseif ITT then result = "<small>("..translate("startlist",11,w_race)..")</small>" else result = "" end return jersey(hcountry)..result..jersey(hnotcountry) end -- L) List of stages classification local function winnerjersey(raceID, winners) local jerseytable, bgcolortable={}, {} local p1346 = wikibase.getAllStatements(raceID, 'P1346') -- P1346 is 'winner' for _, winner in pairs(p1346) do local wOf, thisjersey, bg_color local q = winner.qualifiers if q then if q.P2501 and q.P2501[1].snaktype == 'value' then wOf = q.P2501[1].datavalue.value.id -- P642 is 'of' elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback wOf = q.P642[1].datavalue.value.id -- P642 is 'of' end if q.P2912 and q.P2912[1].snaktype == 'value' then thisjersey=q.P2912[1].datavalue.value.id if data.bg_color_table[thisjersey] then bg_color = data.bg_color_table[thisjersey] end end end if winners[wOf] and thisjersey then jerseytable={} table.insert(jerseytable,thisjersey) winners[wOf] = jersey(jerseytable) bgcolortable[wOf] = bg_color end end return winners, bgcolortable end function p.listofstagesclassification(frame) -- WDlink_on is used to decide if a Wikidata logo will be shown local WDlink_on = wiki == "mk" or wiki == "ja" local displaytypeofstage = true local stageinfotable = {} local raceID, lf = get_and_checkID(frame) local w_race=isWomenrace(raceID) local sType --link for Grand Tour local GTid={['Q33881']=true,['Q33861']=true,['Q33937']=true,['Q1526999']=true} local thisGT for _, p31 in statements(raceID, 'P31') do if GTid[p31.mainsnak.datavalue.value.id]==true then thisGT=p31.mainsnak.datavalue.value.id break end end local Sitelink,overallname, pointsname, mountainname, youngname, teamname, combativityname, supercombativityname, combinedname if thisGT then if thisGT=='Q33881' then -- Tour de France Sitelink = wikibase.getSitelink('Q2267539') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q175399') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q927157') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2254180') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1436680') -- Team by time if Sitelink then teamname="[["..Sitelink .."|"..translate("infobox",28,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2094179') -- Combativity award if Sitelink then combativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2094179') -- Combativity award if Sitelink then supercombativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1835362') -- Combination if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,w_race).."]]" end elseif thisGT=='Q33861' then -- Giro d'Italia Sitelink = wikibase.getSitelink('Q1164275') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641083') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641060') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q641662') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end elseif thisGT=='Q33937' then -- Vuelta a España Sitelink = wikibase.getSitelink('Q2532554') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2241695') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q1118296') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q60233927') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2141595') -- Team by time if Sitelink then teamname="[["..Sitelink .."|"..translate("infobox",28,w_race).."]]" end Sitelink = wikibase.getSitelink('Q20882672') -- Combativity award if Sitelink then combativityname="[["..Sitelink .."|"..translate("infobox",26,w_race).."]]" end Sitelink = wikibase.getSitelink('Q2330008') -- Combination if Sitelink then combinedname="[["..Sitelink .."|"..translate("infobox",27,w_race).."]]" end else -- Giro d'Italia Women Sitelink = wikibase.getSitelink('Q3679692') -- General if Sitelink then overallname="[["..Sitelink .."|"..translate("headoftableII",9,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679673') -- Point if Sitelink then pointsname="[["..Sitelink .."|"..translate("infobox",22,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679712') -- Mountains if Sitelink then mountainname="[["..Sitelink .."|"..translate("infobox",23,w_race).."]]" end Sitelink = wikibase.getSitelink('Q3679695') -- Young if Sitelink then youngname="[["..Sitelink .."|"..translate("infobox",25,w_race).."]]" end end end local winners = { { name = translate("infobox",19,w_race), QID = 'Q20882747'}, -- stage { name = overallname or translate("headoftableII",9,w_race), QID = 'Q20882763' }, -- overall { name = pointsname or translate("infobox",22,w_race), QID = 'Q20883008' }, -- points { name = mountainname or translate("infobox",23,w_race), QID = 'Q20883213' }, -- mountains { name = translate("infobox",24,w_race), QID= 'Q20883329' }, -- sprints { name = youngname or translate("infobox",25,w_race), QID='Q20883140' }, -- youth { name = combativityname or translate("infobox",26,w_race), QID= 'Q21686770' }, -- combativity { name = supercombativityname or translate("infobox",26,w_race), QID= 'Q20893984' }, -- combativity { name = translate("infobox",35,w_race), QID= 'Q27104688' }, -- volantes { name = translate("infobox",36,w_race), QID= 'Q27104684' }, -- regularity { name = combinedname or translate("infobox",27,w_race), QID='Q20965880' }, -- combination { name = translate("infobox",38,w_race), QID='Q27907714' }, -- breakaway { name = translate("infobox",39,w_race), QID='Q27907748' }, -- azzurri { name = translate("infobox",40,w_race), QID='Q28096780'}, -- rookie { name = teamname or translate("infobox",28,w_race), QID='Q20882922' }, -- teams { name = translate("infobox",37,w_race), QID ='Q27104271' }, -- teamspoints { name = translate("infobox",41,w_race), QID ='Q61976847' },-- amateur { name = translate("infobox",42,w_race), QID ='Q61976871' } --nationality } local winnersgen = { { QID = 'Q20882667' }, -- overall { QID = 'Q20883007' }, -- points { QID = 'Q20883212' }, -- mountains { QID = 'Q20883328' }, -- sprints { QID = 'Q20883139' }, -- youth { QID = 'Q101246973' }, -- supercombativity { QID = 'Q20893983' }, -- combativity { QID = 'Q27067359' }, -- volantes { QID = 'Q27067170' }, -- regularity { QID = 'Q20893979' }, -- combination { QID = 'Q27907715' }, -- breakaway { QID = 'Q27907747' }, -- azzurri { QID = 'Q28092831' }, -- rookie { QID = 'Q20882921' }, -- teams { QID = 'Q27104269' }, -- teamspoints { QID = 'Q61976850' }, -- amateur { QID = 'Q61976872' } --nationality } local generaltoleader = { ['Q20882747']= nil, ['Q20882667']= 'Q20882763', -- overall ['Q20883007']= 'Q20883008', -- points ['Q20883212']= 'Q20883213', -- mountains ['Q20883328']= 'Q20883329', -- sprints ['Q20883139']= 'Q20883140', -- youth ['Q20893983']= 'Q20893984', -- combativity ['Q101246973']= 'Q21686770', -- supercombativity ['Q27067359']= 'Q27104688', -- volantes ['Q27067170']= 'Q27104684', -- regularity ['Q20893979']= 'Q20965880', -- combination ['Q27907715']= 'Q27907714', -- breakaway ['Q27907747']= 'Q27907748', -- azzurri ['Q28092831']= 'Q28096780', -- rookie ['Q20882921']= 'Q20882922', -- teams ['Q27104269']= 'Q27104271', -- teamspoints ['Q61976850']= 'Q61976847', -- amateur ['Q61976872']= 'Q61976871' --nationality } --read stages local stages = mw.wikibase.getBestStatements(raceID, 'P527') -- P527 is 'has part' local columntable, jerseytable, bgcolortable={}, {}, {} for ii, v in ipairs(winners) do if v.QID then local t = {key=ii, name=v.name, jersey='', bg_color='', used=false} for jj = 1, #stages+1 do t[jj] = { {}, {}, {} } -- leader, first stage, number of stages consecutive (for rowspan) end columntable[v.QID] = t end end --to have the columns in the same order as defined, otherwise they would be sorted according to the order in wikidata --make "Q123", "Q456" --> 1, 2 local function itercolumns(columntable) local keys = {} for k, v in pairs(columntable) do keys[v.key] = k --v.key is just the order of the columns end local upto = 1 return function () while keys[upto] do upto = upto + 1 return columntable[keys[upto-1]] end end end local timeOfRace for ii, v in pairs(stages) do if v.mainsnak.snaktype == 'value' then local somewinner = false --show the stage local stageID = v.mainsnak.datavalue.value.id local sitelink = mw.wikibase.getSitelink(stageID) if displaytypeofstage==true then sType = typeofstagelogo(stageID) end local p = mw.wikibase.getBestStatements(stageID, 'P1545') -- P1545 is 'series ordinal' local sOrdinal = p[1] and p[1].mainsnak.snaktype == 'value' and p[1].mainsnak.datavalue.value or '' local _, _, sNumber, sLetter = string.find(sOrdinal, '(%d+)(.*)') sNumber=sNumber or '' sLetter=sLetter or '' local label, section_title if sOrdinal == "0" then label, section_title = translate("func_prologue",1), "#" .. translate("func_prologue",1) else label, section_title = stageLink(sOrdinal, sNumber, sLetter) end -- If there is a Wikipedia article of that stage show it or show the section. local sLink = sitelink and ("[[" .. sitelink .. "|" .. label .. "]]") or ("[[" .. section_title .. "|" .. label .. "]]") timeOfRace =getTimeOfRace(stageID) local win= {} for _, v in pairs(winners) do win[v.QID] = '' if ii==1 then jerseytable[v.QID]='' end end winner(lf,stageID, win, timeOfRace, false, WDlink_on, false, false) --fill win table if ii<=2 then --only two first stages jerseytable, bgcolortable=winnerjersey(stageID, jerseytable) end for _, v in pairs(winners) do if v.QID and win[v.QID] ~= '' then --column info somewinner=true columntable[v.QID][ii]["leader"]=win[v.QID] if ii==1 then --first stage columntable[v.QID][ii]["start"]=1 --start at row 1 columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage elseif columntable[v.QID][ii-1]["leader"]==win[v.QID] then --same winner as past stage ,make previous longer and delete this one local initialstage=columntable[v.QID][ii-1]["start"] columntable[v.QID][ii]["start"]=initialstage --need because of the row above columntable[v.QID][initialstage]["rowspan"]=columntable[v.QID][initialstage]["rowspan"]+1 --one more consecutive stage columntable[v.QID][ii]["rowspan"]=0 else --new winner columntable[v.QID][ii]["start"]=ii --start at this row/stage columntable[v.QID][ii]["rowspan"]=1 --1 consecutive stage end columntable[v.QID].used=true if ii<=2 then --read the jersey in the two first stages of a race if columntable[v.QID].jersey == '' or columntable[v.QID].jersey==nil then columntable[v.QID].jersey=jerseytable[v.QID] columntable[v.QID].bg_color=bgcolortable[v.QID] end end end end table.insert(stageinfotable,{sLink=sLink, sType=sType, somewinner=somewinner}) end end --read parent local win= {} for _, v in pairs(winnersgen) do if v.QID then win[v.QID] = '' jerseytable[v.QID]='' end end local thiskey somewinner = false jerseytable, bgcolortable=winnerjersey(raceID, jerseytable) winner(lf,raceID, win, timeOfRace, false, WDlink_on, false, false) for _, v in pairs(winnersgen) do if win[v.QID] and win[v.QID] ~= '' then somewinner=true thiskey=generaltoleader[v.QID] --fill the final classification columntable[thiskey][#stages+1]["leader"]=win[v.QID] columntable[thiskey][#stages+1]["start"]=#stages+1 columntable[thiskey][#stages+1]["rowspan"]=1 --#stages is the last stage if (type(columntable[thiskey][#stages]["leader"])~="string" --combativity is not extrapolated and thiskey~='Q20893984') then --check nil actually, but it is a table.. columntable[thiskey][#stages]["leader"]= win[v.QID] --extrapolate the winner if (type(columntable[thiskey][#stages-1]["leader"])=="string" and win[v.QID]==columntable[thiskey][#stages-1]["leader"]) then --if there is a leader at forelast stage local initialstage=columntable[thiskey][#stages-1]["start"] columntable[thiskey][#stages]["start"]=initialstage --needed because of row above columntable[thiskey][initialstage]["rowspan"]=columntable[thiskey][initialstage]["rowspan"]+1 columntable[thiskey][#stages]["rowspan"]=0 else columntable[thiskey][#stages]["start"]=#stages columntable[thiskey][#stages]["rowspan"]=1 end end if jerseytable[v.QID] and jerseytable[v.QID]~='' then columntable[thiskey].jersey=jerseytable[v.QID] columntable[thiskey].bg_color=bgcolortable[v.QID] end end end table.insert(stageinfotable,{sLink=translate("listofstagesclassification",2,w_race), sType=nil, somewinner=somewinner}) --build the table local tab=mw.html.create('table') :attr('cellpadding','4' ) :attr('cellspacing','0') :cssText(standardtablecss) local tRow=tab:tag('tr'):css('background-color',backgroundColor) :css('text-align','center'):css('color', 'inherit') tRow:tag('th'):css('white-space','nowrap') :wikitext(((not WDlink_on and wdLink(string.gsub(raceID, '%s', '') .. "#P527")) or "").. translate("headoftable",1,w_race)) if displaytypeofstage==true then tRow:tag('th') end for v in itercolumns(columntable) do if v.used == true then if v.jersey == '' then v.jersey = "_" end tRow:tag('th'):wikitext(v.name.."<br />"..v.jersey) end end local style --then fill the table for ii, v in pairs(stageinfotable) do --one stage=one row --stages link tRow=tab:tag('tr') local tCell=tRow:tag('td') if ii==#stageinfotable then tCell:attr('colspan','2'):cssText('font-weight:bold; border-top: 2px black solid;') end tCell:wikitext(v.sLink) if displaytypeofstage == true then tCell=tRow:tag('td') if ii==#stageinfotable then --general row tCell:cssText('font-weight:bold; border-top: 2px black solid;') end if v.sType then tCell:wikitext(v.sType) --picture type of stage end end --add winners for y in itercolumns(columntable) do if y.used==true and not (ii==#stageinfotable and columntable['Q20882747']==y) then --only display used QID if type(y[ii]["leader"])=="string" and type(y[ii]["rowspan"])=="number" then --actually check nil but it is a table style="" if y[ii]["rowspan"]~=0 and (columntable['Q20882747']==y)==false then if ii~=1 and ii~=#stageinfotable then style=style.." border-top:1px gray solid;" end if y.bg_color then style=style.." background-color:"..y.bg_color..";" end if ii==#stageinfotable then style=style.."font-weight:bold; border-top: 2px black solid;" end tRow:tag('td'):attr('rowspan',tostring(y[ii]["rowspan"])):cssText(style):wikitext(y[ii]["leader"]) elseif (columntable['Q20882747']==y) then --no rowspan for stages tRow:tag('td'):wikitext(y[ii]["leader"]) end else tCell=tRow:tag('td') if ii~=#stageinfotable and v.somewinner==true then tCell:wikitext(translate("listofstagesclassification",1,w_race)) --not attributed elseif ii~=#stageinfotable then --empty elseif v.somewinner==true then --general row tCell:cssText('border-top: 2px black solid') :wikitext(translate("listofstagesclassification",1,w_race)) --not attributed else tCell:cssText('border-top: 2px black solid') --empty end end end end end return tab end --M) Start list function p.startlist(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "startlist", header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {2, 3,4,5}, item=tempID, title="Start list", data_sort_type={'unsortable', 'unsortable', 'unsortable'}, property ='P710', no_roll_startlist=no_roll_startlist, w_race=w_race, lf=lf } local resultTable, tag = tableB(s) return startlist_main(s, resultTable, tag) end function p.startlisttable(frame) local tempID, lf=get_and_checkID(frame) local w_race=isWomenrace(tempID) local s = { header_function = "startlisttable", header_1 = 1, -- translation 1 in function victories is printed in the upper part of the table header header_2 = {2, 3,4,5},-- translations 2, 3, 4, 5, 6 in function victories are printed in this order item=tempID, title="Start list", -- in the lower part of the table header. The second value 3 in {4, 3} tells where the icon will go. no_country ={'fr'}, data_sort_type={'', '', ''}, property ='P710', no_roll_startlist=no_roll_startlist, w_race=w_race, lf=lf } return startlisttable_main(s, tableA(s)) end local function startlist_sub(p710, timeOfRace, WDlink_on, istable,w_race) --Return a table containing a row for the selected rider and their associated team, link, etc local h = {} local tBody = '' --row in our case local riderID, riderTeamLink, riderTeamID, riderDossard, riderLink, riderRank local q, gender, riderTeamCode, riderDNF, DSQ, catID, countryID, national_team_boolean riderID = p710.mainsnak.datavalue.value.id q= p710.qualifiers riderLink= getRiderLink(riderID, timeOfRace) if WDlink_on then riderLink=riderLink..wdLink(riderID) end if q and q.P1618 and q.P1618[1].snaktype == 'value' then riderDossard = q.P1618[1].datavalue.value or '' else riderDossard = '' end riderDNF='' riderRank = '' DSQ='' if q and q.P1352 and q.P1352[1].snaktype == 'value' then -- P1352 is ranking riderRank = tonumber(q.P1352[1].datavalue.value.amount) --look for DSQ-- DSQ=isdisqualified(p710, q) else --look for DNF... if q and q.P1534 and q.P1534[1].snaktype == 'value' then local dnf=q.P1534[1].datavalue.value.id if dnf=='Q1210380' then riderDNF =translate("startlist",6,w_race)--"HD","NP","DQ" elseif dnf=='Q54881674' or dnf=='Q7113430' then riderDNF =translate("startlist",7,w_race) elseif dnf=='Q1210382' then riderDNF =translate("startlist",8,w_race) elseif dnf=='Q1229261' then riderDNF =translate("startlist",9,w_race) else riderDNF='' end if q.P1545 and q.P1545[1].snaktype == 'value' then local stageofdnf=q.P1545[1].datavalue.value if stageofdnf and string.len(stageofdnf)>1 then riderDNF='<small>'..riderDNF.."-"..stageofdnf..'</small>' else riderDNF=riderDNF.."-"..stageofdnf end end end end h = { jersey = {}, -- lots of jerseyID value = {'', '', '', ''} -- points, time, time_gap, speed } if q and q.P2912 then -- P2912 is distinctive jersey for _, v in pairs(q.P2912) do if v.snaktype == 'value' then table.insert(h.jersey, v.datavalue.value.id) end end end if wiki == 'es' or wiki == 'fr' or wiki == 'ast' then --[[ These wikis need the gender to display the rank correct. Other wikis can skip this. ]] gender = getGenderCode(riderID, 'n') end local countryID = getNationality(riderID, timeOfRace,q) local uciCode='' local jerseytemp='' if countryID then if wiki ~= "ar" then uciCode=uciCodeCountry(countryID) end riderLink = flag(countryID, timeOfRace) ..' '.. riderLink end if h.jersey[1] then jerseytemp=champtitle(h.jersey) -- champtitle manages also the jersey end riderTeamLink, riderTeamID, catID, countryID = getTeam(riderID, timeOfRace, q) riderTeamID=seasonToTeamID(riderTeamID) riderTeamCode= getTeamCode(riderID, timeOfRace, q) --Custom display for national selection if data.natTeamCats[catID] and countryID then if riderTeamCode and wikibase.getSitelink(countryID) then --for the refugee case riderTeamCode='[['..wikibase.getSitelink(countryID)..'|'..riderTeamCode..']]' end riderTeamLink=flag(countryID, timeOfRace)..' '..riderTeamLink else --for non national selection display "ridername (FRA)"" riderLink =riderLink..uciCode end riderLink =riderLink..jerseytemp local sortkey = riderDossard == "" and 0 or tonumber(riderDossard) tBody = mw.html.create('tr'):cssText("line-height: 1.8em; padding: 5px;") tBody:tag('td'):cssText("text-align:right;padding:0 0.5em"):wikitext(riderDossard) tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(riderLink) local td_css = "text-align:left;padding:0 0.5em" if wiki == "ar" then td_css = "text-align:right;padding:0 0.5em" end if istable then tBody:tag('td'):cssText(td_css):wikitext(riderTeamLink or "") end tBody:tag('td'):cssText('text-align:'..textalign.. ';padding:0 0.5em;'..DSQ):wikitext(number(gender,riderRank,wiki)..riderDNF) --table.insert(resultTable, ) return {sortkey=sortkey, riderTeamLink=riderTeamLink,riderTeamID=riderTeamID,riderTeamCode=riderTeamCode, body=tBody} end function startlist_main(s, resultTable, tag) local ridertable, DStable, subtable = {}, {}, {} local DSID, DSLink, DSteamID, DSteam local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru") local timeOfRace=getTimeOfRace(s.item) local w_race=isWomenrace(s.item) for _,p286 in statements(s.item, 'P286') do--look for DS DSID = p286.mainsnak.datavalue.value.id DSLink= getRiderLink(DSID, timeOfRace) DSteamID=nil q= p286.qualifiers if q.P6087 and q.P6087[1].snaktype == 'value' then --coach of sports team DSteamID=q.P6087[1].datavalue.value.id elseif q.P642 and q.P642[1].snaktype == 'value' then --fallback DSteamID=q.P642[1].datavalue.value.id end if DSteamID then DSteamID=seasonToTeamID(DSteamID) end table.insert(DStable, {DSLink=DSLink, DSteamID=DSteamID}) end for _, p710 in statements(s.item, 'P710') do -- P710 is participants table.insert(ridertable, startlist_sub(p710, timeOfRace, WDlink_on, false,w_race)) end table.sort(ridertable, function(a, b) --sort by team and then by bib and then by team if a['sortkey'] ~= b['sortkey'] then --sort by bib return a['sortkey'] < b['sortkey'] else return (a['riderTeamCode'] or 'a') < (b['riderTeamCode'] or 'a') --order does not matter for nil end end) local thisTableRow, thisTeamTable, thisDS, insideTable, test local tSubtitle, tTitle if wiki == "ar" then tSubtitle=mw.html.create('tr') tSubtitle:tag('td'):attr('width','30px') :css("align:right;text-align:right") :wikitext(translate("startlist",2,w_race)) tSubtitle:tag('td'):attr('width','200px') :css("align:right;text-align:right") :wikitext(translate("startlist",3,w_race)) tSubtitle:tag('td'):attr('width','85px') :css("align:right;text-align:right") :wikitext(translate("startlist",4,w_race)) else tSubtitle=mw.html.create('tr') tSubtitle:tag('td'):attr('width','30px'):wikitext(translate("startlist",2,w_race)) tSubtitle:tag('td'):attr('width','250px'):wikitext(translate("startlist",3,w_race)) tSubtitle:tag('td'):attr('width','35px'):wikitext(translate("startlist",4,w_race)) end --look for transition between teams local numberofteam=0 local tDS if #ridertable==0 then--empty table return nil else for ii=1,#ridertable do --new team if not (ii~=1 and ridertable[ii].riderTeamID==ridertable[ii-1].riderTeamID) or ii==1 then --ridertable[ii].riderTeamID and if thisDS and ii~=1 then tDS=insideTable:tag('tr') tDS:tag('td'):attr('colspan','3'):attr('align','center') :wikitext(translate("startlist",5,w_race).." "..thisDS) thisDS=nil end numberofteam=numberofteam+1 if math.fmod(numberofteam, 3 )==1 then if ii~=1 then tag:node(thisTableRow) --a row with 3 tables inside, save and re-init end thisTableRow=mw.html.create('tr') end thisTeamTable= thisTableRow:tag('td'):cssText("width:33%;"):attr('valign','top') insideTable=thisTeamTable:tag('table') --reinit :attr('cellpadding','4') --solid var(--border-color-subtle, #c8ccd1) :attr('background-color','var(--background-color-base, #fff)') :attr('color', 'inherit') :attr('margin', '0 0 0.5em 0') :attr('padding','5px') :attr('float','left') :attr('text-align',textalign) :attr('line-height','1.8em') :attr('clear',floattable) tTitle = mw.html.create('tr') :css("background-color",backgroundColor) :css('color', 'inherit') :attr('align','center') local tCell=tTitle:tag('th'):attr('colspan','3') tCell:tag('big'):wikitext((ridertable[ii].riderTeamLink or translate("startlist",13,w_race)).."<br/>"..(ridertable[ii].riderTeamCode or "___")) insideTable:node(tTitle) insideTable:node(tSubtitle) tDS=nil --look for the DS of this team for _,v in pairs(DStable) do if v.DSteamID==ridertable[ii].riderTeamID then if not thisDS then thisDS=v.DSLink else thisDS=thisDS..", "..v.DSLink end end end end --add the rider, also for old team insideTable:node(ridertable[ii].body) end --last DS if thisDS then tDS=insideTable:tag('tr') tDS:tag('td'):attr('colspan','3'):attr('align','center') :wikitext(translate("startlist",5,w_race).." "..thisDS) end tag:node(thisTableRow) return resultTable end end local KeytoRiderRankingCode={ ["women"]= 2, ['WWT']= 3, ['WWC']= 4, ["UWT"]= 5, ["europe"]= 6, ["asia"]= 7, ["oceania"]=8, ["america"]=9, ["africa"]= 10, ["WR"]= 11, ["WC"]= 12, ["UPT"]= 13, --WC is world calendar here ["UCImen"]= 14, ["WCmen"]= 15, --UCImen = UCI ranking 1984-2004, WC= World cup men ["Pernod"]= 16, ["Desgrange"]=17, } function startlisttable_main(s, resultTable) local t_Body = {} local WDlink_on = (wiki == "mk" or wiki == "ja" or wiki == "ru") local timeOfRace=getTimeOfRace(s.item) for _, p710 in statements(s.item, 'P710') do -- P710 is participants table.insert(t_Body, startlist_sub(p710, timeOfRace, WDlink_on, true)) end return sortAndConcat(t_Body, resultTable) end -- N) Rider ranking local function checkminmaxyear(minmaxyear,thisyear) if minmaxyear.minimum ==0 or thisyear<minmaxyear.minimum then minmaxyear.minimum=thisyear end if minmaxyear.maximum==0 or thisyear>minmaxyear.maximum then minmaxyear.maximum=thisyear end return minmaxyear end function p.riderranking(frame) local tempID, lf=get_and_checkID(frame) local s = { item = tempID, lf=lf } return riderranking_main(s) end local function checkWorldTourTeam(itemID,year) local thisdate='+'..tostring(year).."-07-01T00:00:00Z" local catID for _, s in statements(itemID, 'P54') do p54 =checktime(s, s.qualifiers, thisdate) --present Team if p54 then teamId= p54.mainsnak.datavalue.value.id _, catID=getTeamLinkCat(teamId, thisdate) if catID=="Q6154783" or catID=="Q20638319" then return true end end end return false end local function ranking_legend() local UCIlink, legend if wiki=="fr" then UCIlink="https://www.uci.org/fr/route/classements" --see also https://dataride.uci.org/iframe/Rankings/10/ legend= " Légende : nc = non classé" else UCIlink="https://www.uci.org/road/rankings" legend="" end return UCIlink, legend end local function riderranking_sub(w_race) local listofcalendar=data.listofmencalendar if w_race then listofcalendar=data.listofwomencalendar end local UCIQtoYear={} for k,v in pairs(data.UCIYearToQ) do UCIQtoYear[k]={} for kk, vv in pairs(v) do UCIQtoYear[k][vv]=kk --calendar/Q = year end end return listofcalendar, UCIQtoYear end function riderranking_main(s) local lf=s.lf local thisCompetition, rank, thisyear, sitelink, q, gender, DSQ local calendarlistpresent={} local gender=getGenderCode(s.item, 'm') local w_race=false if gender=="f" then w_race=true end local minmaxyear= { minimum = 0, maximum = 0 } local listofcalendar, UCIQtoYear=riderranking_sub(w_race) local resultTable={} for ii=1900,2100,1 do resultTable[tostring(ii)]={} for _, calendar in pairs(listofcalendar) do resultTable[tostring(ii)][calendar]={} end end --build the table for _, p1344 in statements(s.item, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id for _, calendar in pairs(listofcalendar) do if UCIQtoYear[calendar][thisCompetition] then thisyear=UCIQtoYear[calendar][thisCompetition] minmaxyear=checkminmaxyear(minmaxyear,thisyear) q = p1344.qualifiers if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank resultTable[thisyear][calendar]["rank"] = tostring(tonumber(q.P1352[1].datavalue.value.amount)) --without the tonumber, there can be +1 instead of 1 resultTable[thisyear][calendar]["DSQ"] = isdisqualified(p1344, q) or "" calendarlistpresent[calendar]=true sitelink=mw.wikibase.getSitelink(thisCompetition) resultTable[thisyear][calendar]["sitelink"]=sitelink end end end end --display result if minmaxyear.minimum~=0 then local finalTable =mw.html.create('table'):attr('cellspacing','0') :attr("align","center"):cssText("text-align:center; border: 1px solid #999; line-height: 1.8em;") local wdLin = wdLink(string.gsub(s.item, '%s', '') .. "#P1344") local tRow= finalTable:tag('tr'):tag('th') :css("background-color",backgroundColor) :css('color', 'inherit') :wikitext(wdLin..' '..translate("riderranking",1,w_race)) --year for ii=minmaxyear.minimum,minmaxyear.maximum,1 do tRow:tag('th'):attr("width","50px") :css('background-color',backgroundColor) :css('color', 'inherit') :css("text-align","center") :css("padding","1px 1px") :wikitext(tostring(ii)) end for _, calendar in pairs(listofcalendar) do if calendarlistpresent[calendar] then sitelink=mw.wikibase.getSitelink(data.UCImaster[calendar]) local tRow=finalTable:tag('tr') local tCell = tRow:tag('th'):cssText("text-align:" .. textalign .. ";") -- left local calendar_name=translate("riderranking",data.KeytoRiderRankingCode[calendar],w_race) if sitelink then tCell:wikitext('[['..sitelink..'|'..calendar_name..']]') else tCell:wikitext(calendar_name) end for yy=minmaxyear.minimum,minmaxyear.maximum,1 do thisyear=tostring(yy) color="white" local impossible=false --we need to check the impossibility here, as it is impossible even if nothing is in P1344 if data.continental_calendar[calendar] then --between 2005 and 2015 WorldTour team member cannot score by continental calendars. if tonumber(thisyear)>=2005 and tonumber(thisyear)<=2015 then if checkWorldTourTeam(s.item,thisyear) then impossible=true end --between 2016 and 2018 no contradiction --after 2019, it depends on the nationality elseif tonumber(thisyear)>=2019 then local countryID=getNationality(s.item,'+'..tostring(year).."-07-01T00:00:00Z") if data.continental_calendar[calendar] and not data.continental_calendar[calendar][countryID] then impossible=true end end elseif calendar=="UWT" then --non member of World Tour team cannot point in the WT if tonumber(thisyear)>=2005 and tonumber(thisyear)<=2015 then if not checkWorldTourTeam(s.item,thisyear) then impossible=true end end end if resultTable[ thisyear][calendar]["rank"] or impossible then if impossible then tRow:tag('td'):css('background-color',backgroundColorLight):css('color', 'inherit') else if resultTable[thisyear][calendar]["rank"]=="1" then color="gold" elseif (2<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=3) then color="YellowGreen" elseif (4<=tonumber(resultTable[thisyear][calendar]["rank"])) and (tonumber(resultTable[thisyear][calendar]["rank"])<=10) then color="silver" end tCell=tRow:tag('td'):attr("bgcolor",color):cssText(resultTable[thisyear][calendar]["DSQ"]) local rank=tonumber(resultTable[thisyear][calendar]["rank"]) rank=number(gender,rank,wiki) if resultTable[thisyear][calendar]["sitelink"] then tCell:wikitext('[['..resultTable[thisyear][calendar]["sitelink"]..'|'..rank..']]') else tCell:wikitext(rank) end end --this ranking exist for this year, but the rider is not ranked elseif yy>=data.UCIcalendarstartend[calendar].b and (data.UCIcalendarstartend[calendar].e==0 or yy<=data.UCIcalendarstartend[calendar].e) then if wiki=="fr" then tRow:tag('td'):wikitext(' nc ') else tRow:tag('td'):wikitext(' - ') end --this ranking does not exist for this year else tRow:tag('td'):css('background-color',backgroundColorLight):css('color', 'inherit') end end end end local tableyearsize=minmaxyear.maximum-minmaxyear.minimum+2 local UCIlink, legend=ranking_legend() finalTable:tag('tr'):tag('td'):addClass("navigation-only") :attr('colspan',tostring(tableyearsize)) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") tCell=finalTable:tag('tr'):tag('td'):attr('colspan',tostring(tableyearsize)) :tag('small') tCell:tag('span'):css("float","left") :wikitext(legend) tCell:tag('span'):css("float","right") :wikitext(translate("race_reference", 1,w_race).."["..UCIlink..' UCI]') return finalTable end end function p.teamranking(frame) local tempID, lf=get_and_checkID(frame) local calendar_key=get_arg(2,frame) if not calendar_key or calendar_key == "" then return "" end local w_race=false if calendar_key=="women" or calendar_key=="WWT" or calendar_key=="WWC" then w_race=true end local s = { header_function = "riderranking", header_1 = data.KeytoRiderRankingCode[calendar_key] or 1, header_2 = {1, 18, 19}, property="P527", data_sort_type = {'unsortable', 'unsortable', 'unsortable'}, item = tempID, calendar_key=calendar_key, lf=lf, w_race=w_race } return teamranking_main(s,tableA(s)) end local function get_teamranking(seasonID, w_race, UCIQtoYear,listofcalendar, tTable,gender) --fill resultTable local done, thisyear, q, done, rider, riderLink, countryID, rank, thisdate, teamrank for _, p1344 in statements(seasonID, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id for _, calendar in pairs(listofcalendar) do if UCIQtoYear[calendar][thisCompetition] then thisyear=UCIQtoYear[calendar][thisCompetition] thisdate='+'..tostring(thisyear).."-07-01T00:00:00Z" rank=nil if tTable[calendar] then tTable[calendar][thisyear]={} else error("tTable badly initialized") end q = p1344.qualifiers done=false --get team rank local suffix="" if calendar== "UCImen" then --case of GSI (Q20653563), GSII (Q20653564) and GSIII (Q20653566) propertyOf_id=nil if q and q.P279 and q.P279[1].snaktype == 'value' then propertyOf_id=q.P279[1].datavalue.value.id elseif q and q.P642 and q.P642[1].snaktype == 'value' then propertyOf_id=q.P642[1].datavalue.value.id end if propertyOf_id=="Q20653564" then suffix=" (GSII)" elseif propertyOf_id=="Q20653566" then suffix=" (GSIII)" end end if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank teamrank= tonumber(q.P1352[1].datavalue.value.amount) tTable[calendar][thisyear]["teamrank"]=number(gender,teamrank,wiki)..suffix done=true end --get best rider rank if q and q.P1545 and q.P1545[1].snaktype == 'value' then --participant rank = tostring(tonumber(q.P1545[1].datavalue.value)) done=true end --get best rider if q and q.P710 and q.P710[1].snaktype == 'value' then --participant rider = q.P710[1].datavalue.value.id riderLink = getRiderLink(rider, thisdate) countryID = getNationality(rider, thisdate) if countryID then riderLink = flag(countryID, thisdate) .. ' ' .. riderLink end if rank then rank=number(gender,tonumber(rank),wiki) riderLink=riderLink.." ("..rank..")" end tTable[calendar][thisyear]["rider"]=riderLink done=true end sitelink=mw.wikibase.getSitelink(thisCompetition) tTable[calendar][thisyear]["sitelink"]=sitelink end end end return tTable end function teamranking_main(s, resultTable) local lf=s.lf local t_Body = {} local gender="m" if s.w_race then gender="f" end --init, reverse UCIQtoYear local UCIQtoYear={} UCIQtoYear[s.calendar_key]={} if data.UCIYearToQ[s.calendar_key] then local v=data.UCIYearToQ[s.calendar_key] for kk, vv in pairs(v) do UCIQtoYear[s.calendar_key][vv]=kk end end local tTable={} tTable[s.calendar_key]={} for ii, p527 in statements(s.item, "P527") do tTable=get_teamranking(p527.mainsnak.datavalue.value.id, w_race, UCIQtoYear,{s.calendar_key}, tTable,gender) end local t=tTable[s.calendar_key] if t then for thisyear, v in pairs(t) do local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 0.5em;") local tCell=tRow:tag('td'):css("text-align",textalign) if v["sitelink"] then tCell:wikitext('[['..v["sitelink"]..'|'..thisyear..']]') else tCell:wikitext(thisyear) end if v["teamrank"] then tRow:tag('td'):wikitext(v["teamrank"]):css("text-align","center") else tRow:tag('td'):wikitext(" - "):css("text-align","center") end if v["rider"] then tRow:tag('td'):wikitext(v["rider"]) else tRow:tag('td'):wikitext(" - ") end table.insert(t_Body, {sortkey=thisyear, body=tRow}) end end resultTable=sortAndConcat(t_Body, resultTable) local UCIlink, _=ranking_legend() local tRow=resultTable:tag('tr') tRow:tag('td'):addClass("navigation-only") :attr('colspan',tostring(3)) :cssText("border-top: 2px "..backgroundColor.." solid; font-size: 80%;") tRow=resultTable:tag('tr') local tCell=tRow:tag('td'):attr('colspan',tostring(3)):tag('small') tCell:tag('span'):css("float","right") :wikitext(translate("race_reference", 1,w_race).."["..UCIlink..' UCI]') return resultTable end local function toboolean(str) if str=="true" then return true elseif str=="false" then return false else return str end end --=== O) Rider infobox local function convertDate(date1, beginOrEnd, initialYear, finalYear) if not date1 then if beginOrEnd==0 then --begin y1=tostring(initialYear) m1="01" d1="01" else y1=tostring(finalYear) m1="12" d1="31" end else _, _, y1,m1,d1 = string.find(date1, "(%d+)-(%d+)-(%d+)") if m1 ==nil or m1=="00" then if beginOrEnd==0 then --begin m1="01" d1="01" else--end m1="12" d1="31" end end end return '+'..y1.."-"..m1.."-"..d1.."T00:00:00Z" end local function listofTeam(itemID, initialYear, finalYear, PID) --first we have to read P54 of the rider --alternative P6087 for managed team local riderteam={} local stagiaire --initially initialYear is the birthyear of the rider --end year is now +10 years, or the death date --let's reduce the range (note: it may be slightly over-engineered, maybe it can be deleted and just assume 10 years in the future is sufficient) local today=os.date("*t") local t1=tonumber(today['year']) local t2=math.min(finalYear, tonumber(today['year'])) local t_initialYear=t1 local t_finalYear=t2 for ii, p54 in statements(itemID, PID) do --itemID loaded in presentTeam local q = p54.qualifiers if q then local sTime, eTime=getStartEndfromQuali(q) --min/max if sTime then y=tonumber(string.sub(sTime, 2, 5)) if y < t_initialYear then t_initialYear=y end if y>t_finalYear then t_finalYear=y end end if eTime then y=tonumber(string.sub(eTime, 2, 5)) if y < t_initialYear then t_initialYear=y end if y>t_finalYear then t_finalYear=y end end end end if t_initialYear~=t1 then initialYear=t_initialYear end if t_finalYear~=t2 then finalYear=t_finalYear end for ii, p54 in statements(itemID, PID) do --itemID loaded in presentTeam if p54 then teamId=p54.mainsnak.datavalue.value.id else teamId=nil end local q = p54.qualifiers if q then local sTime, eTime=getStartEndfromQuali(q) sTime=convertDate(sTime, 0, initialYear, finalYear) eTime=convertDate(eTime, 1, initialYear, finalYear) if q.P39 and q.P39[1] and q.P39[1].snaktype == 'value' then stagiaire = q.P39[1].datavalue.value else stagiaire = nil end dis=checkDis(q) table.insert(riderteam,{teamId=teamId, startTime=sTime, endTime=eTime, stagiaire=stagiaire, dis=dis}) end end return riderteam, initialYear, finalYear end --format the date for display of the team local function riderFormatDate(thisDate) if thisDate=='' then return '' else local month=math.ceil(thisDate['month']/2) if month==12 or month==1 then return thisDate['year'] else local date1='+'..thisDate['year'].."-"..month.."-".."01".."T00:00:00Z" -- local newobj = Complexedate.splitDate(date1) if month == 0 or month==nil then return thisDate['year'] else return month..'.'..thisDate['year'] end end end end local function getTeamInfo(teamId,mm,yy,dd,managedTeam) --get the nature and name of the team for the date mm,yy mm=tostring(mm) yy=tostring(yy) dd=tostring(dd) if mw.ustring.len(mm)==1 then mm='0'..mm end if mw.ustring.len(dd)==1 then dd='0'..dd end thistime='+'..yy.."-"..mm.."-"..dd.."T00:00:00Z" local sitelink, teamNature=getTeamLinkCat(teamId, thistime, false) local cat, boolean if managedTeam then cat=data.nationalcat else cat=data.amateurcat end if cat[teamNature] then --club boolean=true--amateur / national selection else boolean=false--pro / not national selection end return boolean, sitelink end --for managed team, the table should be splat, as we can be national trainer and team trainer at the same time local function analyzeManagedTeam(teamRider, initialYear,finalYear) local natTeamOut, managedTeamOut={},{} local dis="road" local managedTeam=true for i=1,24 do --init table natTeamOut[i]={} managedTeamOut[i]={} for j=initialYear,finalYear do natTeamOut[i][j]={ amateurTeam, link, stagiaire=nil} managedTeamOut[i][j]={amateurTeam,link, stagiaire=nil} end end local teamId, natTeam, sitelink local sYear, sMonth,eYear, eMonth, sDay, eDay if teamRider==nil then return nil end for _, v in pairs(teamRider) do --for each team where was the rider if v['dis']==dis then --exception managed at the reading _, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)") _, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)") sYear=tonumber(sYear) sMonth=tonumber(sMonth) eYear=tonumber(eYear) eMonth=tonumber(eMonth) if sYear<=eYear then --test of congruence for yy=sYear,eYear do for mm=1,12 do local mmindex=(mm-1)*2+1 --avoid reading info where the team is not the one of the rider getinfo=true if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then getinfo=false end if getinfo then if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam) if natTeam then natTeamOut[mmindex+1][yy]['amateurTeam']=true natTeamOut[mmindex+1][yy]['link']=sitelink else managedTeamOut[mmindex+1][yy]['amateurTeam']=false managedTeamOut[mmindex+1][yy]['link']=sitelink end else natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam) if natTeam then natTeamOut[mmindex][yy]['amateurTeam']=true natTeamOut[mmindex][yy]['link']=sitelink if natTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) natTeamOut[mmindex+1][yy]['amateurTeam']=true --a nat team stays a nat team natTeamOut[mmindex+1][yy]['link']=sitelink end else managedTeamOut[mmindex][yy]['amateurTeam']=false managedTeamOut[mmindex][yy]['link']=sitelink if managedTeamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month natTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) managedTeamOut[mmindex+1][yy]['amateurTeam']=false --a nat team stays a nat team managedTeamOut[mmindex+1][yy]['link']=sitelink end end end end end end end end end return natTeamOut, managedTeamOut --a filled matrix with the link and nature of the teams end local function analyzeTeam(teamRider, initialYear,finalYear, dis) local teamOut={} local managedTeam=false for i=1,24 do --init table teamOut[i]={} for j=initialYear,finalYear do teamOut[i][j]={ amateurTeam, link, stagiaire} end end local teamId, amateurTeam, sitelink local sYear, sMonth,eYear, eMonth, sDay, eDay if teamRider==nil then return nil end for _, v in pairs(teamRider) do --for each team where was the rider if v['dis']==dis then --exception managed at the reading _, _, sYear,sMonth,sDay = string.find(v['startTime'], "(%d+)-(%d+)-(%d+)") _, _, eYear,eMonth,eDay = string.find(v['endTime'], "(%d+)-(%d+)-(%d+)") sYear=tonumber(sYear) sMonth=tonumber(sMonth) eYear=tonumber(eYear) eMonth=tonumber(eMonth) if sYear<=eYear then --test of congruence for yy=sYear,eYear do for mm=1,12 do local mmindex=(mm-1)*2+1 --avoid reading info where the team is not the one of the rider getinfo=true if (yy==sYear and mm<sMonth) or (yy==eYear and mm>eMonth) then getinfo=false end if getinfo then if (yy==sYear) and (mm==sMonth) and (sDay~='01' and sDay~='00' and sDay~=nil)then amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,sDay, managedTeam) teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam teamOut[mmindex+1][yy]['link']=sitelink teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire'] else amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'01', managedTeam) teamOut[mmindex][yy]['amateurTeam']=amateurTeam teamOut[mmindex][yy]['link']=sitelink teamOut[mmindex][yy]['stagiaire']=v['stagiaire'] if teamOut[mmindex+1][yy]['amateurTeam']==nil or v['stagiaire'] then --to avoid problem with team name change during the month amateurTeam, sitelink=getTeamInfo(v['teamId'],mm,yy,'28',managedTeam) teamOut[mmindex+1][yy]['amateurTeam']=amateurTeam teamOut[mmindex+1][yy]['link']=sitelink teamOut[mmindex+1][yy]['stagiaire']=v['stagiaire'] end end end end end end end end return teamOut --a filled matrix with the link and nature of the teams end local function insertTeam(teamAmateur,teamPro,sDate,eDate,v) local sDate2=riderFormatDate(sDate) local eDate2=riderFormatDate(eDate) local ins = {link=v['link'], sDate=sDate2,eDate=eDate2,stagiaire=v['stagiaire']} if v['amateurTeam'] then table.insert(teamAmateur,ins) else table.insert(teamPro,ins) end return teamAmateur,teamPro end local function synthetizeTable(analyzedTeam, initialYear,finalYear) local teamPro, teamAmateur, tempTeam, tempsDate, tempeDate={}, {},{},{},{} local empty=true local active=false --bring together successive month with identical content for yy=initialYear,finalYear do for mm=1,24 do local v=analyzedTeam[mm][yy] if v['amateurTeam']~=nil then if empty then --first line active=true empty=false tempTeam=v tempsDate['month']=mm tempsDate['year']=yy else if tempTeam['amateurTeam']==v['amateurTeam'] and tempTeam['link']==v['link'] and tempTeam['stagiaire']==v['stagiaire'] then --no change if yy==finalYear and mm==24 then--present team teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,'',tempTeam) end else--change --save the old if active then --if active false then it was already saved if mm==1 then tempeDate['year']=yy-1 tempeDate['month']=24 else tempeDate['year']=yy tempeDate['month']=mm-1 end teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam) end --save the new active=true tempTeam=v tempsDate['month']=mm tempsDate['year']=yy end --change end--first line elseif active then --there was a team and now there is an empty period active=false --save the old if mm==1 then tempeDate['year']=yy-1 tempeDate['month']=24 else tempeDate['year']=yy tempeDate['month']=mm-1 end teamAmateur,teamPro=insertTeam(teamAmateur,teamPro,tempsDate,tempeDate,tempTeam) tempTeam['link']=nil --avoid problem if the rider comes back in the same team end end-- for mm end--for yy return teamAmateur,teamPro end local function listOfManagedTeamTable(itemID, initialYear,finalYear) local managedTeamRider, initialYear, finalYear = listofTeam(itemID, initialYear,finalYear,'P6087')--raw list of team if not managedTeamRider then return nil, nil end local natTeamOut, managedTeamOut=analyzeManagedTeam(managedTeamRider, initialYear,finalYear) --table with links and nature of teams local nationalTeam,_=synthetizeTable(natTeamOut, initialYear,finalYear) local _,managedTeam=synthetizeTable(managedTeamOut, initialYear,finalYear) return nationalTeam,managedTeam end local function listOfTeamTable(itemID, initialYear,finalYear) local teamRider, initialYear, finalYear = listofTeam(itemID, initialYear,finalYear,'P54')--raw list of team if not teamRider then return nil, nil end local analyzedTeam1=analyzeTeam(teamRider, initialYear,finalYear, "road") --table with links and nature of teams local teamAmateur,teamPro=synthetizeTable(analyzedTeam1, initialYear,finalYear) --table formated, global local analyzedTeam2=analyzeTeam(teamRider, initialYear,finalYear, "mountainBike") local _, teamMountainBike=synthetizeTable(analyzedTeam2, initialYear,finalYear) local analyzedTeam3=analyzeTeam(teamRider, initialYear,finalYear, "cycloCross") local _, teamCycloCross=synthetizeTable(analyzedTeam3, initialYear,finalYear) local analyzedTeam4=analyzeTeam(teamRider, initialYear,finalYear, "track") local _, teamTrack=synthetizeTable(analyzedTeam4, initialYear,finalYear) return teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack end local function getBirthDeathDate(entityID, display_age) local birthDate=firstValue(entityID, 'P569', 'time') local deathDate=firstValue(entityID, 'P570', 'time') local temp2, temp3, birth, death, initialYear, finalYear, age local gender=getGenderCode(entityID, 'm') local w_race=false if gender=="f" then w_race=true end if birthDate then local birthDateFormatted= funcDate(birthDate, 'long') age, initialYear, finalYear=calculateAge(birthDate) local birthPlace = firstValue(entityID, 'P19', 'id') local birthPlaceLink='' if birthPlace then birthPlaceLink=getPlaceLink(birthPlace, birthDate) end local plural, gen_singular, gen_plural = plural(age) local ans if gen_singular then ans=translate("riderinfobox",48,w_race) elseif gen_plural then ans=translate("riderinfobox",49,w_race) else ans=translate("riderinfobox",50,w_race) end if not deathDate and display_age~=false then temp2=' ('..tostring(age)..' '..ans..')<br/>' else temp2='<br/>' end birth=birthDateFormatted..temp2..birthPlaceLink else birth=nil end if deathDate then local deathDateFormatted= funcDate(deathDate, 'long') local deathPlace= firstValue(entityID, 'P20', 'id') local deathPlaceLink='' if deathPlace then deathPlaceLink=getPlaceLink(deathPlace, deathDate) end if birthDate then local age=calculateAge(birthDate, deathDate) local plural, gen_singular, gen_plural = plural(age) local ans if gen_singular then ans=translate("riderinfobox",48,w_race) elseif gen_plural then ans=translate("riderinfobox",49,w_race) else ans=translate("riderinfobox",50,w_race) end if display_age==false then temp2='<br/>' else temp2=' ('..tostring(age)..' '..ans..')<br/>' end else temp2='<br/>' end death=deathDateFormatted..temp2..deathPlaceLink else death=nil end return birth, death, initialYear, finalYear end local function presentTeam(itemID) local tToday=os.date("*t") if mw.ustring.len(tToday["month"])==1 then tToday["month"]='0'..tToday["month"] end if mw.ustring.len(tToday["day"])==1 then tToday["day"]='0'..tToday["day"] end local today='+'..tToday["year"].."-"..tToday["month"].."-"..tToday["day"].."T00:00:00Z" local plural=false local teamId, result, teamLink, teamLinkRoad, row for _, s in statements(itemID, 'P54') do p54 =checktime(s, s.qualifiers, today) --present Team if p54 then teamId= p54.mainsnak.datavalue.value.id teamLink=getTeamLinkCat(teamId, today) dis=checkDis(p54.qualifiers) row=nil if dis=='road' then teamLinkRoad=teamLink elseif dis=='mountainBike' then row=teamLink..' ('..translate("riderinfobox",56,w_race)..')' elseif dis=='cycloCross' then row=teamLink..' ('..translate("riderinfobox",57,w_race)..')' else row=teamLink..' ('..translate("riderinfobox",58,w_race)..')' end if row then if not result then result = row else result= result..'<br/>'..row plural = true end end end end if teamLinkRoad and result then --put road first result = teamLinkRoad..' (route)<br/>'..result plural= true elseif teamLinkRoad then result = teamLinkRoad end return result, plural end local function getSomeNames(details,entityID, PID, index, display_language) local rows={} if not details[index].content then local listOfNames=getFormerNames(entityID, PID) if listOfNames then for _, v in pairs(listOfNames) do rows[#rows + 1]=v[3] if v[2] and v[2]~='' then rows[#rows]=rows[#rows]..' <small>('..v[2]..')</small>' end if display_language then rows[#rows]=rows[#rows]..' <b><small>('..v[4]..')</small></b>' end end if #rows>0 then details[index].content = table.concat(rows, '<br/>') end end end end --for wikidata input local function teamTable(tab, teamAmateur, title_singular, title_plural) if teamAmateur and #teamAmateur>0 then if #teamAmateur==1 then tab:node(addATitle(title_singular)) else tab:node(addATitle(title_plural)) end for _, v in pairs(teamAmateur) do local nametemp=v['link'] if v['sDate']==v['eDate'] then periodtemp=v['sDate'] else periodtemp=v['sDate']..'-'..v['eDate'] end if v['stagiaire'] then local stagiaire = string.gsub(getLabelFallback('Q2328847',lang_priority), "%b()", "") nametemp=nametemp..' ('..stagiaire..')' end tab:node(addARow(periodtemp or '',nametemp)) --period, name end end end --for local data local function localTeamTable(tab, names, periods, title_singular, title_plural) if names then names = mw.text.split(names, '<br />') periods = mw.text.split(periods or '', '<br />') if #names==1 then tab:node(addATitle(title_singular)) else tab:node(addATitle(title_plural)) end for i, name in pairs(names) do tab:node(addARow(periods[i] or '', name)) end end end function p.riderinfobox(frame) local WDlink_on = (wiki == "mk" or wiki == "ja") local entityID, lf = get_and_checkID(frame) local gender=getGenderCode(entityID, 'm') local w_race=false if gender=="f" then w_race=true end local details = { { name = translate("riderinfobox",1,w_race), name_plural =translate("riderinfobox",2,w_race)}, -- birth name { name = translate("riderinfobox",3,w_race), name_plural =translate("riderinfobox",4,w_race)}, -- nick name { name = translate("riderinfobox",5,w_race), name_plural =translate("riderinfobox",6,w_race)}, -- official name { name = translate("riderinfobox",7,w_race), name_plural =translate("riderinfobox",8,w_race)}, -- official name { name = translate("riderinfobox",9,w_race) }, -- birth translate("riderinfobox",9) { name = translate("riderinfobox",10,w_race)}, -- death { name = translate("riderinfobox",11,w_race), name_plural =translate("riderinfobox",12,w_race)}, -- country { name = translate("riderinfobox",13,w_race), name_plural =translate("riderinfobox",14,w_race)}, -- present team { name = translate("riderinfobox",15,w_race), name_plural =translate("riderinfobox",16,w_race)}, -- speciality { name = translate("riderinfobox",17,w_race) }, -- lateralisation { name = translate("riderinfobox",18,w_race) }, -- blood group { name = translate("riderinfobox",19,w_race) }, -- height { name = translate("riderinfobox",20,w_race) }, -- weight { name = translate("riderinfobox",21,w_race), name_plural =translate("riderinfobox",22,w_race)}, -- awards } local teams = { { name = translate("riderinfobox",23,w_race), name_plural =translate("riderinfobox",24,w_race)}, -- directed teams { name = translate("riderinfobox",25,w_race)}, -- directed years { name = translate("riderinfobox",26,w_race), name_plural =translate("riderinfobox",27,w_race)}, -- amateur names { name = translate("riderinfobox",28,w_race)}, -- amateur periods { name = translate("riderinfobox",29,w_race), name_plural =translate("riderinfobox",30,w_race)}, -- nonUCI names { name = translate("riderinfobox",31,w_race)}, -- nonUCI periods { name = translate("riderinfobox",32,w_race), name_plural =translate("riderinfobox",33,w_race)}, -- pro names { name = translate("riderinfobox",34,w_race)}, -- pro periods { name = translate("riderinfobox",35,w_race), name_plural =translate("riderinfobox",36,w_race)}, -- UCI names { name = translate("riderinfobox",37,w_race)}, -- UCI periods { name = translate("riderinfobox",52,w_race), name_plural =translate("riderinfobox",53,w_race)}, -- national selections { name = translate("riderinfobox",54,w_race)}, -- national selection years } --separated to have a title local subtitle = { { name = translate("riderinfobox",51,w_race)}, -- insertion of a sub-title } --separated to have a title local victories = { { name = translate("riderinfobox",38,w_race)}, -- main victories } --separated to have a title local medals = { { name = translate("riderinfobox",47,w_race)}, -- main victories } local others = get_others_dic() local name = getLabelFallback(entityID) or '' local display_birthnameastitle=false for _, value in pairs(display_birthnameastitle_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_birthnameastitle=true end end getLocalContent(subtitle, lf.args) if not subtitle[1].content and display_birthnameastitle then local p1477 = mw.wikibase.getBestStatements(entityID, "P1477") if p1477[1] and p1477[1].mainsnak.snaktype == 'value' then subtitle[1].content = p1477[1].mainsnak.datavalue.value.text..' <b><small>('.. p1477[1].mainsnak.datavalue.value.language..')</small></b>' end if not subtitle[1].content then local p1559 = mw.wikibase.getBestStatements(entityID, "P1559") -- P580 is start time if p1559[1] and p1559[1].mainsnak.snaktype == 'value' then subtitle[1].content = p1559[1].mainsnak.datavalue.value.text..' <b><small>('.. p1559[1].mainsnak.datavalue.value.language..')</small></b>' end end end infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(teams, lf.args) getLocalContent(others, lf.args) getLocalContent(victories, lf.args) getLocalContent(medals, lf.args) local listOfBirthNames, listOfNickNames, listOfOfficialNames, listOfShortNames local icon = picto_road local display_language=false for _, value in pairs(display_language_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_language=true end end local display_age=true for _, value in pairs(display_noage_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_age=false end end local display_nickname=true for _, value in pairs(display_nonickname_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_nickname=false end end local display_cm=false for _, value in pairs(display_cm_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_cm=true end end -- getSomeNames(details, entityID, 'P1477', 1, display_language) --birthname --less prio than P1477 if display_nickname then getSomeNames(details, entityID, 'P1559', 1, display_language) --birthname, bis getSomeNames(details, entityID, 'P1449', 2, display_language) --nick name end getSomeNames(details, entityID, 'P1448', 3, display_language) --official name if display_nickname then getSomeNames(details, entityID, 'P1813', 4, display_language) --short name end local birth, death, initialYear, finalYear=getBirthDeathDate(entityID, display_age) if not details[5].content then details[5].content=birth end if not details[6].content then details[6].content= death end local display_flag=false for _, value in pairs(display_flag_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_flag=true end end listWPlinkChrono(details, 7, entityID, {'P1532','P27'}, 'country', initialYear, display_flag) if not details[8].content then local plural details[8].content, plural=presentTeam(entityID) if plural then details[8].name = details[8].name_plural end end --speciality listWPlink(details, 9, entityID, 'P413',false) --lateralisation, for cycling not very interesting --listWPlink(details, 10, entityID, 'P552',false) --blood group, idem --listWPlink(details, 11, entityID, 'P1853',false) --height if not details[12].content then details[12].content=getHeight(entityID, display_cm) end local display_weight=true for _, value in pairs(display_noweight_in_riderinfobox) do -- get data if country should be printed in this wiki if value == wiki then display_weight=false end end --weight if not details[13].content and display_weight then details[13].content=getWeight(entityID) end --award, should be table --awards look weird --if not details[14].content then -- listWPlink(details, 14, entityID, 'P166',false) --end local amateurTeam, nonUCITeam, proTeam, UCITeam --local data local amateurWD=true local proWD=true local managedWD=true local teamAmateur,teamPro, teamMountainBike, teamCycloCross, teamTrack=listOfTeamTable(entityID, initialYear, finalYear) local nationalTeam, managedTeam=listOfManagedTeamTable(entityID, initialYear, finalYear) local managedTeam_names, managedTeam_periods, amateurTeam_names, amateurTeam_periods local nonUCITeam_names, nonUCITeam_periods, proTeam_names, proTeam_periods local nationalTeam_names, nationalTeam_periods local UCITeam_names, UCITeam_periods if teams[1].content then managedTeam_names=teams[1].content managedTeam_periods=teams[2].content managedWD=false end if teams[3].content then amateurWD=false amateurTeam_names=teams[3].content amateurTeam_periods=teams[4].content end if teams[5].content then amateurWD=false nonUCITeam_names=teams[5].content nonUCITeam_periods=teams[6].content end if teams[7].content then proWD=false proTeam_names=teams[7].content proTeam_periods=teams[8].content end if teams[9].content then proWD=false UCITeam_names=teams[9].content UCITeam_periods=teams[10].content end if teams[11].content then nationalTeam_names=teams[11].content nationalTeam_periods=teams[12].content managedWD=false end --plate and grab tab = infoInitTab("300px", name, icon, 2) if subtitle[1].content then tCell=tab:tag('tr'):tag('td'):attr('colspan','2') :cssText('solid white; text-align:center') :wikitext(subtitle[1].content) end infoFillOthersDetails(tab, others, details,translate("riderinfobox",55,w_race),"260px") if amateurWD then teamTable(tab, teamAmateur, translate("riderinfobox",26,w_race), translate("riderinfobox",27,w_race)) else localTeamTable(tab,amateurTeam_names, amateurTeam_periods, translate("riderinfobox",26,w_race), translate("riderinfobox",27,w_race)) localTeamTable(tab,nonUCITeam_names, nonUCITeam_periods, translate("riderinfobox",29,w_race), translate("riderinfobox",30,w_race)) end if proWD then teamTable(tab, teamPro, translate("riderinfobox",45,w_race),translate("riderinfobox",46,w_race)) teamTable(tab, teamMountainBike, translate("riderinfobox",39,w_race), translate("riderinfobox",40,w_race)) teamTable(tab, teamCycloCross, translate("riderinfobox",41,w_race), translate("riderinfobox",42,w_race)) teamTable(tab, teamTrack, translate("riderinfobox",43,w_race), translate("riderinfobox",44,w_race)) else localTeamTable(tab,proTeam_names, proTeam_periods,translate("riderinfobox",45,w_race), translate("riderinfobox",46,w_race)) localTeamTable(tab,UCITeam_names, UCITeam_periods, translate("riderinfobox",35,w_race), translate("riderinfobox",36,w_race)) end --managed teams if managedWD then teamTable(tab, nationalTeam, translate("riderinfobox",52,w_race), translate("riderinfobox",53,w_race)) teamTable(tab, managedTeam, translate("riderinfobox",23,w_race), translate("riderinfobox",24,w_race)) else localTeamTable(tab,managedTeam_names, managedTeam_periods,translate("riderinfobox",23,w_race), translate("riderinfobox",24,w_race)) end if victories[1].content then tab:node(addATitle(translate("riderinfobox",38,w_race))) tab:tag('tr'):tag('td') :css('vertical-align','top'):attr('colspan','2') :wikitext(victories[1].content) end if medals[1].content then tab:node(addATitle(translate("riderinfobox",47,w_race))) tab:tag('tr'):tag('td') :css('vertical-align','top'):attr('colspan','2') :wikitext(medals[1].content) end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/riderinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --=== P) Team infobox local function get_rider_number(entityID, details, index) if not details[index].content then local riders = #wikibase.getAllStatements(entityID, 'P527') -- P527 is 'has part' if riders > 0 then local stagiaire = string.gsub(getLabelFallback('Q2328847'), "%b()", "") local nb_stagiaires=0 for ii, p527 in statements(entityID, 'P527') do local q = p527.qualifiers if q and q.P39 and q.P39[1] and q.P39[1].snaktype == 'value' and q.P39[1].datavalue.value=='Q2328847'then nb_stagiaires=nb_stagiaires+1 end end if nb_stagiaires>0 then details[index].content = riders ..' ('.. tostring(nb_stagiaires).." "..stagiaire..')' else details[index].content = riders end end end end function p.teamseasoninfobox(frame) local WDlink_on = (wiki == "mk" or wiki == "ja") local seasonID, lf = get_and_checkID(frame) local w_race=isWomenteam(seasonID) local gender="m" if w_race then gender="f" end local details = { { name = translate("teaminfobox",2,w_race)}, -- sport { name = translate("headoftableII",3,w_race)}, -- team { name = translate("teaminfobox",3,w_race), name_plural = translate("teaminfobox",4,w_race)}, -- type { name = translate("teaminfobox",5,w_race), name_plural = translate("teaminfobox",6,w_race)}, -- UCI-cod { name = translate("teaminfobox",7,w_race), name_plural = translate("teaminfobox",8,w_race)}, -- сountry { name = translate("getSquadTableColumn",7,w_race)}, --team size { name = translate("teaminfobox",13,w_race)}, -- official web site { name = translate("teaminfobox",27,w_race), name_plural = translate("teaminfobox",28,w_race)}, --sponsor { name = translate("teaminfobox",24,w_race), name_plural = translate("teaminfobox",25,w_race) }, -- bike { name = translate("teaminfobox",26,w_race)}, -- budget } local managers ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local others=get_others_dic() infoGetOthers(others, seasonID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) local sport_id=firstValue(seasonID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' local name = getLabelFallback(seasonID) or '' local listOfNames=getFormerNames(seasonID, 'P1448',true) --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end local timeOfRace=getTimeOfRace(seasonID) local initialYear if timeOfRace then initialYear=string.sub(timeOfRace,2,5) else error("no timeOfRace found for "..seasonID) end local sitelink, catID, _=getTeamLinkCat(seasonID, timeOfRace, nil, true) --team if not details[2].content then details[2].content=sitelink end --type listWPlinkChrono(details, 3, seasonID, {'P2094'}, 'rider', initialYear, nil, nil, true) if not details[3].content then --fallback if catID then details[3].content=getRiderLink(catID, timeOfRace) --it is not a rider, but it gives the correct result end end listWPlinkChrono(details, 4, seasonID, {'P1998'}, 'UCIcode', initialYear, nil, true,true) local display_flag=true listWPlinkChrono(details, 5, seasonID, {'P1532','P17'}, 'country', initialYear, display_flag,nil,true) -- number of riders get_rider_number(seasonID, details, 6) -- official site if not details[7].content then details[7].content = officialSite(seasonID) end --Sponsor listWPlinkChrono(details, 8, seasonID, {'P859'}, 'rider', initialYear, nil, nil, true) --bike listWPlinkChrono(details, 9, seasonID, {'P1876'}, 'rider', initialYear, nil, nil, true) --budget if not details[10].content then p=firstValue(seasonID,'P2769') if p and p.mainsnak.snaktype == 'value' then local amount=p.mainsnak.datavalue.value.amount local unit=p.mainsnak.datavalue.value.unit details[10].content=dispmoney(amount, unit) end end local listofcalendar, UCIQtoYear=riderranking_sub(w_race) local tTable={} --no need for year, it is clear for _, calendar in pairs(listofcalendar) do tTable[calendar]={} end --not over-writable presently tTable=get_teamranking(seasonID, w_race, UCIQtoYear,listofcalendar, tTable,gender) --Staff, there can be several -- manager listWPlinkChrono(managers, 1, seasonID, {'P505'}, 'rider', initialYear, nil, nil, true) -- sports director listWPlinkChrono(managers, 2, seasonID, {'P286'}, 'rider', initialYear, nil, nil, true) --Build the table tab = infoInitTab("300px", name, icon, 2) infoFillOthersDetails(tab, others, details, translate("teaminfobox",1,w_race)) --in case there are several names if listOfNames and #listOfNames>1 then --Always display a list of names tab:node(addATitle(translate("teaminfobox",19,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end if managers[1].content or managers[2].content then tab:node(addATitle(translate("teaminfobox",18,w_race))) for _, row in ipairs(managers) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end --Palmares tab:node(addATitle(translate("raceinfobox",20,w_race))) local wins = #wikibase.getAllStatements(seasonID, 'P2522') if wins then tab:node(addARow(translate("victories",2,w_race),tostring(wins))) end for calendar, v_calendar in pairs(tTable) do if v_calendar[initialYear] then local v=v_calendar[initialYear] local calendar_name=translate("riderranking",KeytoRiderRankingCode[calendar],w_race) if v["sitelink"] then tab:node(addATitle('[['..v["sitelink"]..'|'..calendar_name..']]')) else tab:node(addATitle(calendar_name)) end if v["teamrank"] then tab:node(addARow(translate("riderranking",20,w_race),v["teamrank"])) end if v["rider"] then tab:node(addARow(translate("riderranking",21,w_race),v["rider"])) end end end -- an empty line with a title under the form in the form of an image or third-party template if get_arg('jersey',lf) then -- if the jersey is not specified, then the JERSEY header is not displayed tab:node(addATitle(translate("teaminfobox",20,w_race))) local outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','3'):css('text-align','center') tCell:wikitext(get_arg('jersey',lf)) -- adding a form via "argument 2" by an image or an extraneous template tab:node(outTable) end -- adding a link to articles about the last and current seasons (the same as for the race) tab:node(getPreviousNextLine(seasonID)) wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), seasonID) return tab end function p.teaminfobox(frame) -- If true, winners will have Wikidata logos with link to Wikidata local WDlink_on = (wiki == "mk" or wiki == "ja") local entityID, lf = get_and_checkID(frame) local w_race=isWomenrace(entityID) local tRace = {race={ raceId, raceDate, future, }, } local details = { { name = translate("teaminfobox",2,w_race)}, -- sport { name = translate("teaminfobox",3,w_race), name_plural = translate("teaminfobox",4,w_race)}, -- type { name = translate("teaminfobox",5,w_race), name_plural = translate("teaminfobox",6,w_race)}, -- UCI-cod { name = translate("teaminfobox",7,w_race), name_plural = translate("teaminfobox",8,w_race)}, -- сountry { name = translate("teaminfobox",9,w_race)}, -- creation date { name = translate("teaminfobox",10,w_race)}, -- disparition date { name = translate("teaminfobox",11,w_race)}, -- number of season { name = translate("teaminfobox",13,w_race)}, -- official web site { name = translate("teaminfobox",27,w_race), name_plural = translate("teaminfobox",28,w_race)}, --sponsor { name = translate("teaminfobox",24,w_race), name_plural = translate("teaminfobox",25,w_race) }, -- bike { name = translate("teaminfobox",26,w_race)}, -- budget } local others=get_others_dic() local managers ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local managers_season ={ { name = translate("teaminfobox",14,w_race), name_plural = translate("teaminfobox",15,w_race)}, -- manager --country { name = translate("teaminfobox",16,w_race), name_plural = translate("teaminfobox",17,w_race)}, -- sports director } local details_season = { { name = translate("getSquadTableColumn",7,w_race)}, --team size { name = translate("victories",2,w_race)} --number of victories } local name = getLabelFallback(entityID, lang_priority) or '' infoGetOthers(others, entityID) getLocalContent(details, lf.args) getLocalContent(others, lf.args) getLocalContent(managers, lf.args) local listOfNames=getFormerNames(entityID, 'P1448') local sport_id=firstValue(entityID, 'P641', 'id') local icon = (sport_id == "Q3609") and -- P641 is 'sport', Q3609 is 'road bicycle racing' picto_road or '' --1st ist sport if not details[1].content and sport_id then details[1].content = WPlinkpure(sport_id) end local creation=firstValue(entityID, 'P571', 'time') local initialYear=string.sub(creation,2,5) -- type listWPlinkChrono(details, 2, entityID, {'P31'}, 'rider', initialYear)--it is not a rider, but we need link + official name --UCI code listWPlinkChrono(details, 3, entityID, {'P1998'}, 'UCIcode', initialYear, nil, true) -- сountry local display_flag=true listWPlinkChrono(details, 4, entityID, {'P1532','P17'}, 'country', initialYear, display_flag) --creation date if not details[5].content and creation then details[5].content = funcDate(creation, "onlyyear" ) end -- disparition date local disparition=firstValue(entityID, 'P576', 'time') if not details[6].content and disparition then details[6].content = funcDate(disparition,"onlyyear") end --populate tRace listOfWinners(entityID, tRace,true,lf) -- number of season if not details[7].content and tRace.numberOfEditions and tRace.lastEditionYear then details[7].content = tostring(tRace.numberOfEditions).." (" .. translate("teaminfobox",12,w_race) .. " "..tostring(tRace.lastEditionYear)..")" end -- official site if not details[8].content then details[8].content = officialSite(entityID) end --9 is sponsor listWPlinkChrono(details, 9, entityID, {'P859'}, 'rider', initialYear) --10 is bike listWPlinkChrono(details, 10, entityID, {'P1876'}, 'rider', initialYear) --11 budget listWPlinkChrono(details, 11, entityID, {'P2769'}, 'money', initialYear) -- manager listWPlinkChrono(managers, 1, entityID, {'P505'}, 'rider', initialYear) -- sports director listWPlinkChrono(managers, 2, entityID, {'P286'}, 'rider', initialYear) --Build the table tab = infoInitTab("300px", name, icon, 2) --former names wiki_listOfNamesAtBottom={'ru'} local listOfNamesAtBottom = false for _, value in pairs(wiki_listOfNamesAtBottom) do -- if value == wiki then listOfNamesAtBottom = true end end --picture at the top infoFillOthersDetails(tab, others, details, translate("teaminfobox",1,w_race),"260px") if managers[1].content or managers[2].content then tab:node(addATitle(translate("teaminfobox",18,w_race))) for _, row in ipairs(managers) do tab:node(addARow(row.name, row.content)) --node check itself if nil end end if listOfNames and #listOfNames>0 then --Always display a list of names tab:node(addATitle(translate("teaminfobox",19,w_race))) for _, v in pairs(listOfNames) do tab:node(addARow(v[2],v[3])) --period, name end end -- an empty line with a title under the form in the form of an image or third-party template if get_arg(2,lf) then -- if the jersey is not specified, then the JERSEY header is not displayed tab:node(addATitle(translate("teaminfobox",20,w_race))) local outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','3'):css('text-align','center') tCell:wikitext(get_arg(2,lf)) -- adding a form via "argument 2" by an image or an extraneous template tab:node(outTable) end -- adding a link to articles about the last and current seasons (the same as for the race) if tRace.lastID then -- manager listWPlinkChrono(managers_season, 1, tRace.lastID, {'P505'}, 'rider', tRace.lastEditionYear, nil, nil, true) -- sports director listWPlinkChrono(managers_season, 2, tRace.lastID, {'P286'}, 'rider', tRace.lastEditionYear, nil, nil, true) get_rider_number(tRace.lastID, details_season, 1) local wins = #wikibase.getAllStatements(tRace.lastID, 'P2522') local today=os.date("*t") if wins and tonumber(tRace.lastEditionYear)==tonumber(today['year']) then --display only if the season if for this year details_season[2].content=tostring(wins) end infoFillOthersDetails(tab, nil, managers_season, translate("teaminfobox",21,w_race),"260px") infoFillOthersDetails(tab, nil, details_season, nil,"260px") local outTable if tRace.lastLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local lastText="[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("teaminfobox",22,w_race).. ":<br>'''".. tRace.lastLink.."'''" tCell:wikitext(lastText) tab:node(outTable) end if tRace.nextLink then outTable = mw.html.create('tr') local tCell=outTable:tag('td'):attr('colspan','2'):css('text-align','center') local nextText = "[[File:Crystal Clear app kworldclock.png|left|37px]]".. translate("teaminfobox",23,w_race).. ":<br>'''".. tRace.nextLink.."'''" tCell:cssText("text-align:center"):wikitext(nextText) tab:node(outTable) end end wdDoc(tab, "d:Wikidata:WikiProject Cycling/Documentation/raceinfobox", translate("raceinfobox",26,w_race), entityID) return tab end --== teamriderCompetitionranking function p.teamriderCompetitionranking(frame) local tempID, lf=get_and_checkID(frame) local calendarID local timeOfRace=getTimeOfRace(tempID) local initialYear if timeOfRace then year=string.sub(timeOfRace,2,5) end local header_1_tab = {["UWT"]=13 ,["europe"]=14 ,["asia"]=15,["america"]=16 ,["africa"]=17 ,["oceania"]=18, ["WWT"]=11, ["women"]=1, ["Pro"]=22} local header_1_number = 12 local key=get_arg(2,frame) if key and year then calendarID=data.UCIYearToQ[key][year] header_1_number = header_1_tab[key] end local w_race=isWomenteam(calendarID) if not calendarID or calendarID == "" then return "" end local s = { header_function = "calendar", header_1 =header_1_number, header_2 = {2, 3, 5, 4, 24, 23}, data_sort_type = {'', '','', 'unsortable', '', ''}, property="P1344", calendarID=calendarID, item = tempID, --should be called item for tableA lf=lf, w_race=w_race } return teamriderCompetitionranking_main(s,tableA(s)) end local function get_competition_bestrider(RaceID, seasonID, gender) local riderLink, rank, disqualified, cancelled, q local bold=false for _, p1344 in statements(seasonID, 'P1344') do thisCompetition = p1344.mainsnak.datavalue.value.id if thisCompetition and thisCompetition==RaceID then q = p1344.qualifiers if q then if q and q.P1352 and q.P1352[1].snaktype == 'value' then --rank rank= tonumber(q.P1352[1].datavalue.value.amount) if rank==1 then bold=true end rank=number(gender,rank,wiki) end --get best rider if q and q.P710 and q.P710[1].snaktype == 'value' then --participant rider = q.P710[1].datavalue.value.id riderLink = getRiderLink(rider, thisdate) countryID = getNationality(rider, thisdate) if countryID then riderLink = flag(countryID, thisdate) .. ' ' .. riderLink end end _,disqualified=isdisqualified(p1344, q) if riderLink and disqualified==true then riderLink='<s>'..riderLink..'</s>' end end end end return riderLink, rank, bold end function teamriderCompetitionranking_main(s, resultTable)--Display the UCI women calendar of one year local best_rider, rank local lf = s.lf local calendarID=s.calendarID local seasonID= s.item local t_Body ={} local w_race=s.w_race local gender="m" if w_race then gender="f" end local temp=firstValue(calendarID, s.property) if not temp or temp=="" then s.error_message = 2 if wiki == "ar" then return "" end end local country=getCountryBool(s.no_country) ----- Begin of the main part of the code local ind=0 for _, p527 in statements(calendarID, 'P527') do local RaceID = p527.mainsnak.datavalue.value.id local temp=firstValue(RaceID, 'P1346','id') local cancelled=false if temp and temp=='Q30108381' or temp=='Q54806642' or temp=='Q23023872' then --race cancelled cancelled=true else ind=ind+1 end if not cancelled then ---- Create a row ---- local timeOfRace, date_tCell, date_sortkey = fn_date(RaceID) local future=compareDate(timeOfRace) local parentID, race_tCell, _= fn_race(RaceID,nil,false,timeOfRace,nil,country) if race_tCell~=nil then --otherwise the class is not display local country_flag, country_name, country_tCell=fn_country(RaceID, timeOfRace, country, race_tCell, parentID) --create the table local tRow = mw.html.create('tr'):cssText( "line-height: 1.8em; padding: 5px;") tRow:node(date_tCell) tRow:tag('td'):cssText("text-align:center;padding:0 0.5em"):wikitext(tostring(ind)) --correct only if the races are sorted correctly in wikidata tRow:node(country_tCell) if country then tRow:node(race_tCell) end --logic to get the best rider||ranking riderLink, rank, bold=get_competition_bestrider(RaceID, seasonID, gender) local tCell=tRow:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.5em") if riderLink then tCell:wikitext(riderLink) elseif future then tCell:wikitext("") else tCell:wikitext(" - ") end tCell=tRow:tag('td'):cssText("text-align:".. textalign ..";padding:0 0.5em") if bold then tCell:cssText("font-weight:bold;") end if rank then tCell:wikitext(rank) elseif future then tCell:wikitext("") else tCell:wikitext(" - ") end ---- Add the row to the table table.insert(t_Body, {sortkey=date_sortkey, body=tRow}) end end end return sortAndConcat(t_Body, resultTable) end --=== Z) Miscellaneous / Other / Tests --[[ Give access to a local variable. Used by other modules. ]] function p.getLocal(name) if name == 'getTeamLinkCat' then return getTeamLinkCat end if name == 'getStatementForTime' then return getStatementForTime end end function p.testlocal(frame) --function to test local functions local function_name=frame.args[1] local argu=frame.args local temp, temp2 if function_name=='firstValue' then return firstValue(argu[2],argu[3],argu[4]) elseif function_name=='getOfficialName' then temp, temp2 =getOfficialName(argu[2],argu[3],argu[4]) return temp elseif function_name=='getRiderLink' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp=getRiderLink(argu[2],arg3) --only first arg returned return temp elseif function_name=='funcDate' then return funcDate(argu[2],argu[3]) elseif function_name=='funcDateFigure' then return funcDateFigure(argu[2],argu[3]) elseif function_name=='getStartEndTime1' then temp, temp2=getStartEndTime(argu[2],argu[3],argu[4]) return temp elseif function_name=='getStartEndTime2' then temp, temp2=getStartEndTime(argu[2],argu[3],argu[4]) return temp2 elseif function_name=='getPeriodSub' then temp, temp2=getPeriodSub(argu[2],argu[3],toboolean(argu[4])) return temp elseif function_name=='getTeam' then temp=getTeam(argu[2],argu[3],argu[4]) if temp then return temp else return 'nil' end elseif function_name=='getStatementForTime' then temp=getStatementForTime(argu[2],argu[3],argu[4]) if temp then return temp.mainsnak.datavalue.value.id else return 'nil' end elseif function_name=='getTeamLinkCat' then temp=getTeamLinkCat(argu[2],argu[3],toboolean(argu[4])) if temp then return temp else return 'nil' end elseif function_name=='getTeamLinkCat2' then temp, temp2=getTeamLinkCat(argu[2],argu[3],toboolean(argu[4])) if temp2 then return temp2 else return 'nil' end elseif function_name=='getPlaceLink' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end return getPlaceLink(argu[2],arg3) elseif function_name=='getPlaceLink2' then return getPlaceLink(argu[2],argu[3],nil,true) elseif function_name=='seasonToTeamID' then if argu[2]=="nil" then arg2=nil else arg2=argu[2] end return tostring(seasonToTeamID(arg2)) elseif function_name=='translate' then return translate(argu[2],tonumber(argu[3]),toboolean(argu[4])) elseif function_name=="classLinkFn" then return classLinkFn(argu[2]) elseif function_name=='raceLink' then return tostring(raceLink(argu[2])) elseif function_name=='getMainRaceLink' then if argu[5]=="nil" then arg5=nil else arg5=argu[5] end if argu[3]=='stage' then arg3='stage' else arg3=tonumber(argu[3]) end return tostring(getMainRaceLink(argu[2],arg3,argu[4], arg5,argu[6])) elseif function_name=='getYear' then return getYear(argu[2]) elseif function_name=='getCountryName' then return tostring(getCountryName(argu[2])) elseif function_name=='getTeamCodeCat' then return tostring(getTeamCodeCat(argu[2],argu[3])) elseif function_name=='getTeamCode' then return tostring(getTeamCode(argu[2],argu[3],argu[4])) elseif function_name=='getCountryBool' then return tostring(getCountryBool({argu[2],argu[3]})) elseif function_name=='WPlinkpure' then return WPlinkpure(argu[2]) elseif function_name=='uciCodeCountry' then return uciCodeCountry(argu[2]) elseif function_name=='isHuman' then return tostring(isHuman(argu[2])) elseif function_name=='isCountry' then return tostring(isCountry(argu[2])) elseif function_name=='isWomenrace' then return tostring(isWomenrace(argu[2])) elseif function_name=='isWomenteam' then return tostring(isWomenteam(argu[2])) elseif function_name=='commaStage' then temp =commaStage(argu[2],argu[3]) return temp["prefix"] elseif function_name=='number' then return number(argu[2],tonumber(argu[3]), argu[4]) elseif function_name=='classToCircuit' then return classToCircuit(argu[2], argu[3], toboolean(argu[5]), nil) elseif function_name=='getGenderCode' then return tostring(getGenderCode(argu[2], argu[3])) elseif function_name=='calculateTime' then return calculateTime(argu[2]) elseif function_name=='getClass1' then temp, temp2 = getClass(argu[2]) return temp elseif function_name=='getClass2' then temp, temp2 = getClass(argu[2]) return temp2 elseif function_name=='infoGetPlace' then local details = {{ name = "test", name_plural="tests"}} -- course / not used infoGetPlace(details,1, argu[2], argu[3], argu[4]) return details[1].content elseif function_name=='getFormerNames1' then temp=getFormerNames(argu[2],'P1448') if temp[1] then return temp[1][2] --period else return "" end elseif function_name=='getFormerNames2' then temp=getFormerNames(argu[2],'P1448') if temp[1] then return temp[1][3] --name else return "" end elseif function_name=='getType' then return getType(argu[2]) elseif function_name=='compareDate' then return tostring(compareDate(argu[2])) elseif function_name=='officialSite' then return officialSite(argu[2]) elseif function_name=='trans' then return tostring(trans(argu[2], argu[3], argu[4])) elseif function_name=='parseDate1' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp1 elseif function_name=='parseDate2' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp2 elseif function_name=='parseDate5' then temp1, temp2, temp3, temp4, temp5= parseDate(argu[2], argu[3], argu[4], argu[5], "", "error text") return temp5 elseif function_name=='findLastName' then return findLastName(argu[2],wiki) elseif function_name=='findSortKey' then if wiki=="ru" or wiki=="mk" then return findSortKey(argu[2],false, true) else return findSortKey(argu[2],true, false) end elseif function_name=='calculateAge' then temp1, _, _ =calculateAge(argu[2]) return temp1 elseif function_name=='getBirthDeathDate1' then temp1, temp2 = getBirthDeathDate(argu[2]) return temp1 elseif function_name=='getBirthDeathDate2' then temp1, temp2 = getBirthDeathDate(argu[2]) return temp2 elseif function_name=='getLocalContent' then local details = { { name = argu[2], name_plural= argu[3]} } local arguments = {} arguments[argu[4]]="test" getLocalContent(details, arguments) return details[1].content elseif function_name=='plural1' then _, temp1, temp2=plural(tonumber(argu[2])) return temp1 elseif function_name=='plural2' then _, temp1, temp2=plural(tonumber(argu[2])) return temp2 elseif function_name=='getNationality' then return getNationality(argu[2], argu[3]) elseif function_name=='getCountryID' then return getCountryID(argu[2], argu[3]) elseif function_name=='get_formatted_date1' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp, temp2= get_formatted_date(argu[2], arg3) if temp then return temp end elseif function_name=='get_formatted_date2' then if argu[3]=="nil" then arg3=nil else arg3=argu[3] end temp, temp2= get_formatted_date(argu[2], arg3) if temp2 then return temp2 end elseif function_name=="getSpeed" then if argu[4]=="nil" then arg4=nil else arg4=tonumber(argu[4]) end return tostring(getSpeed(argu[2], toboolean(argu[3]),arg4, argu[5])) elseif function_name=="formatNumber" then return formatNumber(tonumber(argu[2]), toboolean(argu[3]),tonumber(argu[4])) end end function p.test_import(frame) local function_name=frame.args[1] local argu=frame.args if function_name=='class_dic' then return tostring(data.class_dic[argu[2]]) elseif function_name=="class_sort" then return tostring(data.class_sort[argu[2]]) elseif function_name=='bg_color_table' then local temp = data.bg_color_table[argu[2]] temp=string.gsub(temp,'#',"") return temp end end return p i8bbt35lxdhnvaonzgcvlhhnpxtej0j Module:Cycling race/l10n 828 31903 146285 2026-07-29T18:37:08Z آیات محراج 11062 Created page with "--Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹی..." 146285 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "رؠس", "مُلُک", "کِلاس", "زیٖنَن وول", "دۆیِم", "ترٛؠیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک رؠس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "رؠس", "مُلُک", "کِلاس", "زیٖنَن واجیٚن", "دۆیِم", "ترٛؠیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک رؠس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "رؠس", "مُلُک", "کِلاس", "زیٖنَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "رؠس", "مُلُک", "کِلاس", "زیٖنَن واجیٚن", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"رؠسِک تَفصیٖل", "رؠس", "قِسٕم", "تٲریٖخ", "تٲریٖخ", "فٲصِلٕہ", "مُلُک", "مُلُک", "رؠسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ رؠسَر", "واتھَن وٲلؠ رؠسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زیٖنَن وول", "دۆیِم", "ترٛؠیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛؠیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "اُچٲیی" }, stageinfobox_women_translate={"رؠسِک تَفصیٖل", "رؠس", "قِسٕم", "تٲریٖخ", "تٲریٖخ", "فٲصِلٕہ", "مُلُک", "مُلُک", "رؠسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ رؠسَر", "واتھَن واجِنیٚہ رؠسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زیٖنَن واجیٚن", "دۆیِم", "ترٛؠیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛؠیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "اُچٲیی" }, raceinfobox_translate={"سالانٕہ", "ماہانٕہ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قِسٕم", "جاے", "جائے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "رؠسِک تَفصیٖل", "پالمارؠس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ رؠس", " ٲخری رؠسہِ خٲطرٕ ", " یِنہٕ والیِ رؠسہِ خٲطرٕ ", "دَستاویٖزات", "رؠس ڈایرؠکٹَر", "رؠس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"سالانٕہ", "ماہانٕہ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قِسٕم", "جاے", "جائے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "رؠسِک تَفصیٖل", "پالمارؠس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ رؠس", " ٲخری رؠسہِ خٲطرٕ ", " یِنہٕ والیِ رؠسہِ خٲطرٕ ", "دَستاویٖزات", "رؠس ڈایرؠکٹَر", "رؠس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قِسٕم", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قِسٕم", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"رؠسِک تَفصیٖل", "رؠس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلٕہ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالمارؠس", "زیٖنَن وول", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "اُچٲیی", "عِلاقہٕ", "رؠس", "اؠڈِشَن", "جاے", "جائے", "مُنظِم", "مُنظِمین", "زیٖنَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "رؠس" }, infobox_women_translate={"رؠسِک تَفصیٖل", "رؠس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلٕہ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالمارؠس", "زیٖنَن واجیٚن", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "اُچٲیی", "عِلاقہٕ", "رؠس", "اؠڈِشَن", "جاے", "جائے", "مُنظِم", "مُنظِمین", "زیٖنَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","رؠس" }, unit_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلٕہ (کِلوٗمیٖٹَر)", "سِٹیج زیٖنَن وول", "عوٚموٗمی لیٖڈَر", "اُچٲیی (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلٕہ (کِلوٗمیٖٹَر)", "سِٹیج زیٖنَن واجیٚن", "عوٚموٗمی لیٖڈَر", "اُچٲیی (میٖٹَر)" }, headoftableII_translate={"رؠسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زیٖنَن وول", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زیٖنَن واجیٚن", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } dejrdirjjme2yzr3pg1fcq1nd6qevl8 146288 146285 2026-07-29T18:43:12Z آیات محراج 11062 146288 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "رؠس", "مُلُک", "کِلاس", "زینَن وول", "دۆیِم", "ترٛؠیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک رؠس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "رؠس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛؠیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک رؠس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "رؠس", "مُلُک", "کِلاس", "زینَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "رؠس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"رؠسِک تَفصیٖل", "رؠس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "رؠسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ رؠسَر", "واتھَن وٲلؠ رؠسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن وول", "دۆیِم", "ترٛؠیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛؠیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَ" }, stageinfobox_women_translate={"رؠسِک تَفصیٖل", "رؠس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "رؠسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ رؠسَر", "واتھَن واجِنیٚہ رؠسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛؠیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛؠیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَر " }, raceinfobox_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "رؠسِک تَفصیٖل", "پالمارؠس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ رؠس", " ٲخری رؠسہِ خٲطرٕ ", " یِنہٕ والیِ رؠسہِ خٲطرٕ ", "دَستاویٖزات", "رؠس ڈایرؠکٹَر", "رؠس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "رؠسِک تَفصیٖل", "پالمارؠس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ رؠس", " ٲخری رؠسہِ خٲطرٕ ", " یِنہٕ والیِ رؠسہِ خٲطرٕ ", "دَستاویٖزات", "رؠس ڈایرؠکٹَر", "رؠس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"رؠسِک تَفصیٖل", "رؠس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالمارؠس", "زینَن وول", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "رؠس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "رؠس" }, infobox_women_translate={"رؠسِک تَفصیٖل", "رؠس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالمارؠس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "رؠس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","رؠس" }, unit_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن وول", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن واجیٚنؠ", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftableII_translate={"رؠسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زینَن وول", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زینَن واجیٚنؠ", "دۆیِم", "ترٛؠیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } rrr7wx0ox8wpgo6u9bylx3f2cj0kqmf 146297 146288 2026-07-29T19:13:58Z آیات محراج 11062 146297 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ ریسَر", "واتھَن وٲلؠ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَ" }, stageinfobox_women_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ ریسَر", "واتھَن واجِنیٚہ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَر " }, raceinfobox_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "ریس" }, infobox_women_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","ریس" }, unit_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گۄنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گۄنٛٹہٕ', " پۄیِنٹ", " پۄیِنٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن وول", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن واجیٚنؠ", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftableII_translate={"ریسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } 5ppv56m4x5xxd1gz1lop62h6szbsh9t 146300 146297 2026-07-29T19:20:01Z آیات محراج 11062 146300 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ ریسَر", "واتھَن وٲلؠ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَ" }, stageinfobox_women_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ ریسَر", "واتھَن واجِنیٚہ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَر " }, raceinfobox_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "ریس" }, infobox_women_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصِلہٕ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","ریس" }, unit_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن وول", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصِلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن واجیٚنؠ", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftableII_translate={"ریسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } a3u3o4c9ryt900ds097y9lu9bxxwt0o 146318 146300 2026-07-29T19:41:59Z آیات محراج 11062 146318 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ ریسَر", "واتھَن وٲلؠ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَ" }, stageinfobox_women_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ ریسَر", "واتھَن واجِنیٚہ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَر " }, raceinfobox_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "پالماریس", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "ریس" }, infobox_women_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "پالماریس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","ریس" }, unit_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن وول", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن واجیٚنؠ", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftableII_translate={"ریسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } ekisscbv5hi240la94rrd7w390snxfh 146325 146318 2026-07-29T19:46:52Z آیات محراج 11062 146325 Scribunto text/plain --Contains all translation for Module:Cycling race --To export to a local wiki use --https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter --== IV) Translation == return { startlist_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlist_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "پوزِشَن", "کھیل ڈایرؠکٹَر:", "ڈی اؠن اؠف", "اؠف سی", "اؠن پی", "ڈی کیٛو", "سَڑَک", "وَقٕت", "تہٕ", "ٹیٖمَس بَغٲر", "ہٲوِو", "کھٔٹِتھ " }, startlisttable_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, startlisttable_women_translate={"شِرکَتھ کَرَن والؠن ہِنٛز فِہرِست", "نَمبَر", "سایکِل سَوار", "ٹیٖم", "پوزِشَن" }, race_reference_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, race_reference_women_translate={"ذٔریعہٕ: ", "ذٔرایعہٕ: " }, --title problem calendar_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, calendar_women_translate={"یوٗ سی آی کیلِنڈَر", "تٲریٖخ", "نَمبَر", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "عوٚموٗمی کِلاسِفِکیشَن لیٖڈَر", "یوٗ سی آی وِمینز ؤرٕلڈ ٹوٗر", "", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "قۄمی چیمپیَن شِپ", "سَڑَک ریس", "اِنفِرٲدی ٹایِم ٹرایل", "یوٗ سی آی پرو سیٖریٖز", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, victories_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن وول", "سِٹیج", "پرولوگ" }, victories_women_translate={"عوٚموٗمی کِلاسِفِکیشَن", "کامیٲبی", "تٲریٖخ", "ریس", "مُلُک", "کِلاس", "زینَن واجیٚنؠ", "سِٹیج", "پرولوگ" }, listofstagesclassification_translate={"غٲر مَنسوٗب", "ٲخری" }, listofstagesclassification_women_translate={"غٲر مَنسوٗب", "ٲخری" }, stageinfobox_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن وٲلؠ ریسَر", "واتھَن وٲلؠ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَ" }, stageinfobox_women_translate={"ریسِک تَفصیٖل", "ریس", "قٕسٕم ", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "ریسِچ شُروٗعات", "مَنزِل", "شُروٗع کَرَن واجِنیٚہ ریسَر", "واتھَن واجِنیٚہ ریسَر", "اَوسط رَفتار", "مُدَتھ", "سِٹیج نَتیٖجٕہ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "جَنٛگجوٗ", "سِٹیج پَتہٕ عوٚموٗمی کِلاسِفِکیشَن", "لیٖڈَر", "دۆیِم", "ترٛیٚیِم", "سِٹیج پَتہٕ ثانوی کِلاسِفِکیشَن ", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم", "پۄیِنٛٹَن ہُنٛد ٹیٖم", "تَصویٖر", "کیپشَن", "کٲڑ", "حِصہٕ دار نَظَر", "دَستاویٖزات", "سیٖما کوپی", "سیٖما پینٹانی", "اَزوٗری دِ اِٹالِیا", "فِراگ", "تھَزَر " }, raceinfobox_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "نٔتیٖجہٕ", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, raceinfobox_women_translate={"پرؠتھ ؤری", "پرؠتھ رؠتھ", "سَرکٲرؠ جاے", "کھیل", "تَخلیٖق", "اِختِتام", "اؠڈِشَنَن ہُنٛد تِعداد", "فِریٖکوینسی", "قٕسٕم ", "جاے", "جاے", "مُنظِم", "مُنظِمین", "سَرکٲرؠ وؠب سایِٹ", "زٲژ", "زٲژٕ", "سٔرکِٹ", "سَرکٲرؠ ناو", "ریسِک تَفصیٖل", "نٔتیٖجہٕ", "جَدیٖد اؠڈِشَن", "ساروِی کھۄتہٕ زِیادٕ کامیٲبی", "مَوجوٗدٕ ریس", " ٲخری ریسہِ خٲطرٕ ", " یِنہٕ والیِ ریسہِ خٲطرٕ ", "دَستاویٖزات", "ریس ڈایرؠکٹَر", "ریس ڈایرؠکٹَر", "کامیٲبی", "کامیٲبی", "مَنٛز", "مُلُک", "مُلُک" }, riderinfobox_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, riderinfobox_women_translate={"زامُت ناو", "زامُت ناو", "عُرفی ناو", "عُرفی ناو", "سَرکٲرؠ ناو", "سَرکٲرؠ ناو", "کۄٹ ناو", "کۄٹ ناو", "پٲدٲیِش", "مَرُن", "مُلُک", "مُلُک", "مَوجوٗدٕ ٹیٖم", "مَوجوٗدٕ ٹیٖم", "خاصِیَتھ", "خاصِیَتھ", "لیٹَرَلِٹی", "خُوٗنُک قٕسٕم ", "قَد", "وَزَن", "اِنام", "اِنام", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹ ٹیٖم", "مینؠجمینٹٕک ؤری", "اَمیچَر ٹیٖم", "اَمیچَر ٹیٖم", "اَمیچَر ؤری", "غٲر یوٗ سی آی ٹیٖم", "غٲر یوٗ سی آی ٹیٖم", "یوٗ سی آی نؠبَر ؤری", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَر ؤری", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ٹیٖم", "یوٗ سی آی ؤری", "اَہَم کامیٲبی", "ماوٗنٹین بایک ٹیٖم", "ماوٗنٹین بایک ٹیٖم", "سایکِلوکراس ٹیٖم", "سایکِلوکراس ٹیٖم", "ٹرٛیک ٹیٖم", "ٹرٛیک ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "پیشَہ وَرانَہ ٹیٖم", "مؠڈَل", "ؤری", "ؤری", "ؤری", "سَب ٹایٹَل", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ٹیٖم ڈایرؠکٹَر", "قۄمی ڈایرؠکٹَر ؤری", "سایکِل سَوارٕچ مَعلوٗمات", "ماوٗنٹین بایک", "سایکِلوکراس", "ٹرٛیک" }, teaminfobox_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, teaminfobox_women_translate={"مَعلوٗمات", "کھیل", "رِیاسَتھ", "رِیاسَتھ", "یوٗ سی آی کوڈ", "یوٗ سی آی کوڈ", "مُلُک", "مُلُک", "تَخلیٖق", "خَتٕم", "سیٖزَن", "مَنٛز", "سَرکٲرؠ صَفہٕ", "جَنرَل ڈایرؠکٹَر", "جَنرَل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "کھیل ڈایرؠکٹَر", "فریم کۄرمُت", "ناو", "جٔرسی", "مَوجوٗدٕ سیٖزَن", " ٲخری سیٖزَن خٲطرٕ ", " یِنہٕ والؠس سیٖزَن خٲطرٕ ", "سایکِل بَرینڈ", "سایکِل بَرینڈ", "بَجَٹ", "سِپانٛسَر", "سِپانٛسَر" }, getSquadTableColumn_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, getSquadTableColumn_women_translate={"سایکِل سَوار", "پٲدٲیِشٕچ تٲریٖخ", "گۄڈنیُٛک ٹیٖم", "نوٹ", "نوٹ", "مُلُک", "ٹیٖمٕچ فِہرِست" }, infobox_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "نٔتیٖجہٕ", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "ریس" }, infobox_women_translate={"ریسِک تَفصیٖل", "ریس", "مُقابلہٕ", "مُقابلہٕ", "سِٹیج", "تٲریٖخ", "تٲریٖخ", "فٲصلہٕ ", "مُلُک", "مُلُک", "شُروٗعات", "مَنزِل", "ٹیٖم", "دَرٕج", "مُکَمَل", "اَوسط رَفتار", "قیٖمَتھ", "نٔتیٖجہٕ", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "تَصویٖر", "سَب ٹایٹَل", "نَقشٕہ", "خاص ۱", "خاص ۲", "دَستاویٖزات", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ", "تھَزَر ", "عِلاقہٕ", "ریس", "اؠڈِشَن", "جاے", "جاے", "مُنظِم", "مُنظِمین", "زینَن وٲلؠ ", "اِنفِرٲدی", "جَوان", "ٹیٖم ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ ", "مُلُک", "مُلُک سَب ۲۳", "مؠڈَل", "ویلوڈروم", "ویلوڈروم ", "ٹیٖمٕچ کِلاس", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل", "عوٚموٗم", "شَہَر", "شَہَر", "سیٖزَنٕچ تَفصیٖل", "چیمپیَن شِپ تَفصیٖل","ریس" }, unit_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, unit_women_translate={"", "گٲنٛٹہٕ ", "' ", '"', ' کِلوٗمیٖٹَر/گٲنٛٹہٕ ', " پۄیِنٛٹ", " پۄیِنٛٹ", "کِلوٗمیٖٹَر", "میٖٹَر", "کِلوٗگِرام","سینٹی میٖٹَر" }, headoftable_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن وول", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftable_women_translate={"سِٹیج", "تٲریٖخ", "سِٹیج شَہَر", "فٲصلہٕ (کِلوٗمیٖٹَر)", "سِٹیج زینَن واجیٚنؠ", "عوٚموٗمی لیٖڈَر", "تھَزَر (میٖٹَر)" }, headoftableII_translate={"ریسَر", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableII_women_translate={"سایکِل سَوار", "مُلُک", "ٹیٖم", "وَقٕت", "وَقٕتُک فَرَق", "رَفتار", "پۄیِنٛٹ", "سِٹیج کِلاسِفِکیشَن", "عوٚموٗمی کِلاسِفِکیشَن", "پۄیِنٛٹ کِلاسِفِکیشَن", "پَہاڑ کِلاسِفِکیشَن", "سِپرِنٹ کِلاسِفِکیشَن", "بؠہتٔریٖن جَوان کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "ٹیٖم کِلاسِفِکیشَن", "مُشتَرکہٕ کِلاسِفِکیشَن", "جَنٛگجوٗیانہٕ کِلاسِفِکیشَن", "سَب ۲۳ کِلاسِفِکیشَن", "یوٗ سی آی کِلاسِفِکیشَن" }, headoftableIII_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "یوٗ سی آی وِمینز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "زَنانَن ہُنٛد اَمیچَر سایکِلِنگ ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "سِپانٛسَر ناوس سٟتؠ قۄمی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "اَمیچَر، کِلَب یا عِلاقٲیی ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "ڈی سی یوٗ ایلیٖٹ ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی ٹرٛیک ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی سایکِلوکراس ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی اؠم ٹی بی ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "یوٗ سی آی بی اؠم اؠکس ٹیٖم", "عِلاقٲیی ٹیٖم", "عِلاقٲیی ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ایلیٖٹ ۲ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز ؤرٕلڈ ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم", "یوٗ سی آی وِمینز پرو ٹیٖم" }, headoftableIII_women_translate={"ٹیٖمُک ناو", "مُلُک", "کوڈ", "ؤرٕلڈ ٹیٖم", "ؤرٕلڈ ٹیٖم", "پرو ٹیٖم", "پرو ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "پیشَہ وَرانَہ کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "کَنٹینینٹَل ٹیٖم", "قۄمی ٹیٖم", "قۄمی ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "عِلاقٲیی تہٕ کِلَب ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "پیشَہ وَرانَہ سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "اَمیچَر سایکِلِنگ ٹیٖم", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ اَکھ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ زٕ", "کھیلِک گُرُپ ترٛؠ", "کھیلِک گُرُپ ترٛؠ", "مِکسٕڈ ٹیٖم", "مِکسٕڈ ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہِنٛز ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "زَنانَن ہُنٛد اَمیچَر ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "یوٗ سی آی وِمینز کَنٹینینٹَل ٹیٖم", "سَب ۲۳", "سَب ۱۹", "بی" }, --trick to be added listofwinners_translate={"ؤری", "زینَن وول", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, listofwinners_women_translate={"ؤری", "زینَن واجیٚنؠ", "دۆیِم", "ترٛیٚیِم", "پۄیِنٛٹ", "پَہاڑ", "سِپرِنٹ", "جَوان", "جَنٛگجوٗیانہٕ", "مُشتَرکہٕ", "ٹیٖم", "دَرمِیٲنی سِپرِنٹ", "باقٲیِدگی", "ٹیٖم پۄیِنٛٹ", "فِراگ", "اَزوٗری دِ اِٹالِیا", "نَوآموز", "اَمیچَر", "قۄمِیَتھ" }, riderranking_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, riderranking_women_translate={"ؤری", "یوٗ سی آی رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "ؤرٕلڈ کَپ", "یوٗ سی آی ؤرٕلڈ ٹوٗر", "یوٗ سی آی یوٗرَپ ٹوٗر", "یوٗ سی آی ایشِیا ٹوٗر", "یوٗ سی آی اوشینِیا ٹوٗر", "یوٗ سی آی اَمرٛیٖکا ٹوٗر", "یوٗ سی آی اَفریٖکا ٹوٗر", "ؤرٕلڈ رینکِنٛگ", "یوٗ سی آی ؤرٕلڈ کیلِنڈَر", "یوٗ سی آی پرو ٹوٗر", "یوٗ سی آی ؤرٕلڈ رینکِنٛگ", "ؤرٕلڈ کَپ", "سُپَر پریسٹیٖج پیرنوڈ", "چیلینج ڈیسگرینج کولمبو", "ٹیٖم رینکِنٛگ", "رینکِنٛگَس مَنٛز بؠہتٔریٖن سایکِل سَوار", "رینکِنٛگ", "بؠہتٔریٖن سایکِل سَوار" }, type_of_stage_translate={plain = "ہموار سِٹیج", hilly="پَہٲڑی سِٹیج", inter='دَرمِیٲنی پَہٲڑی سِٹیج', mount='پَہاڑ سِٹیج', time_prologue='پرولوگ', time_team='ٹیٖم ٹایِم ٹرایل', time_indiv='اِنفِرٲدی ٹایِم ٹرایل', uphill='ٹایِم ٹرایل خَسُن', rest='آرامُک سِٹیج' }, func_prologue_translate={"پرولوگ", "سِٹیج" }, black_list={} } sxs1s9q63wvl68mrqzem500gzqe4ya5 وۄتلاو 0 31904 146286 2026-07-29T18:41:06Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1366154951|Evolution]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146286 wikitext text/x-wiki '''وۄتلُن کرٛم''' چھُ زوٗ ہیٛٔژ آبٲدی ہنٛزن وراثتی خصوصیاتن منٛز اکہٕ پتہٕ بییہٕ پیٖرِ منٛز بدلاوس ونان۔<ref>{{ویب حَوالہٕ|year=2016|title=Evolution Resources|url=http://www.nas.edu/evolution/index.html|url-status=live|archive-url=https://web.archive.org/web/20160603230514/http://www.nas.edu/evolution/index.html|archive-date=3 June 2016|publisher=[[National Academies of Sciences, Engineering, and Medicine]]|location=Washington, D.C.}}</ref> یہٕ چھ تمہٕ وِزِ سپدان ییٚلہٕ وۄتلُن کرٛم یِتھ کٔنؠ زن [[جینی ییٖرُن]] تہٕ قۄدرتی چُناو چھُ جینی بؠنؠر پؠٹھ کٲم کران، ییٚمہٕ کہِ وجہہ سٕتؠ چھُ آبادی منٛز کم یا زیادٕ خاص خصوصیات ینہٕ والؠن پیٖرؠن منٛز عام گژھان۔<ref name="Scott-Phillips-2014">{{Cite journal|last=Scott-Phillips|first=Thomas C.|last2=Laland|first2=Kevin N.|author-link2=Kevin Laland|last3=Shuker|first3=David M.|last4=Dickins|first4=Thomas E.|last5=West|first5=Stuart A.|author-link5=Stuart West|display-authors=3|date=May 2014|title=The Niche Construction Perspective: A Critical Appraisal|journal=[[Evolution (journal)|Evolution]]|volume=68|issue=5|pages=1231–1243|bibcode=2014Evolu..68.1231S|doi=10.1111/evo.12332|issn=0014-3820|pmc=4261998|pmid=24325256|quote=Evolutionary processes are generally thought of as processes by which these changes occur. Four such processes are widely recognized: natural selection (in the broad sense, to include sexual selection), genetic drift, mutation, and migration (Fisher 1930; Haldane 1932). The latter two generate variation; the first two sort it.}}</ref> وۄتلُن کرٛم کہِ کارکردگی سٕتؠ زوٗدیُٛت نظام کس ہر سٕترس پؠٹھ چھ [[زٲژٕ ہژھ]] زؠوان۔ o0mcrkmlry7t0qudtao41yi8zbo63tt 146287 146286 2026-07-29T18:41:49Z Humzah Rouf Phu 12982 146287 wikitext text/x-wiki {{مولوٗماتھ}} '''وۄتلُن کرٛم''' چھُ زوٗ ہیٛٔژ آبٲدی ہنٛزن وراثتی خصوصیاتن منٛز اکہٕ پتہٕ بییہٕ پیٖرِ منٛز بدلاوس ونان۔<ref>{{ویب حَوالہٕ|year=2016|title=Evolution Resources|url=http://www.nas.edu/evolution/index.html|url-status=live|archive-url=https://web.archive.org/web/20160603230514/http://www.nas.edu/evolution/index.html|archive-date=3 June 2016|publisher=[[National Academies of Sciences, Engineering, and Medicine]]|location=Washington, D.C.}}</ref> یہٕ چھ تمہٕ وِزِ سپدان ییٚلہٕ وۄتلُن کرٛم یِتھ کٔنؠ زن [[جینی ییٖرُن]] تہٕ قۄدرتی چُناو چھُ جینی بؠنؠر پؠٹھ کٲم کران، ییٚمہٕ کہِ وجہہ سٕتؠ چھُ آبادی منٛز کم یا زیادٕ خاص خصوصیات ینہٕ والؠن پیٖرؠن منٛز عام گژھان۔<ref name="Scott-Phillips-2014">{{Cite journal|last=Scott-Phillips|first=Thomas C.|last2=Laland|first2=Kevin N.|author-link2=Kevin Laland|last3=Shuker|first3=David M.|last4=Dickins|first4=Thomas E.|last5=West|first5=Stuart A.|author-link5=Stuart West|display-authors=3|date=May 2014|title=The Niche Construction Perspective: A Critical Appraisal|journal=[[Evolution (journal)|Evolution]]|volume=68|issue=5|pages=1231–1243|bibcode=2014Evolu..68.1231S|doi=10.1111/evo.12332|issn=0014-3820|pmc=4261998|pmid=24325256|quote=Evolutionary processes are generally thought of as processes by which these changes occur. Four such processes are widely recognized: natural selection (in the broad sense, to include sexual selection), genetic drift, mutation, and migration (Fisher 1930; Haldane 1932). The latter two generate variation; the first two sort it.}}</ref> وۄتلُن کرٛم کہِ کارکردگی سٕتؠ زوٗدیُٛت نظام کس ہر سٕترس پؠٹھ چھ [[زٲژٕ ہژھ]] زؠوان۔ ==حوالہٕ== kak2ba3jlvqdlhjvi1wci5po9txs9n1 Module:Cycling race/data 828 31905 146289 2026-07-29T18:44:17Z آیات محراج 11062 Created page with "--Contains all constants for Module:Cycling race return { class_sort={["Q22231106"]='01', ["Q22231107"]='01', ["Q23005601"]='01', ["Q23005603"]='01', ["Q22231115"]='01', -- 1.UWT, 2.UWT, 1.WWT, 2.WWT, 2.Ncup ["Q22231114"]='02', ["Q22231109"]='03', ["Q22231108"]='04', ["Q22231112"]='05', ["Q22231110"]='06', -- 1.Ncup, 2.HC, 1.HC, 2.1, 1.1 ["Q22231113"]='07', ["Q22231117"]='07', ["Q22231111"]='08', ["Q22231116"]='08', ["Q22231119"]='09', --2.2, 2.2U, 1.2, 1.2U, CN..." 146289 Scribunto text/plain --Contains all constants for Module:Cycling race return { class_sort={["Q22231106"]='01', ["Q22231107"]='01', ["Q23005601"]='01', ["Q23005603"]='01', ["Q22231115"]='01', -- 1.UWT, 2.UWT, 1.WWT, 2.WWT, 2.Ncup ["Q22231114"]='02', ["Q22231109"]='03', ["Q22231108"]='04', ["Q22231112"]='05', ["Q22231110"]='06', -- 1.Ncup, 2.HC, 1.HC, 2.1, 1.1 ["Q22231113"]='07', ["Q22231117"]='07', ["Q22231111"]='08', ["Q22231116"]='08', ["Q22231119"]='09', --2.2, 2.2U, 1.2, 1.2U, CN ["Q22231118"]='13', ["Q23015458"]='15', ["Q74275176"]='03', ["Q74275170"]='04' }, amateurcat={Q114864716=true, Q20652655=true, Q26849121=true, Q20639848=true, Q20653570=true}, -- DCU, AmMen, AmWomen, club, region nationalcat={Q54660600=true, Q23726798=true, Q99658502=true, Q20738667=true, Q54555994=true, Q26213387=true, Q46135307=true}, -- Team, Elit, B, U23, U19, Olympic team, sport competition teamCats = { -- UCI professional men's teams Q6154783=true, -- WorldTeam Q20638319=true, -- ProTeam (2005-2014) Q78464255=true, -- ProTeam (2020-) Q382927=true, -- UCI Professional Continental Team (2005-2019) Q1756006=true, -- UCI Continental Team Q20639847=true, -- professional cycling team Q20653563=true, -- Groupe Sportif I Q20653564=true, -- Groupe Sportif II Q20653566=true, -- Groupe Sportif III -- UCI professional women's teams Q80425135=true, -- UCI Women’s WorldTeam Q130604574=true, -- UCI Women’s ProTeam Q119942457=true, -- UCI Women's Continental Team (2020-) Q2466826=true, -- UCI Women’s Team (-2019) Q119948768=true, -- UCI Women's Elite-2 Team -- other non-road UCI teams Q2466819=true, -- UCI Track Team Q39885628=true, -- UCI Cyclocross Team Q2466804=true, -- UCI MTB Team Q39885630=true, -- UCI BMX Team -- national teams Q54660600=true, -- national cycling team "any", without specifying additional parameters" Q23726798=true, -- national cycling team Elit Q99658502=true, -- national cycling team "B" Q20738667=true, -- national cycling team U23 Q54555994=true, -- national cycling team U19 Q26213387=true, -- olympic team Q46135307=true, -- nation at sport competition in multisport games Q28492441=true, -- national cycling team with sponsor name Q117280678=true, -- mixt cycling team --amateur, club and region (not merged). Each type of team is output in a separate block Q114864716=true, -- DCU Elite Team Q20652655=true, -- amateur cycling team Q26849121=true, -- Women's amateur cycling team Q20639848=true, -- club cycling team Q20653570=true, -- region cycling team }, natTeamCats= {Q54660600=true, Q23726798=true, Q99658502=true, Q20738667=true, Q54555994=true, Q26213387=true, Q46135307=true}, -- Team, Elit, B, U23, U19, Olympic team, sport competition womenCats = {Q80425135 = true, Q119942457 = true, Q2466826 = true, Q26849121 = true, Q119948768=true, Q26849121=true}, -- WorldTeam, Continental, WomensTeam, Elite-2, amateur womenNcRoadtable= {Q934877=true, Q50064341=true,Q50061750=true,Q31271454=true,Q54315111=true,Q30894544=true, Q66082905=true,Q65965631=true,Q45083914=true,Q31271492=true,Q43286073=true,Q55185740=true,Q65371835=true, Q31094517=true,QQ27043949=true, Q30332924=true,Q30349395=true,Q53869580=true,Q31505332=true,Q30349364=true, Q31271605=true,Q43745198=true,Q30332844=true,Q30332239=true,Q30349468=true, Q30332737=true,Q55221006=true, Q32161692=true,Q33083546=true,Q30332988=true,Q30556990=true,Q32604159=true,Q30557561=true,Q64624273=true, Q30333102=true, Q31271010=true,Q31276622=true,Q45084873=true,Q32609249=true,Q31271644=true,Q31298588=true, Q45171831=true,Q30332625=true,Q30349432=true,Q31092105=true,Q30577809=true,Q30349499=true, Q45172931=true }, womenNcITTtable={Q2630733=true,Q50063172=true,Q50062728=true,Q31271381=true,Q54314912=true,Q30894543=true, QQ31093255=true,Q31271615=true,Q29642128=true,Q30349411=true,Q53869589=true, Q31506358=true,Q30349371=true,Q31271315=true,Q43745136=true,Q30332806=true, Q30332311=true,Q30349480=true,Q30332699=true,Q55220999=true,Q32163348=true, Q33083817=true,Q30333018=true,Q30556121=true,Q32603438=true,Q30557504=true, Q64624304=true,Q30333137=true,Q31271024=true,Q30456396=true,Q45084954=true, Q32611136=true,Q31272638=true,Q31300263=true,Q45171898=true,Q30332486=true, Q30349441=true,Q30584268=true,Q30577837=true,Q30349507=true,Q45172978=true }, menNcRoadtable={Q13603535=true,Q30894537=true,Q23069702=true,Q23889469=true, Q66250756=true, Q22284173=true, Q30967435=true, Q24617852=true, Q27043944=true, Q24628140=true,Q27056312=true,Q62024698=true,Q26960669=true,Q22951216=true, Q27048382=true,Q27133468=true,Q26971246=true,Q24621530=true,Q27048391=true, Q27048399=true,Q27681895=true,Q27681898=true,Q27055629=true,Q26976092=true, Q26985335=true,Q27048419=true,Q27043957=true,Q27055631=true,Q24050070=true, Q26973043=true,Q27133456=true,Q26834056=true,Q27043924=true,Q27048374=true, Q26972921=true,Q27043324=true,Q27056303=true,Q27042502=true,Q27042790=true, Q27133451=true,Q27056305=true,Q24731826=true,Q27230607=true,Q22680990=true, Q27043353=true,Q27048408=true,Q22303186=true,Q27042375=true,Q27133460=true, Q27133465=true,Q22680842=true,Q27230606=true,Q27230610=true,Q26972715=true, Q24718413=true,Q3754283=true,Q27230604=true,Q27043932=true,Q27230611=true, Q24733085=true,Q27055624=true,Q24731406=true,Q27056308=true,Q112678993=true }, menNcITTtable={Q2557477=true,Q33315723=true,Q22284183=true, Q31023710=true, Q24618030=true, Q27043945=true,Q24628162=true,Q27056389=true,Q26960674=true, Q5147941=true,Q27048383=true,Q27133626=true,Q26971248=true,Q24621627=true, Q27793536=true,Q27048400=true,Q27793536=true,Q27793496=true,Q27055699=true, Q26976108=true, Q26985336=true, Q27048421=true,Q27043958=true,Q27055700=true, Q26973044=true,Q27133617=true,Q26834055=true,Q27043925=true,Q24050074=true, Q27048375=true,Q26972922=true,Q27043325=true,Q27056383=true,Q27042506=true, Q17319607=true,Q27133615=true,Q17005940=true,Q24731829=true,Q27235634=true, Q22680998=true,Q3754388=true,Q27048410=true,Q22303252=true,Q27042376=true, Q27133620=true,Q27133623=true,Q22680863=true,Q7382088=true,Q27235638=true, Q26972716=true,Q24718416=true,Q27043341=true,Q27230443=true,Q27043933=true, Q27235639=true,Q24733090=true,Q27055696=true,Q24731482=true,Q27056386=true }, -- Class of a cycling race. Class is: 1.UWT, 2.UWT, 1.HC, ... add new classes, no problem --0 = champ, 1= single day race, 2=stage race class_dic = { Q60669124=1, -- Am ("Q60669124) Q60181400=1, -- NE ("Q60181400) Q106282769=1, -- DCU licensløb ("Q106282769) Q106636610=1, -- CDC ("Q106636610) Q106636611=1, -- SPP ("Q106636611) Q22231119=0, -- CN ("Q22231119) Q116982664=0, -- CR ("Q116982664) Regional Championship Q22231118=0, -- CC ("Q22231118) Q106636612=0, -- CM ("Q106636612) Q114708195=1, -- Jr (Q114708195) Junior cycling race (not included in Nations Cup) Q124788734=0, -- JC (Jeux Continentaux) Q18536594=1, -- Olympic games Q23015458=1, -- CDM ("Q23015458) Q114165572=1, -- Prof ("Q114165572) opposite of "Am" Q114169745=1, -- 6D ("Q114169745) six-day racing Q22231110=1, -- 1.1 ("Q22231110) Q22231111=1, -- 1.2 ("Q22231111) Q30336909=1, -- 1.3 ("Q30336909) Q30339152=1, -- 1.4 ("Q30339152) Q98686837=1, -- 1.5 ("Q98686837) Q106636603=1, -- 1.6 ("Q106636603) Q60669131=1, -- 1.7.1 ("Q60669131) Q106636613=1, -- 1.7.2 ("Q106636613) Q106636614=1, -- 1.8 ("Q106636614) Q106636615=1, -- 1.9.1 ("Q106636615) Q106636616=1, -- 1.9.2 ("Q106636616) Q115563610=1, -- 1.1Jr (Q115563610) Junior cycling race (not included in Nations Cup) Q115563611=1, -- 1.2Jr (Q115563611) Junior cycling race (not included in Nations Cup) Q22231116=1, -- 1.2U ("Q22231116) Q22231114=1, -- 1.Ncup ("Q22231114) Q22231108=1, -- 1.HC ("Q22231108) Q74275170=1, -- 1.Pro ("Q74275170) Q101069484=1, -- 1.PT ("Q101069484) Q106637289=1, -- 1.HIS ("Q106637289) Q22231106=1, -- 1.UWT ("Q22231106) Q23005601=1, -- 1.WWT ("Q23005601) Q22231112=2, -- 2.1 ("Q22231112) Q22231113=2, -- 2.2 ("Q22231113) Q101052391=2, -- 2.3 ("Q101052391) Q101052353=2, -- 2.4 ("Q101052353) Q29866603=2, -- 2.5 ("Q29866603) Q101049923=2, -- 2.6 ("Q101049923) Q106636604=2, -- 2.7.1 ("Q106636604) Q106636606=2, -- 2.7.2 ("Q106636606) Q106636607=2, -- 2.8 ("Q106636607) Q106636608=2, -- 2.9.1 ("Q106636608) Q106636609=2, -- 2.9.2 ("Q106636609) Q115563612=2, -- 2.1Jr (Q115563612) Junior cycling race (not included in Nations Cup) Q115563613=2, -- 2.2Jr (Q115563613) Junior cycling race (not included in Nations Cup) Q22231117=2, -- 2.2U ("Q22231117) Q22231115=2, -- 2.Ncup ("Q22231115) Q22231109=2, -- 2.HC ("Q22231109) Q74275176=2, -- 2.Pro ("Q74275176) Q101052547=2, -- 2.PT ("Q101052547) Q106637288=2, -- 2.HIS ("Q106637288) Q22231107=2, -- 2.UWT ("Q22231107) Q23005603=2, -- 2.WWT ("Q23005603) Q115242496=1, -- C1 ("Q115242496) Cyclo-cross Q115242507=1, -- C2 ("Q115242507) Cyclo-cross Q115242575=1, -- C3 ("Q115242575) Cyclo-cross }, UCI_Circuits = { Q1194340=true, -- Europa Q1063423=true, -- Asia Q1063430=true, -- America Q268357=true, -- Africa Q1039648=true, -- Oceania Q71580493=true, -- ProSeries Q1060092=true, -- Challenge Desgrange-Colombo Q27792093=true, -- Super Prestige Pernod Q428019=true, -- Road World Rankings Q786414=true, -- Road World Cup Q1329578=true, -- ProTour Q12270097=true, -- World Calendar Q635366=true, -- World Tour Q1693153=true, -- Women's Road World Rankings Q21075974=true, -- Wonen World Tour Q1517550=true, -- Women's Road World Cup Q1536617=true, -- Under 23 Nations' Cup Q2125347=true, -- Men Juniors Nations’ Cup Q23306961=true -- Women Junior Nations’ Cup }, stages = { Q18131152=true, Q20646667=true, Q20646670=true, Q20680270=true, Q20646668=true, Q20679712=true, Q2348250=true, Q2266066=true, Q485321=true }, standardtablecss_part1="border:1px solid var(--border-color-subtle, #c8ccd1); margin:0 0 0.5em 0;".. "padding:5px; clear:left; text-align:", standardtablecss_part2="; font-size:85%; line-height:1.6em;", bg_color_table = { ["Q24257871"] ="#FFFF99" , -- Jersey yellow.svg (General) ["Q24257763"] ="#FFC0CB" , -- Jersey pink.svg (General) ["Q24257872"] ="#FF8666" , -- Jersey red.svg (General) ["Q24687408"] ="#99CBFF" , -- Jersey blue.svg (General) ["Q24258056"] ="#FFD030" , -- Jersey orange.svg (General) ["Q26696171"] ="#FFFFFF" , -- Jersey white.svg (General) ["Q24258125"] ="#BFFF80" , -- Jersey green 2.svg (General) ["Q24257991"] ="#FFD030" , -- Jersey gold.svg (General) ["Q24645208"] ="#90EE90" , -- Jersey green.svg (General) ["Q26945271"] ="#90EE90" , -- MaillotVolta.png (General) ["Q26945272"] ="#BF80FF" , -- Jersey violet.svg (General) ["Q29982321"] ="#FFFF99" , -- Jersey combined.svg (General) ["Q29594434"] ="#87CEEB" , -- Jersey green lines volta.svg (General) ["Q30132459"] ="#FFFF99" , -- Jersey yellow-bluebar.svg (General) ["Q85230888"] ="#FFD030" , -- Jersey orange.svg (General Tour Colombia) ["Q24645209"] ="#90EE90" , -- Jersey green.svg (Points) ["Q25831179"] ="#FFFFFF" , -- Jersey white.svg (Points) ["Q26919974"] ="#FF8666" , -- Jersey red.svg (Points) ["Q24687409"] ="#99CBFF" , -- Jersey blue.svg (Points) ["Q25265938"] ="#BF80FF" , -- Jersey violet.svg (Points) ["Q641083"] ="#BF80FF" , -- Jersey violet.svg (Points), Giro ["Q27114205"] ="#C0C0C0" , -- Jersey black.svg (Points) ["Q28546656"] ="#FFFF99" , -- Jersey yellow.svg (Points) ["Q28820618"] ="#87CEEB" , -- MaillotCyan.PNG (Points) ["Q29982764"] ="#FFD030" , -- Jersey orange.svg (Points) ["Q43276992"] ="#FFC0CB" , -- Jersey pink.svg (Points) ["Q47945989"] ="#6495ED" , -- Jersey dark blue.svg (Points) ["Q56449834"] ="#E0FFFF" , -- Jersey blue dotted.png (Points) ["Q56449834"] ="#DDDDDD" , -- Jersey silver.svg (Points) ["Q65557843"] ="#FF8666" , -- Jersey red-blackdots.svg (Points) ["Q62471242"] ="#99CBFF" , -- Jersey blue lines volta.svg (Points) ["Q65665708"] ="#FFC0CB" , -- Jersey polkadot.svg (Points) ["Q25265958"] ="#FFC0CB" , -- Jersey polkadot.svg (Mountain) ["Q25265959"] ="#E0FFFF" , -- Jersey blue dotted.png (Mountain) ["Q25265960"] ="#FFC0CB" , -- Jersey climbing Dauphine.png (Mountain) ["Q27670178"] ="#FF8666" , -- Jersey red.svg (Mountain) ["Q27670182"] ="#90EE90" , -- Jersey green.svg (Mountain) ["Q27670174"] ="#FFD030" , -- Jersey orange.svg (Mountain) ["Q24790519"] ="#C0C0C0" , -- Jersey grey.svg (Mountain) ["Q27670105"] ="#C0C0C0" , -- Jersey blackdots.png (Mountain) ["Q28604413"] ="#99CBFF" , -- Jersey blue.svg (Mountain) ["Q25266023"] ="#F5DEB3" , -- Jersey brown.svg (Mountain) ["Q27670126"] ="#FF8666" , -- Jersey granate.svg (Mountain) ["Q25831602"] ="#FF69B4" , -- Jersey rosa.svg (Mountain) ["Q29168665"] ="#FFC0CB" , -- Jersey pink.svg (Mountain) ["Q29823248"] ="#FFFFFF" , -- Jersey white.svg (Mountain) ["Q28820591"] ="#F5DEB3" , -- Jersey red green.svg (Mountain) ["Q36859499"] ="#CCFFCC" , -- Jersey greendots.svg (Mountain) ["Q33060977"] ="#C0C0C0" , -- Jersey black.svg (Mountain) ["Q47537141"] ="#87CEEB" , -- MaillotCyan.PNG (Mountain) ["Q50822370"] ="#FFC0CB" , -- Jersey red lines volta.svg (Mountain) ["Q56246573"] ="#C0C0C0" , -- Jersey black white dotted.svg (Mountain) ["Q85231689"] ="#99CBFF" , -- Jersey blue.svg (Mountain) ["Q99864759"] ="#99CBFF" , -- Jersey white dots on light blue.svg (Mountain) ["Q64441563"] ="#99CBFF" , -- Jersey white dots on blue.svg (Mountain) ["Q129835665"] ="#C0C0C0" , -- Blackjerseycolordots.svg (Mountain) ["Q26858731"] ="#FFFFFF" , -- Jersey white.svg (Combinated) ["Q28823004"] ="#FFFF99" , -- Jersey combined.svg (Combinated) ["Q28604421"] ="#FFD030" , -- Jersey orange.svg (Combinated) ["Q43098388"] ="#99CBFF" , -- Jersey blue.svg (Combinated) ["Q24790627"] ="#FF8666" , -- Jersey red.svg (Sprints) ["Q25831754"] ="#99CBFF" , -- Jersey blue.svg (Sprints) ["Q26806427"] ="#90EE90" , -- Jersey green.svg (Sprints) ["Q27478100"] ="#C0C0C0" , -- Jersey black.svg (Sprints) ["Q28060932"] ="#BF80FF" , -- Jersey violet.svg (Sprints) ["Q28483869"] ="#FFFF99" , -- Jersey yellow.svg (Sprints) ["Q33134180"] ="#FF69B4" , -- Jersey rosa.svg (Sprints) ["Q42532690"] ="#E0FFFF" , -- Jersey light blue.svg (Sprints) ["Q43278032"] ="#FFC0CB" , -- Jersey polkadot.svg (Sprints) ["Q47513277"] ="#FFFFFF" , -- Jersey white.svg (Sprints) ["Q64814800"] ="#C0C0C0" , -- Jersey grey.svg (Sprints) ["Q65614883"] ="#FFFFFF" , -- Jersey white-black strip.png (Sprints) ["Q50822390"] ="#FFD030" , -- Jersey orange lines volta.svg (Sprints) ["Q119496153"] ="#FFFF99" , -- Jersey yellow.svg (Best young) ["Q62471233"] ="#FFD030" , -- Jersey orange lines volta.svg (Best young) ["Q640430"] ="#FFFFFF" , -- Jersey white.svg (Best young) ["Q26919967"] ="#90EE90" , -- Jersey green.svg (Best young) ["Q26209148"] ="#99CBFF" , -- Jersey blue.svg (Best young) ["Q26696523"] ="#FFD030" , -- Jersey orange.svg (Best young) ["Q29229790"] ="#BF80FF" , -- Jersey violet.svg (Best young) ["Q29982765"] ="#FFC0CB" , -- Jersey pink.svg (Best young) ["Q33134078"] ="#FF8666" , -- Jersey red.svg (Best young) ["Q38929482"] ="#FFFF99" , -- Jersey yellow.svg (Best young) ["Q33026698"] ="#FF8666" , -- Jersey red.svg (Best young) ["Q56002706"] ="#87CEEB" , -- MaillotCyan.PNG (Best young) ["Q50822410"] ="#99CBFF" , -- Jersey blue lines volta.svg (Best young) ["Q85231184"] ="#FFFFFF" , -- Jersey white.svg (Best young) ["Q26953919"] ="#8FBC8F" , -- Jersey dark green.svg (Combativity) ["Q29957114"] ="#87CEEB" , -- MaillotCyan.PNG (Combativity) ["Q25265995"] ="#F5DEB3" , -- Jersey red green.svg (Combativity) ["Q29594765"] ="#C0C0C0" , -- Jersey black.svg (Combativity) ["Q30035039"] ="#FFD030" , -- Jersey orange.svg (Combativity) ["Q30035038"] ="#90EE90" , -- Jersey green.svg (Combativity) ["Q48691401"] ="#F2BC38" , -- Jersey Goldenrod.svg (Combativity) ["Q61710200"] ="#FF8666" , -- Jersey Red.svg (Combativity) ["Q31474628"] ="#99CBFF" , -- Jersey blue.svg (Nationality) ["Q27117411"] ="#FF8666" , -- Jersey red.svg (Best suisse) ["Q65935870"] ="#FFFFFF" , -- Jersey white.svg (Best suisse) ["Q27644112"] ="#FFFF99" , -- Jersey yellow number.svg (Team) ["Q116974523"] ="#8FBC8F" , -- Jersey dark green.svg (Points) }, formats = { [''] = { long = 'j F Y', small = 'j M', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, ar = { long = 'j F Y', small = 'j F', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, br = { long = 'j "a viz" F Y', small = 'j "a viz" M', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, ca = { long = 'j "de" F "de" Y', small = 'j "de" M', onlyday = 'j', monthly = 'F "de" Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, cs = { long = 'j. xg Y', small = 'j. M', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, da = { long = 'j. F Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, -- copy of de de = { long = 'j. F Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, eo = { long = 'j"-a de" F Y', small = 'j"-a de" M', onlyday = 'j', monthly = 'F "de" Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, en = { long = 'F d, Y', small = 'M d', onlyday = 'd', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, es = { long = 'j "de" F "de" Y', small = 'j "de" M', onlyday = 'j', monthly = 'F "de" Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, -- copy of ca eu = { long = 'Y".eko" F"k" j', small = 'M"k" j', onlyday = 'j', monthly = 'Y"ko" F', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, fi = { long = 'j. F"ta" Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, fo = { long = 'j. F Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, -- copy of de he = { long = 'j xg Y', small = 'j F', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, hu = { long = 'Y. F j.', small = 'M. j.', onlyday = 'j.', monthly = 'Y. F', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, ja = { long = 'Y年m月d日', small = 'm月d日', onlyday = 'd日', monthly = 'Y年m月', onlymonth = 'm月', onlyyear = 'Y年', nodate = '-' }, lb = { long = 'j. F Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, lv = { long = 'Y. "gada" j. F', small = 'j. M', onlyday = 'j.', monthly = 'Y. "gada" F', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, ru = { long = 'j xg Y', small = 'j M', onlyday = 'j', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, no = { long = 'j. F Y', small = 'j. M', onlyday = 'j.', monthly = 'F Y', onlymonth = 'M', onlyyear = 'Y', nodate = '-' }, -- copy of de pl = { long = 'j xg Y', small = 'j M', onlyday = 'j', monthly = 'F Y', onlymonth = 'F', onlyyear = 'Y', nodate = '—'} }, UCImaster={["women"]='Q1693153', ['WWT']='Q21075974', ['WWC']='Q1517550', ["UWT"]='Q635366', ["europe"]='Q1194340', ["asia"]='Q1063423', ["oceania"]='Q1039648',["america"]='Q1063430' ,["africa"]='Q268357', ["WC"]='Q12270097', ['UPT']='Q1329578', --WC=world calendar, UPT= UCI pro tour ["WR"]='Q21857512', ["UCImen"]="Q428019", ["WCmen"]="Q786414", ["Pernod"]="Q481804",["Desgrange"]="Q1060092" }, UCIYearToQ={ --world ranking, since 2015 ["WR"]= { -- Q21857512 ['2026']='Q136546206', ['2025']='Q131850187', ['2024']='Q124044050',['2023']='Q116203560',['2022']='Q110263921', ['2021']='Q105130221', ['2020']='Q97367360',['2019']='Q60964153', ['2018']='Q47517245', ['2017']='Q30750603',['2016']='Q23056287' }, --world tour ["UWT"] = { -- Q635366 ['2026']='Q123819340', ['2025']='Q123096868', ['2024']='Q116890057', ['2023']='Q106203942', ['2022']='Q106203911', ['2021']='Q97926291', ['2020'] = 'Q66739340', ['2019'] = 'Q56966729',['2018'] = 'Q42317185',['2017'] = 'Q21857932', ['2016'] = 'Q20970765',['2015'] = 'Q18192726',['2014'] = 'Q14979277', ['2013'] = 'Q1031504',['2012'] = 'Q849059', ['2011'] = 'Q849092', }, ["europe"] = { -- Q1194340 ['2026']='Q136504680', ['2025']='Q130531824', ['2024']='Q123461032',['2023']='Q115194544', ['2022']='Q108920739', ['2021']= 'Q103964987', ['2020'] = 'Q74842812', ['2019'] = 'Q59307576',['2018'] = 'Q44497477',['2017'] = 'Q27915850', ['2016'] = 'Q21029681',['2015'] = 'Q18342122',['2014'] = 'Q15041668', ['2013'] = 'Q1280387',['2012'] = 'Q961709',['2011'] = 'Q751208', ['2010'] = 'Q212197',['2009'] = 'Q1811548',['2008'] = 'Q1788011', ['2007'] = 'Q1780660',['2006'] = 'Q1455600',['2005'] = 'Q1431816' }, ["asia"] = { -- Q1063423 ['2024']='Q123239670', ['2023']='Q115491445', ['2022']='Q109000605', ['2021']='Q104212767', ['2020'] = 'Q74121688', ['2019'] = 'Q57267783',['2018'] = 'Q42204070',['2017'] = 'Q27679728', ['2016'] = 'Q21622227',['2015'] = 'Q18341318',['2014'] = 'Q15041671', ['2013'] = 'Q1606048',['2012'] = 'Q2117797',['2011'] = 'Q633349', ['2010'] = 'Q630798',['2009'] = 'Q565160',['2008'] = 'Q1506934', ['2007'] = 'Q966011',['2006'] = 'Q459817',['2005'] = 'Q469479', }, ["america"] = { -- Q1063430 ['2024']='Q124004053',['2023']='Q114984155', ['2022']='Q109237212', ['2021']='Q104188809',['2020'] = 'Q73175384', ['2019'] = 'Q57267780',['2018'] = 'Q42199340',['2017'] = 'Q27704415', ['2016'] = 'Q21621040',['2015'] = 'Q18413668',['2014'] = 'Q15041669', ['2013'] = 'Q129177',['2012'] = 'Q1239608',['2011'] = 'Q1849269', ['2010'] = 'Q1303982',['2009'] = 'Q1536927',['2008'] = 'Q31716', ['2007'] = 'Q31714',['2006'] = 'Q1429246',['2005'] = 'Q1431880', }, ["africa"] = { -- Q268357 ['2026']='Q136794249', ['2025'] ='Q130531796', ['2024']='Q123600785',['2023']='Q115484191', ['2022']='Q110375456', ['2021']= 'Q102251504', ['2020'] = 'Q74124131', ['2019'] = 'Q57267785',['2018'] = 'Q42202027',['2017'] = 'Q27679848', ['2016'] = 'Q21622217',['2015'] = 'Q18342124', ['2014'] = 'Q15041670', ['2013'] = 'Q327399', ['2012'] = 'Q2296721',['2011'] = 'Q1386870', ['2010'] = 'Q2067266', ['2009'] = 'Q1812465',['2008'] = 'Q676684', ['2007'] = 'Q1436886', ['2006'] = 'Q1758917',['2005'] = 'Q1759404', }, ["oceania"] = { -- Q1039648 ['2026']='Q136794235', ['2025'] ='Q131531655', ['2024']='Q124034675', ['2023']='Q115787169', ['2022']='Q110263933', ['2021']='Q104218422',['2020'] = 'Q74843575', ['2019'] = 'Q59310280',['2018'] = 'Q42205000', ['2017'] = 'Q27887426', ['2016'] = 'Q21559636',['2015'] = 'Q18413671', ['2014'] = 'Q15246814', ['2013'] = 'Q129134',['2012'] = 'Q1591132', ['2011'] = 'Q2298207', ['2010'] = 'Q665283',['2009'] = 'Q964517', ['2008'] = 'Q1788621', ['2007'] = 'Q1473640',['2006'] = 'Q1429165', ['2005'] = 'Q937636', }, ["WWT"] = { ['2026']='Q134717553', ['2025']= 'Q123816898', ['2024']='Q122873964', ['2023']='Q113164731', ['2022']= 'Q107093611', ['2021']='Q101436794', ['2020'] = 'Q70443700', ['2019'] = 'Q57277246', ['2018'] = 'Q41787783', ['2017'] = 'Q27431192', ['2016'] = 'Q21034783', }, ["women"] = { --UCI women ['2026']='Q136658597', ['2025']='Q131699200', ['2024']= 'Q123561009', ['2023']='Q115517229', ['2022']= 'Q109975945', ['2021']='Q103982710', ['2020'] = 'Q74127378', ['2019'] = 'Q57267790', ['2018'] = 'Q47005682', ['2017'] = 'Q27765666', ['2016'] = 'Q22696468', ['2015'] = 'Q18348936', ['2014'] = 'Q15831496', ['2013'] = 'Q6425932', ['2012'] = 'Q2466796', ['2011'] = 'Q2466792', ['2010'] = 'Q2933831', ['2009'] = 'Q2933830', ['2008'] = 'Q2933828', ['2007'] = 'Q3650627', ['2006'] = 'Q16154659',['2005'] = 'Q17000868', ['2004'] = 'Q16154608',['2003'] = 'Q97776002',['2002'] = 'Q97776065', ['2001'] = 'Q97776121',['2000'] = 'Q97776177',['1999'] = 'Q97776227' }, ["Pro"] = { ['2026']='Q135747972', ['2025']='Q129084679', ['2024']='Q123377748',['2023']='Q115015434', ['2022']='Q108913985', ['2021']='Q101371171', ['2020'] = 'Q74279750', }, ["WWC"] = { ['2015']='Q18589848', ['2014']='Q15076094', ['2013']='Q3000659', ['2012']='Q326406',['2011']='Q326401', ['2010']='Q120210', ['2009']='Q326012',['2008']='Q326006',['2007']='Q326001', ['2006']='Q325995',['2005']='Q127681',['2004']='Q80792', ['2003']='Q16451', ['2002']='Q746107', ['2001']='Q979663', ['2000']='Q44096',['1999']='Q44095', ['1998']='Q39077' }, --missing men WC, UCI men ranking ["WC"]={ ['2010']='Q629591', ['2009']='Q926131' }, ["UPT"]={ ['2010']='Q644382', ['2009']='Q2466872', --2010 and before is pro tour ['2008']='Q1472589',['2007']='Q667654', ['2006']='Q1490763', ['2005']='Q388600' }, ["UCImen"]={ ['1984']="Q2976079", ['1985']="Q2976078", ['1986']="Q2976080", ['1987']="Q2976083", ['1988']="Q2976085", ['1989']="Q2976086", ['1990']="Q2976088", ['1991']="Q2976089", ['1992']="Q2976092", ['1993']="Q53843867", ['1994']="Q53844929", ['1995']="Q53844930", ['1996']="Q53844931", ['1997']="Q53844932", ['1998']="Q53844933", ['1999']="Q53844934", ['2000']="Q53844936", ['2001']="Q53844937", ['2002']="Q53844939", ['2003']="Q53844940", ['2004']="Q53844942", }, ["WCmen"]= { ["1989"]="Q2033019",["1990"]="Q2032964",["1991"]="Q2033000", ["1992"]="Q576817", ['1993']="Q1110391", ['1994']="Q1518208", ['1995']="Q1518196", ['1996']="Q538613", ['1997']="Q382630", ['1998']="Q1514635", ['1999']="Q826357", ['2000']="Q826543", ['2001']="Q826375", ['2002']="Q432453", ['2003']="Q1809220", ['2004']="Q1808779" }, ["Pernod"]={ ["1959"]="Q27792196", ["1960"]="Q27792197",["1961"]="Q27792200", ["1962"]="Q27792201", ["1963"]="Q27792202",["1964"]="Q27792206", ["1965"]="Q27792208", ["1966"]="Q27792209",["1967"]="Q27792211", ["1968"]="Q27792213", ["1969"]="Q27792214", ["1970"]="Q27792216", ["1971"]="Q27792218", ["1972"]="Q27792219", ["1973"]="Q27792221", ["1974"]="Q27792223", ["1975"]="Q27792225", ["1976"]="Q27792227", ["1977"]="Q27792229", ["1978"]="Q27792231", ["1979"]="Q27792234", ["1980"]="Q27792236", ["1981"]="Q27792237", ["1982"]="Q27792241", ["1983"]="Q27792242", ["1984"]="Q27792245", ["1985"]="Q27792246", ["1986"]="Q27792248", ["1987"]="Q27792250" }, ["Desgrange"]={ ['1948']="Q2395083", ["1949"]="Q2081502", ["1950"]="Q19787432", ["1951"]="Q19848484",["1952"]="Q19848483",["1953"]="Q19818874", ["1954"]="Q19848485",["1955"]="Q19848486",["1956"]="Q19848487", ["1957"]="Q19848490",["1958"]="Q19848488" } }, NationalRoadCyclingChampionships={ ["women"] = { ['2026']='Q136794288', ['2025']= 'Q131752244', ['2024']='Q124091522', ['2023']='Q116173116', ['2022']= 'Q110548921', ['2021']= 'Q104304845', ['2020']='Q78466304', ['2019'] = 'Q66362617', ['2018'] = 'Q66762475', ['2017'] = 'Q66762546', ['2016'] = 'Q66762540', ['2015'] = 'Q66762534', ['2014'] = 'Q66762524', ['2013'] = 'Q66762521', ['2012'] = 'Q66762511', ['2011'] = 'Q66762500', ['2010'] = 'Q66762491' }, --"men" missing }, NationalITTCyclingChampionships={ ["women"] = { ['2026']='Q136794310', ['2025']= 'Q131752362', ['2024']='Q124091591', ['2023']= 'Q116206613', ['2022']= 'Q110548922', ['2021']= 'Q104305086', ['2020'] = 'Q78466572', ['2019'] = 'Q66736271', ['2018'] = 'Q66762631', ['2017'] = 'Q66762614', ['2016'] = 'Q66762604', ['2015'] = 'Q66762597', ['2014'] = 'Q66762592', ['2013'] = 'Q66762584', ['2012'] = 'Q66762578', ['2011'] = 'Q66762569', ['2010'] = 'Q66762562' }, --"men" missing }, stageinfobox_jersey={ --Tour de France {'Q33881', 'montagne', '+1975', '+2500', 'Q25265958', 'Q927157'}, -- Tour de France {'Q33881', 'leader', '+1919', '+2500', 'Q24257871', 'Q738903'}, {'Q33881', 'points', '+1953', '+1967', 'Q24645209', 'Q175399'}, -- Jersey green.svg {'Q33881', 'points', '+1968', '+1968', 'Q26919974', 'Q175399'}, -- Jersey red.svg {'Q33881', 'points', '+1969', '+2500', 'Q24645209', 'Q175399'}, -- Jersey green.svg {'Q33881', 'jeune', '+1975', '+2500', 'Q640430', 'Q2254180'}, -- Jersey white.svg {'Q33881', 'winner_fighting', '+2003', '+2500', 'Q27644113', 'Q2094179'}, -- Jersey red number.svg {'Q33881', 'winner_fighting', '+2023', '+2500', 'Q117022015', 'Q2094179'}, -- Jersey beige number.svg {'Q33881', 'winner_fighting2', '+2003', '+2500', 'Q27644113', 'Q2094179'}, -- Jersey red number.svg {'Q33881', 'winner_fighting2', '+2023', '+2500', 'Q117022015', 'Q2094179'}, -- Jersey beige number.svg {'Q33881', 'equipe', '+2006', '+2500', 'Q27644112', 'Q1436680'}, -- Jersey yellow number.svg --Giro {'Q33861', 'leader', '+1931', '+2500', 'Q24257763', 'Q1164275'}, -- Giro d'Italia, Jersey pink.svg {'Q33861', 'points', '+1967', '+1968', 'Q26919974', 'Q641083'}, -- Jersey red.svg {'Q33861', 'points', '+1969', '+2009', 'Q26945272', 'Q641083'}, -- Jersey violet.svg {'Q33861', 'points', '+2010', '+2016', 'Q26919974', 'Q641083'}, -- Jersey red.svg {'Q33861', 'points', '+2017', '+2500', 'Q26945272', 'Q641083'}, -- Jersey violet.svg {'Q33861', 'montagne', '+1974', '+2011', 'Q24645209', 'Q641060'}, -- Jersey green.svg {'Q33861', 'montagne', '+2012', '+2500', 'Q24687409', 'Q641060'}, -- Jersey blue.svg {'Q33861', 'jeune', '+1976', '+2500', 'Q640430', 'Q641662'}, -- Jersey white.svg --Vuelta {'Q33937', 'leader', '+1935', '+1936', 'Q24258056', 'Q2532554'}, -- Vuelta a España, Jersey orange.svg {'Q33937', 'leader', '+1941', '+1941', 'Q26696171', 'Q2532554'}, -- Jersey white.svg {'Q33937', 'leader', '+1942', '+1942', 'Q24258056', 'Q2532554'}, -- Jersey orange.svg {'Q33937', 'leader', '+1945', '+1945', 'Q24257872', 'Q2532554'}, -- Jersey red.svg {'Q33937', 'leader', '+1946', '+1950', 'Q26696171', 'Q2532554'}, -- Jersey white.svg {'Q33937', 'leader', '+1955', '+1976', 'Q24257871', 'Q2532554'}, -- Jersey yellow.svg {'Q33937', 'leader', '+1977', '+1977', 'Q24258056', 'Q2532554'}, -- Jersey orange.svg {'Q33937', 'leader', '+1978', '+1998', 'Q24257871', 'Q2532554'}, -- Jersey yellow.svg {'Q33937', 'leader', '+1999', '+2009', 'Q24257991', 'Q2532554'}, -- Jersey gold.svg {'Q33937', 'leader', '+2010', '+2500', 'Q24257872', 'Q2532554'}, -- Jersey red.svg {'Q33937', 'points', '+1945', '+1986', 'Q24687409', 'Q2241695'}, -- Jersey blue.svg {'Q33937', 'points', '+1987', '+1989', 'Q24645209', 'Q2241695'}, -- Jersey green.svg {'Q33937', 'points', '+1990', '+2009', 'Q24687409', 'Q2241695'}, -- Jersey blue.svg {'Q33937', 'points', '+2010', '+2500', 'Q24645209', 'Q2241695'}, -- Jersey green.svg {'Q33937', 'montagne', '+1935', '+1985', 'Q27670182', 'Q1118296'}, -- Jersey green.svg {'Q33937', 'montagne', '+1986', '+1986', 'Q27670174', 'Q1118296'}, -- Jersey orange.svg {'Q33937', 'montagne', '+1987', '+1987', 'Q27670178', 'Q1118296'}, -- Jersey red.svg {'Q33937', 'montagne', '+1988', '+1989', 'Q27670105', 'Q1118296'}, -- Jersey blackdots.png {'Q33937', 'montagne', '+1990', '+2005', 'Q27670182', 'Q1118296'}, -- Jersey green.svg {'Q33937', 'montagne', '+2006', '+2008', 'Q27670174', 'Q1118296'}, -- Jersey orange.svg {'Q33937', 'montagne', '+2009', '+2009', 'Q27670126', 'Q1118296'}, -- Jersey granate.svg {'Q33937', 'montagne', '+2010', '+2500', 'Q25265959', 'Q1118296'}, -- Jersey bluedots.svg {'Q33937', 'jeune', '+2017', '+2018', 'Q56479747', 'Q60233927'}, -- Jersey red number.svg {'Q33937', 'jeune', '+2019', '+2500', 'Q640430', 'Q60233927'}, -- Jersey white.svg {'Q33937', 'winner_fighting', '+2012', '+2018', 'Q56481278', 'Q20882672'}, -- Jersey green number.svg {'Q33937', 'winner_fighting', '+2019', '+2500', 'Q27644113', 'Q20882672'}, -- Jersey red number.svg {'Q33937', 'winner_fighting2', '+2012', '+2018', 'Q56481278', 'Q20882672'}, -- Jersey green number.svg {'Q33937', 'winner_fighting2', '+2019', '+2500', 'Q27644113', 'Q20882672'}, -- Jersey red number.svg {'Q33937', 'equipe', '+2006', '+2500', 'Q27644112', 'Q2141595'}, -- Jersey yellow number.svg {'Q2091354', 'leader', '+2011', '+2500', 'Q24257871'}, -- Tour of Norway, Jersey yellow.svg {'Q2091354', 'sprints', '+2011', '+2011', 'Q26806427'}, -- Jersey green.svg {'Q2091354', 'points', '+2012', '+2017', 'Q24645209'}, -- Jersey green.svg {'Q2091354', 'points', '+2018', '+2018', 'Q28820618'}, -- MaillotCyan.PNG {'Q2091354', 'points', '+2019', '+2500', 'Q47945989'}, -- Jersey dark blue.svg {'Q2091354', 'montagne', '+2011', '+2015', 'Q25265958'}, -- Jersey polkadot.svg {'Q2091354', 'montagne', '+2016', '+2017', 'Q27670174'}, -- Jersey orange.svg {'Q2091354', 'montagne', '+2018', '+2500', 'Q25265958'}, -- Jersey polkadot.svg {'Q2091354', 'jeune', '+2011', '+2500', 'Q640430'}, -- Jersey white.svg {'Q2091354', 'winner_fighting', '+2017', '+2017', 'Q29957114'}, -- MaillotCyan.PNG {'Q128713', 'leader', '+2013', '+2017', 'Q24257871'}, -- Tour des Fjords, Jersey yellow.svg {'Q128713', 'leader', '+2018', '+2018', 'Q29594434'}, -- MaillotCyan.PNG {'Q128713', 'points', '+2013', '+2014', 'Q24645209'}, -- Jersey green.svg {'Q128713', 'points', '+2015', '+2017', 'Q24687409'}, -- Jersey blue.svg {'Q128713', 'points', '+2018', '+2018', 'Q25265938'}, -- Jersey violet.svg {'Q128713', 'montagne', '+2013', '+2018', 'Q25265958'}, -- Jersey polkadot.svg {'Q128713', 'jeune', '+2013', '+2018', 'Q640430'}, -- Jersey white.svg {'Q128713', 'winner_fighting', '+2015', '+2015', 'Q30035038'}, -- Jersey green.svg {'Q128713', 'winner_fighting', '+2016', '+2017', 'Q30035039'}, -- Jersey orange.svg {'Q128961', 'leader', '+2013', '+2500', 'Q24687408'}, -- Arctic Race of Norway, Jersey blue.svg {'Q128961', 'points', '+2013', '+2500', 'Q24645209'}, -- Jersey green.svg {'Q128961', 'montagne', '+2013', '+2014', 'Q27670178'}, -- Jersey red.svg {'Q128961', 'montagne', '+2015', '+2500', 'Q27670174'}, -- Jersey orange.svg {'Q128961', 'jeune', '+2013', '+2500', 'Q640430'}, -- Jersey white.svg {'Q128961', 'winner_fighting', '+2014', '+2500', 'Q27644113'}, -- Jersey red number.svg {'Q17619325', 'leader', '+2014', '+2014', 'Q24257871'}, -- Ladies Tour of Norway, Jersey yellow.svg {'Q17619325', 'leader', '+2015', '+2016', 'Q26945272'}, -- Jersey violet.svg {'Q17619325', 'leader', '+2017', '+2500', 'Q24257871'}, -- Jersey yellow.svg {'Q17619325', 'points', '+2014', '+2500', 'Q24645209'}, -- Jersey green.svg {'Q17619325', 'montagne', '+2014', '+2500', 'Q25265958'}, -- Jersey polkadot.svg {'Q17619325', 'jeune', '+2014', '+2500', 'Q640430'}, -- Jersey white.svg {'Q17619325', 'winner_fighting', '+2016', '+2500', 'Q30035039'}, -- Jersey orange.svg }, UCIcalendarstartend={ ["women"]= {b=1989, e=0}, --women=Calendrier international féminin UCI, begin/end 0 = no end ["WWT"]= {b=2016, e=0}, ["WWC"]= {b=1998, e=2015}, ["UWT"]= {b=2011, e=2018}, ["europe"]= {b=2005, e=0}, ["asia"]= {b=2005, e=0}, ["oceania"]={b=2005, e=0}, ["america"]={b=2005, e=0}, ["africa"]= {b=2005, e=0}, ["WR"]= {b=2016, e=0}, ["WC"]= {b=2009, e=2010}, ["UPT"]= {b=2005, e=2008}, ["UCImen"]= {b=1984, e=2004}, ["WCmen"]= {b=1989, e=2004}, ["Pernod"]= {b=1959, e=1987}, ["Desgrange"]= {b=1948, e=1958}, }, KeytoRiderRankingCode={ --header ["women"]= 2, ['WWT']= 3, ['WWC']= 4, ["UWT"]= 5, ["europe"]= 6, ["asia"]= 7, ["oceania"]=8, ["america"]=9, ["africa"]= 10, ["WR"]= 11, ["WC"]= 12, ["UPT"]= 13, --WC is world calendar here ["UCImen"]= 14, ["WCmen"]= 15, --UCImen = UCI ranking 1984-2004, WC= World cup men ["Pernod"]= 16, ["Desgrange"]=17, }, continental_calendar={ europe={Q20=true,Q21=true,Q22=true, Q25=true, Q26=true, Q27=true,Q28=true,Q29=true, Q31=true, Q32=true, Q33=true,Q34=true,Q35=true, Q36=true, Q37=true,Q38=true, Q39=true, Q40=true, Q41=true,Q43=true, Q45=true,Q55=true, Q142=true,Q145=true, Q159=true,Q183=true,Q184=true,Q191=true,Q211=true,Q212=true, Q213=true,Q214=true,Q215=true,Q217=true,Q218=true,Q219=true,Q221=true,Q222=true, Q224=true,Q227=true, Q228=true,Q230=true, Q233=true, Q235=true,Q236=true,Q239=true,--assumption Q238=true,Q247=true, Q403=true, Q801=true,Q1246=true, Q29999=true,Q172579=true,Q225=true }, asia={Q17=true,Q148=true,Q265=true,Q227=true, Q232=true,Q252=true,Q334=true,Q424=true,Q668=true, Q711=true, Q794=true, Q796=true, Q805=true, Q810=true, Q813=true, Q817=true,Q819=true, Q833=true,Q836=true,Q837=true, Q842=true,Q843=true,Q846=true,Q851=true,Q854=true, Q858=true,Q863=true, Q865=true, Q869=true,Q874=true,Q878=true, Q881=true, Q884=true, Q889=true, Q902=true, Q917=true, Q928=true, Q8646=true, Q216923=true, Q398=true}, oceania={Q408=true,Q664=true,Q683=true}, america={Q16=true, Q30=true,Q77=true, Q96=true, Q114=true,Q155=true,Q241=true,Q242=true,Q244=true, Q262=true,Q298=true, Q414=true,Q419=true,Q717=true, Q730=true,Q733=true,Q734=true, Q736=true, Q739=true, Q750=true,Q754=true,Q757=true,Q766=true,Q769=true,Q774=true,Q778=true, Q781=true,Q783=true,Q786=true,Q790=true,Q792=true,Q800=true,Q804=true,Q811=true,Q1183=true,Q23635=true,Q25305=true}, africa={Q79=true,Q114=true,Q115=true,Q117=true, Q258=true,Q262=true,Q657=true,Q912=true, Q916=true,Q924=true,Q929=true,Q944=true,Q945=true, Q948=true,Q953=true,Q954=true,Q958=true,Q962=true, Q963=true,Q965=true,Q967=true, Q971=true, Q974=true,Q977=true,Q983=true,Q986=true,Q1000=true,Q1005=true,Q1006=true,Q1007=true, Q1008=true,Q1009=true,Q1011=true,Q1013=true,Q1014=true,Q1016=true,Q1019=true, Q1020=true,Q1025=true,Q1027=true,Q1028=true,Q1029=true,Q1030=true,Q1032=true, Q1033=true,Q1036=true,Q1037=true, Q1039=true,Q1041=true,Q1044=true,Q1045=true,Q1049=true,Q1050=true,Q6250=true} }, listofwomencalendar={"women","WWC", "WWT"}, --"women" is in fact UCIwomen listofmencalendar={"Desgrange","Pernod","UCImen","WCmen","UPT", "WC","UWT","WR","europe","asia","america","oceania","africa","Pro"} } rob4dvygmzzate8vibh7j5zd2qzl0o6 تھۆدٕ مۄہنیٛو 0 31906 146291 2026-07-29T19:04:53Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1366156014|Homo erectus]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146291 wikitext text/x-wiki '''تھۆد مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس. fm67e8g598nijey6n8asbg1dzynllfo 146292 146291 2026-07-29T19:05:28Z Humzah Rouf Phu 12982 146292 wikitext text/x-wiki {{مولوٗماتھ}} '''تھۆد مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس. ==حوالہٕ== pjaiv1vry0qso0fa1mzrjgy9c87hdcf 146293 146292 2026-07-29T19:07:08Z Humzah Rouf Phu 12982 /* */ 146293 wikitext text/x-wiki {{مولوٗماتھ}} '''تھۆد مۄہنیٛو'''٫ '''''کھڑا مۄہنیٛو''''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس. ==حوالہٕ== i5vpf8e23bchcgany7l4496o869vhb6 146294 146293 2026-07-29T19:07:21Z Humzah Rouf Phu 12982 /* */ 146294 wikitext text/x-wiki {{مولوٗماتھ}} '''تھۆد مۄہنیٛو'''٫ '''کھڑا مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس. ==حوالہٕ== n9faumf4l7po2fv1to84khi0p0d90l6 146362 146294 2026-07-30T11:00:08Z آیات محراج 11062 /* */ changed temp for better presentation 146362 wikitext text/x-wiki {{Infobox species/Wikidata}} '''تھۆد مۄہنیٛو'''٫ '''کھڑا مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس. == حَوالہٕ == ==حوالہٕ== 2psrjhu9tmxgkygj7o9brjsbnfmtml1 146363 146362 2026-07-30T11:00:46Z آیات محراج 11062 /* */ 146363 wikitext text/x-wiki {{Infobox species/Wikidata}} '''تھۆد مۄہنیٛو'''٫ '''کھڑا مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس.<ref name="HsiaoPei2014">{{cite journal|last=Hsiao-Pei|first=Y.|year=2014|title=Evolutionary Asiacentrism, Peking Man, and the Origins of Sinocentric Ethno-Nationalism|journal=Journal of the History of Biology|volume=47|issue=4|pages=585–625|doi=10.1007/s10739-014-9381-4|pmid=24771020|s2cid=23308894}}</ref> == حَوالہٕ == ==حوالہٕ== rnorohoz0d9ipvuro6vs25ifraqitk7 146364 146363 2026-07-30T11:02:38Z آیات محراج 11062 /* حَوالہٕ */ 146364 wikitext text/x-wiki {{Infobox species/Wikidata}} '''تھۆد مۄہنیٛو'''٫ '''کھڑا مۄہنیٛو''' یا '''''ہومو اِریٚکٹَس''''' چھُ [[پلیسٹوسیٖن|پلیسٹوسینُک]] اکھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہٕنٛز اکھ مۄکلیٛٲمٕژ نسل، یۄس الہٕ پلہٕ ۲۰ لچھ ؤرین تام ٲس.<ref name="HsiaoPei2014">{{cite journal|last=Hsiao-Pei|first=Y.|year=2014|title=Evolutionary Asiacentrism, Peking Man, and the Origins of Sinocentric Ethno-Nationalism|journal=Journal of the History of Biology|volume=47|issue=4|pages=585–625|doi=10.1007/s10739-014-9381-4|pmid=24771020|s2cid=23308894}}</ref> ==حوالہٕ== qfadabpm296295fnj7p7g9v8qtci0qd کٲسِب مۄہنیٛو 0 31907 146301 2026-07-29T19:20:40Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1363479553|Homo habilis]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146301 wikitext text/x-wiki '''کٲسِب مۄہنیٛو'''، '''قٲبل مۄہنیٛو''' یا '''''ہومو ہیبِلِس''''' چھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس مشرقی تہٕ جنوبی افریقہ کہ ابتدائی پلیسٹوسین منٛز چھ اَلہٕ پَلہٕ ۲۴ لچھ وٕریہٕ برونٛہہ پؠٹھ ۱۶۰۵ لچھ وٕریہ برونٛہہ تان ٲس۔ یہ چھ آدن مۄہنیٛون ہنز سارنٕی کھۄتہٕ پرٛٲنؠ زٲژن منز اکھ۔<ref>{{کِتاب حَوالہٕ|last=Stringer|first=C.B.|title=The Cambridge Encyclopedia of Human Evolution|publisher=[[Cambridge University Press]]|year=1994|editor-last=Jones|editor-first=S.|location=Cambridge|page=242|chapter=Evolution of early humans|author-link=Chris Stringer|editor-last2=Martin|editor-first2=R.|editor-last3=Pilbeam|editor-first3=D.}}</ref><ref>{{کِتاب حَوالہٕ|last=Schrenk|first=F.|title=Handbook of Paleoanthropology|last2=Kullmer|first2=O.|last3=Bromage|first3=T.|date=2007|editor-last=Henke|editor-first=W.|pages=1611–1631|chapter=Chapter 9: The Earliest Putative ''Homo'' Fossils|doi=10.1007/978-3-540-33761-4_52|editor-last2=Tattersall|editor-first2=I.}}</ref> i48zcgigoquehyt5r7zxh3h6lthyk2b 146302 146301 2026-07-29T19:21:13Z Humzah Rouf Phu 12982 /* */ 146302 wikitext text/x-wiki {{مولوٗماتھ}} '''کٲسِب مۄہنیٛو'''، '''قٲبل مۄہنیٛو''' یا '''''ہومو ہیبِلِس''''' چھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس مشرقی تہٕ جنوبی افریقہ کہ ابتدائی پلیسٹوسین منٛز چھ اَلہٕ پَلہٕ ۲۴ لچھ وٕریہٕ برونٛہہ پؠٹھ ۱۶۰۵ لچھ وٕریہ برونٛہہ تان ٲس۔ یہ چھ آدن مۄہنیٛون ہنز سارنٕی کھۄتہٕ پرٛٲنؠ زٲژن منز اکھ۔<ref>{{کِتاب حَوالہٕ|last=Stringer|first=C.B.|title=The Cambridge Encyclopedia of Human Evolution|publisher=[[Cambridge University Press]]|year=1994|editor-last=Jones|editor-first=S.|location=Cambridge|page=242|chapter=Evolution of early humans|author-link=Chris Stringer|editor-last2=Martin|editor-first2=R.|editor-last3=Pilbeam|editor-first3=D.}}</ref><ref>{{کِتاب حَوالہٕ|last=Schrenk|first=F.|title=Handbook of Paleoanthropology|last2=Kullmer|first2=O.|last3=Bromage|first3=T.|date=2007|editor-last=Henke|editor-first=W.|pages=1611–1631|chapter=Chapter 9: The Earliest Putative ''Homo'' Fossils|doi=10.1007/978-3-540-33761-4_52|editor-last2=Tattersall|editor-first2=I.}}</ref> ==حوالہٕ== rjiiknrph7bk5ovcb2jbgrqlr712kgx 146361 146302 2026-07-30T10:59:12Z آیات محراج 11062 /* */ changed temp for better presentation 146361 wikitext text/x-wiki {{Infobox species/Wikidata}} '''کٲسِب مۄہنیٛو'''، '''قٲبل مۄہنیٛو''' یا '''''ہومو ہیبِلِس''''' چھ [[آدن مۄہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس مشرقی تہٕ جنوبی افریقہ کہ ابتدائی پلیسٹوسین منٛز چھ اَلہٕ پَلہٕ ۲۴ لچھ وٕریہٕ برونٛہہ پؠٹھ ۱۶۰۵ لچھ وٕریہ برونٛہہ تان ٲس۔ یہ چھ آدن مۄہنیٛون ہنز سارنٕی کھۄتہٕ پرٛٲنؠ زٲژن منز اکھ۔<ref>{{کِتاب حَوالہٕ|last=Stringer|first=C.B.|title=The Cambridge Encyclopedia of Human Evolution|publisher=[[Cambridge University Press]]|year=1994|editor-last=Jones|editor-first=S.|location=Cambridge|page=242|chapter=Evolution of early humans|author-link=Chris Stringer|editor-last2=Martin|editor-first2=R.|editor-last3=Pilbeam|editor-first3=D.}}</ref><ref>{{کِتاب حَوالہٕ|last=Schrenk|first=F.|title=Handbook of Paleoanthropology|last2=Kullmer|first2=O.|last3=Bromage|first3=T.|date=2007|editor-last=Henke|editor-first=W.|pages=1611–1631|chapter=Chapter 9: The Earliest Putative ''Homo'' Fossils|doi=10.1007/978-3-540-33761-4_52|editor-last2=Tattersall|editor-first2=I.}}</ref> ==حوالہٕ== rg0fu28jbcu7l4yzyloswm0e7mjys09 ریمکو ایونپول 0 31908 146303 2026-07-29T19:23:47Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366181140|Remco Evenepoel]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146303 wikitext text/x-wiki {{IPA|nl|ˈrɛmkoː ˈeːvənəpul}}ریمکو ایونپول (زامُت 25 جنوری 2000) چھُ اکھ بیلجیئم ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ kcaxhapxxd2c4clvs3i2lmzfanhmx0v 146304 146303 2026-07-29T19:26:25Z آیات محراج 11062 /* */ 146304 wikitext text/x-wiki {{IPA|nl|ˈrɛmkoː ˈeːvənəpul}}ریمکو ایونپول (زامُت 25 جنوری 2000) چھُ اکھ بیلجیئم ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ ریمکو ایونپول چھُ أکِس بہتٔریٖن ٹائم ٹرائلِسٹ سٕنٛدِ پٲٹھۍ مناونہٕ یِوان، یَتھ منٛز ترٛےٚ لَٹہِ یو سی آٮٔی ورلڈ چیمپئن (2023-2025)، اولمپک چیمپئن (2024)، تہٕ دۄیہِ لَٹہِ یوٗرپی چیمپئن (2019، 2025) ہِوین عنوانن پیٹھ فخر چھُ یِوان کرنہٕ۔ تٔمۍ چھِ اہم ریسہٕ زیٖنمٕژ، یِمَن منٛز 2022 تہٕ 2023 ہَس منٛز لیج-باسٹوگن-لیج، تہٕ 2022 ہَس منٛز وولٹا اے ایسپانا شٲمِل چھِ، یُس بیلجیئم خٲطرٕ اکھ تٲریخی فتح چھُ۔ ابتدٲیی طور اکھ فٹ بالر، تٔمۍ کوٚر 2017 ہَس منٛز سائیکلنگ کُن تبدیل، تہٕ کٔرٕن جونیئر چیمپئن شپس منٛز بہترین۔ 2019 ہَس منٛز پیشہٕ ور بنِتھ، أمۍ سٕنٛزِ ابتدٲیی کامیٲبی منٛز اوس سارِوٕے کھۄتہٕ لۄکُٹ یو سی آٮٔی ورلڈ ٹور ریس زینن وول بنُن شٲمِل۔ 2020 ہَس منٛز شٔدیٖد زخمی گژھنہٕ پتہٕ آو سُہ 2021 ہَس منٛز شہرت حٲصِل تہٕ 2022 ہَس منٛز آو ویلو ڈی اور ایوارڈ دِنہٕ۔ 2024 منٛز کوٚر تٔمۍ ٹوٗر ڈی فرانسَس منٛز ڈیبیو، ترٛیٚیِمِس نمبرَس پٮ۪ٹھ تہٕ زیٖنُن اولمپک ٹائم ٹرائل تہٕ روڈ ریس دۄشوٕے۔ suus257f0nc0khr1apo88rohaxpe6ji 146305 146304 2026-07-29T19:27:56Z آیات محراج 11062 /* */ 146305 wikitext text/x-wiki {{Infobox person ca/catalan}} '''ریمکو ایونپول''' (زامُت 25 جنوری 2000) چھُ اکھ بیلجیئم ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ ریمکو ایونپول چھُ أکِس بہتٔریٖن ٹائم ٹرائلِسٹ سٕنٛدِ پٲٹھۍ مناونہٕ یِوان، یَتھ منٛز ترٛےٚ لَٹہِ یو سی آٮٔی ورلڈ چیمپئن (2023-2025)، اولمپک چیمپئن (2024)، تہٕ دۄیہِ لَٹہِ یوٗرپی چیمپئن (2019، 2025) ہِوین عنوانن پیٹھ فخر چھُ یِوان کرنہٕ۔ تٔمۍ چھِ اہم ریسہٕ زیٖنمٕژ، یِمَن منٛز 2022 تہٕ 2023 ہَس منٛز لیج-باسٹوگن-لیج، تہٕ 2022 ہَس منٛز وولٹا اے ایسپانا شٲمِل چھِ، یُس بیلجیئم خٲطرٕ اکھ تٲریخی فتح چھُ۔ ابتدٲیی طور اکھ فٹ بالر، تٔمۍ کوٚر 2017 ہَس منٛز سائیکلنگ کُن تبدیل، تہٕ کٔرٕن جونیئر چیمپئن شپس منٛز بہترین۔ 2019 ہَس منٛز پیشہٕ ور بنِتھ، أمۍ سٕنٛزِ ابتدٲیی کامیٲبی منٛز اوس سارِوٕے کھۄتہٕ لۄکُٹ یو سی آٮٔی ورلڈ ٹور ریس زینن وول بنُن شٲمِل۔ 2020 ہَس منٛز شٔدیٖد زخمی گژھنہٕ پتہٕ آو سُہ 2021 ہَس منٛز شہرت حٲصِل تہٕ 2022 ہَس منٛز آو ویلو ڈی اور ایوارڈ دِنہٕ۔ 2024 منٛز کوٚر تٔمۍ ٹوٗر ڈی فرانسَس منٛز ڈیبیو، ترٛیٚیِمِس نمبرَس پٮ۪ٹھ تہٕ زیٖنُن اولمپک ٹائم ٹرائل تہٕ روڈ ریس دۄشوٕے۔<ref>{{cite web|last1=Fletcher|first1=Patrick|date=1 December 2022|title=Annemiek van Vleuten, Remco Evenepoel win 2022 Velo d'Or awards|url=https://www.cyclingnews.com/news/annemiek-van-vleuten-remco-evenepoel-win-2022-velo-dor-awards/|access-date=3 November 2024|website=CyclingNews}}</ref> 3tgqeduozipsfq4rtb4omo3ruf9mfy0 146306 146305 2026-07-29T19:29:50Z آیات محراج 11062 +[[زٲژ:کھِلٲڑؠ]]; +[[زٲژ:بیٚلجیٖیَم لوٗکھ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146306 wikitext text/x-wiki {{Infobox person ca/catalan}} '''ریمکو ایونپول''' (زامُت 25 جنوری 2000) چھُ اکھ [[بیٚلجیٖیَم]] ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ ریمکو ایونپول چھُ أکِس بہتٔریٖن ٹائم ٹرائلِسٹ سٕنٛدِ پٲٹھۍ مناونہٕ یِوان، یَتھ منٛز ترٛےٚ لَٹہِ یو سی آٮٔی ورلڈ چیمپئن (2023-2025)، اولمپک چیمپئن (2024)، تہٕ دۄیہِ لَٹہِ یوٗرپی چیمپئن (2019، 2025) ہِوین عنوانن پیٹھ فخر چھُ یِوان کرنہٕ۔ تٔمۍ چھِ اہم ریسہٕ زیٖنمٕژ، یِمَن منٛز 2022 تہٕ 2023 ہَس منٛز لیج-باسٹوگن-لیج، تہٕ 2022 ہَس منٛز وولٹا اے ایسپانا شٲمِل چھِ، یُس بیلجیئم خٲطرٕ اکھ تٲریخی فتح چھُ۔ ابتدٲیی طور اکھ فٹ بالر، تٔمۍ کوٚر 2017 ہَس منٛز سائیکلنگ کُن تبدیل، تہٕ کٔرٕن جونیئر چیمپئن شپس منٛز بہترین۔ 2019 ہَس منٛز پیشہٕ ور بنِتھ، أمۍ سٕنٛزِ ابتدٲیی کامیٲبی منٛز اوس سارِوٕے کھۄتہٕ لۄکُٹ یو سی آٮٔی ورلڈ ٹور ریس زینن وول بنُن شٲمِل۔ 2020 ہَس منٛز شٔدیٖد زخمی گژھنہٕ پتہٕ آو سُہ 2021 ہَس منٛز شہرت حٲصِل تہٕ 2022 ہَس منٛز آو ویلو ڈی اور ایوارڈ دِنہٕ۔ 2024 منٛز کوٚر تٔمۍ ٹوٗر ڈی فرانسَس منٛز ڈیبیو، ترٛیٚیِمِس نمبرَس پٮ۪ٹھ تہٕ زیٖنُن اولمپک ٹائم ٹرائل تہٕ روڈ ریس دۄشوٕے۔<ref>{{cite web|last1=Fletcher|first1=Patrick|date=1 December 2022|title=Annemiek van Vleuten, Remco Evenepoel win 2022 Velo d'Or awards|url=https://www.cyclingnews.com/news/annemiek-van-vleuten-remco-evenepoel-win-2022-velo-dor-awards/|access-date=3 November 2024|website=CyclingNews}}</ref> ==حَوالہٕ== [[زٲژ:کھِلٲڑؠ]] [[زٲژ:بیٚلجیٖیَم لوٗکھ]] f88fzmszu2u1vrjl23bqvv88xyl4c0w 146312 146306 2026-07-29T19:31:43Z آیات محراج 11062 مِلاوُن [[زٲژ:کھِلٲڑی]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146312 wikitext text/x-wiki {{Infobox person ca/catalan}} '''ریمکو ایونپول''' (زامُت 25 جنوری 2000) چھُ اکھ [[بیٚلجیٖیَم]] ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ ریمکو ایونپول چھُ أکِس بہتٔریٖن ٹائم ٹرائلِسٹ سٕنٛدِ پٲٹھۍ مناونہٕ یِوان، یَتھ منٛز ترٛےٚ لَٹہِ یو سی آٮٔی ورلڈ چیمپئن (2023-2025)، اولمپک چیمپئن (2024)، تہٕ دۄیہِ لَٹہِ یوٗرپی چیمپئن (2019، 2025) ہِوین عنوانن پیٹھ فخر چھُ یِوان کرنہٕ۔ تٔمۍ چھِ اہم ریسہٕ زیٖنمٕژ، یِمَن منٛز 2022 تہٕ 2023 ہَس منٛز لیج-باسٹوگن-لیج، تہٕ 2022 ہَس منٛز وولٹا اے ایسپانا شٲمِل چھِ، یُس بیلجیئم خٲطرٕ اکھ تٲریخی فتح چھُ۔ ابتدٲیی طور اکھ فٹ بالر، تٔمۍ کوٚر 2017 ہَس منٛز سائیکلنگ کُن تبدیل، تہٕ کٔرٕن جونیئر چیمپئن شپس منٛز بہترین۔ 2019 ہَس منٛز پیشہٕ ور بنِتھ، أمۍ سٕنٛزِ ابتدٲیی کامیٲبی منٛز اوس سارِوٕے کھۄتہٕ لۄکُٹ یو سی آٮٔی ورلڈ ٹور ریس زینن وول بنُن شٲمِل۔ 2020 ہَس منٛز شٔدیٖد زخمی گژھنہٕ پتہٕ آو سُہ 2021 ہَس منٛز شہرت حٲصِل تہٕ 2022 ہَس منٛز آو ویلو ڈی اور ایوارڈ دِنہٕ۔ 2024 منٛز کوٚر تٔمۍ ٹوٗر ڈی فرانسَس منٛز ڈیبیو، ترٛیٚیِمِس نمبرَس پٮ۪ٹھ تہٕ زیٖنُن اولمپک ٹائم ٹرائل تہٕ روڈ ریس دۄشوٕے۔<ref>{{cite web|last1=Fletcher|first1=Patrick|date=1 December 2022|title=Annemiek van Vleuten, Remco Evenepoel win 2022 Velo d'Or awards|url=https://www.cyclingnews.com/news/annemiek-van-vleuten-remco-evenepoel-win-2022-velo-dor-awards/|access-date=3 November 2024|website=CyclingNews}}</ref> ==حَوالہٕ== [[زٲژ:بیٚلجیٖیَم لوٗکھ]] [[زٲژ:کھِلٲڑی]] da0bnkj3h1gl821xqzkggknu8v3s6fd 146330 146312 2026-07-30T05:20:44Z SakuraBot 9889 [[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران. 146330 wikitext text/x-wiki {{Infobox person ca/catalan}} '''ریمکو ایونپول''' (زامُت 25 جنوری 2000) چھُ اکھ [[بیٚلجیٖیَم]] ہُنٛد پیشہٕ ور سائیکل چلاون وول تہٕ اولمپک گولڈ میڈلسٹ یُس وٕنکینَس یوٗ سی آی ورلڈ ٹیم ریڈ بل-بورا-ہینسگروہے باپتھ سوارِ کران چھُ۔ ریمکو ایونپول چھُ أکِس بہتٔریٖن ٹائم ٹرائلِسٹ سٕنٛدِ پٲٹھۍ مناونہٕ یِوان، یَتھ منٛز ترٛےٚ لَٹہِ یو سی آٮٔی ورلڈ چیمپئن (2023-2025)، اولمپک چیمپئن (2024)، تہٕ دۄیہِ لَٹہِ یوٗرپی چیمپئن (2019، 2025) ہِوین عنوانن پیٹھ فخر چھُ یِوان کرنہٕ۔ تٔمۍ چھِ اہم ریسہٕ زیٖنمٕژ، یِمَن منٛز 2022 تہٕ 2023 ہَس منٛز لیج-باسٹوگن-لیج، تہٕ 2022 ہَس منٛز وولٹا اے ایسپانا شٲمِل چھِ، یُس بیلجیئم خٲطرٕ اکھ تٲریخی فتح چھُ۔ ابتدٲیی طور اکھ فٹ بالر، تٔمۍ کوٚر 2017 ہَس منٛز سائیکلنگ کُن تبدیل، تہٕ کٔرٕن جونیئر چیمپئن شپس منٛز بہترین۔ 2019 ہَس منٛز پیشہٕ ور بنِتھ، أمۍ سٕنٛزِ ابتدٲیی کامیٲبی منٛز اوس سارِوٕے کھۄتہٕ لۄکُٹ یو سی آٮٔی ورلڈ ٹور ریس زینن وول بنُن شٲمِل۔ 2020 ہَس منٛز شٔدیٖد زخمی گژھنہٕ پتہٕ آو سُہ 2021 ہَس منٛز شہرت حٲصِل تہٕ 2022 ہَس منٛز آو ویلو ڈی اور ایوارڈ دِنہٕ۔ 2024 منٛز کوٚر تٔمۍ ٹوٗر ڈی فرانسَس منٛز ڈیبیو، ترٛیٚیِمِس نمبرَس پٮ۪ٹھ تہٕ زیٖنُن اولمپک ٹائم ٹرائل تہٕ روڈ ریس دۄشوٕے۔<ref>{{cite web|last1=Fletcher|first1=Patrick|date=1 December 2022|title=Annemiek van Vleuten, Remco Evenepoel win 2022 Velo d'Or awards|url=https://www.cyclingnews.com/news/annemiek-van-vleuten-remco-evenepoel-win-2022-velo-dor-awards/|access-date=3 November 2024|website=CyclingNews}}</ref> ==حَوالہٕ== [[زٲژ:بیٚلجیٖیَم لوٗکھ]] [[زٲژ:کھِلٲڑی]] [[زٲژ:2000 پٲدٲیِش]] nyfx35x3399jl0srs3tsufb5c87o0ln گۄڈٕ مۄہنیٛو 0 31909 146307 2026-07-29T19:30:04Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1366376959|Homo antecessor]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146307 wikitext text/x-wiki '''گۄڈٕ مۄہنیٛو''' یا '''''ہومو اینٹیسیسر''''' چھُ [[آدن مۅہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس سپین سیر ڈی اٹاپورکا اکھ رٕژ پرٛانہِ پھٹہٕ پھرٛاٹھ کہ مقامس پؠٹھ، 1.2 پیٹھہٕ 8 ملین وٕریہٕ برونٛہہ ابتدائی پلیسٹوسین دوران ریکارڈ ٲس آمت کرنہٕ۔ 8ggap8sey90kizzkstgt6ay39prfx54 146309 146307 2026-07-29T19:30:25Z Humzah Rouf Phu 12982 146309 wikitext text/x-wiki {{مولوٗماتھ}} '''گۄڈٕ مۄہنیٛو''' یا '''''ہومو اینٹیسیسر''''' چھُ [[آدن مۅہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس سپین سیر ڈی اٹاپورکا اکھ رٕژ پرٛانہِ پھٹہٕ پھرٛاٹھ کہ مقامس پؠٹھ، 1.2 پیٹھہٕ 8 ملین وٕریہٕ برونٛہہ ابتدائی پلیسٹوسین دوران ریکارڈ ٲس آمت کرنہٕ۔ 4uk152gap9wy93nmmd725s1rlgbav3q 146360 146309 2026-07-30T10:58:09Z آیات محراج 11062 /* */ changed temp for better presentation 146360 wikitext text/x-wiki {{Infobox species/Wikidata}} '''گۄڈٕ مۄہنیٛو''' یا '''''ہومو اینٹیسیسر''''' چھُ [[آدن مۅہنیٛو|آدن مۄہنیٛون]] ہنز اکھ مۄکلیٲمٕژ نسل یۄس سپین سیر ڈی اٹاپورکا اکھ رٕژ پرٛانہِ پھٹہٕ پھرٛاٹھ کہ مقامس پؠٹھ، 1.2 پیٹھہٕ 8 ملین وٕریہٕ برونٛہہ ابتدائی پلیسٹوسین دوران ریکارڈ ٲس آمت کرنہٕ۔<ref name="Castro2017">{{cite journal|last1=de Castro|first1=J.-M. B.|year=2015|title=''Homo antecessor'': The state of the art eighteen years later|journal=Quaternary International|volume=433|pages=22–31|doi=10.1016/j.quaint.2015.03.049|quote=... a speciation event could have occurred in Africa/Western Eurasia, originating a new ''Homo'' clade [...] ''Homo antecessor'' [...] could be a side branch of this clade placed at the westernmost region of the Eurasian continent.}}</ref> == حَوالہٕ == c0cf5da6ql3rtvy4e37c5oit0bxrl8i زٲژ:بیٚلجیٖیَم لوٗکھ 14 31910 146308 2026-07-29T19:30:06Z آیات محراج 11062 Created blank page 146308 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 146310 146308 2026-07-29T19:30:28Z آیات محراج 11062 مِلاوُن [[زٲژ:بیٚلجیٖیَم]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146310 wikitext text/x-wiki [[زٲژ:بیٚلجیٖیَم]] qpr17vwpemk99rdyrt2hryf4wp3jd29 زٲژ:بیٚلجیٖیَم 14 31911 146311 2026-07-29T19:30:51Z آیات محراج 11062 Created page with "[[زٲژ:مُلُک]]" 146311 wikitext text/x-wiki [[زٲژ:مُلُک]] swy7qml3cweiu32lsycpr8ep5bco0ue کارکُن مۄہنیٛو 0 31912 146313 2026-07-29T19:34:03Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1350563675|Homo ergaster]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146313 wikitext text/x-wiki '''کارکُن مۄہنیٛو''' یا '''''ہومو ایرگاسٹر''''' چھ اکھ مۄکلیٲمٕژ گژھن زٲژ یا آثار قدیم انسان ہٕنٛز ذیلی نسل یم ابتدائی پلیسٹوسین منٛز افریقہس منٛز روزان ٲسۍ۔ oo2yvsnmdan1tzxr4s7tqqby2x2f4cq 146314 146313 2026-07-29T19:34:22Z Humzah Rouf Phu 12982 /* */ 146314 wikitext text/x-wiki {{مولوٗماتھ}} '''کارکُن مۄہنیٛو''' یا '''''ہومو ایرگاسٹر''''' چھ اکھ مۄکلیٲمٕژ گژھن زٲژ یا آثار قدیم انسان ہٕنٛز ذیلی نسل یم ابتدائی پلیسٹوسین منٛز افریقہس منٛز روزان ٲسۍ۔ 8g2xysafm5pve0vwjb3wv9bjcsevsfd 146358 146314 2026-07-30T10:56:18Z آیات محراج 11062 /* */ 146358 wikitext text/x-wiki {{Infobox species/Wikidata}} '''کارکُن مۄہنیٛو''' یا '''''ہومو ایرگاسٹر''''' چھ اکھ مۄکلیٲمٕژ گژھن زٲژ یا آثار قدیم انسان ہٕنٛز ادٕ نسل یم ابتدائی پلیسٹوسین منٛز افریقہس منٛز روزان ٲسۍ۔<ref>{{Cite web|last1=Wood|first1=Bernard|last2=Doherty|first2=Dandy|last3=Boyle|first3=Eve|date=29 May 2020|title=Hominin Taxic Diversity|url=https://oxfordre.com/anthropology/view/10.1093/acrefore/9780190854584.001.0001/acrefore-9780190854584-e-194|access-date=19 April 2021|website=Oxford Research Encyclopedia of Anthropology|language=en|doi=10.1093/acrefore/9780190854584.013.194|isbn=978-0-19-085458-4}}</ref> ajgbi40pq2jwg1l9mgxdz41g3w1tld8 146359 146358 2026-07-30T10:56:31Z آیات محراج 11062 /* */ 146359 wikitext text/x-wiki {{Infobox species/Wikidata}} '''کارکُن مۄہنیٛو''' یا '''''ہومو ایرگاسٹر''''' چھ اکھ مۄکلیٲمٕژ گژھن زٲژ یا آثار قدیم انسان ہٕنٛز ادٕ نسل یم ابتدائی پلیسٹوسین منٛز افریقہس منٛز روزان ٲسۍ۔<ref>{{Cite web|last1=Wood|first1=Bernard|last2=Doherty|first2=Dandy|last3=Boyle|first3=Eve|date=29 May 2020|title=Hominin Taxic Diversity|url=https://oxfordre.com/anthropology/view/10.1093/acrefore/9780190854584.001.0001/acrefore-9780190854584-e-194|access-date=19 April 2021|website=Oxford Research Encyclopedia of Anthropology|language=en|doi=10.1093/acrefore/9780190854584.013.194|isbn=978-0-19-085458-4}}</ref> == حَوالہٕ == 4lyp5b635a8yvf75whjxlu9bq6qzde9 2025 ٹوٗر دی فرٛانٛس 0 31913 146315 2026-07-29T19:37:09Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1363933079|2025 Tour de France]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146315 wikitext text/x-wiki 2025 ٹوٗر دی فرٛانٛس، ریسہِ ہُنٛد 112 ہِم ایڈیشن، گوٚو 5 جولائی للی منٛز شروع تہٕ 27 جولائی گوٚو پیرس کِس چیمپس ایلیسیسَس منٛز ختم۔<ref name="2025route">{{Cite web|last=Farrand|first=Stephen|date=12 June 2025|title=Tour de France 2025 route|url=https://www.cyclingnews.com/races/tour-de-france-2025/map/|access-date=12 June 2025|website=cyclingnews.com|language=en}}</ref> متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر شیٚن ؤرۍیَن منٛز پنُن ژوٗرِم خطاب حٲصِل، تہٕ واریاہ مرحلہٕ زیننہٕ پتہٕ کوٚرُن پنٕنۍ برتری مضبوٗط، یَتھ منٛز ہوٹاکامُک اکھ اہم پہاڑی مرحلہٕ تہِ شٲمِل چھُ۔ وِسما-لیز اے بائیکُک جوناس وِنگگارڈ روٗد دٔیِمِس نمبرَس پٮ۪ٹھ ییٚلہِ زَن ریڈ بُل-بورا-ہینسگروہٕکۍ فلورین لیپووٹزَن ترٛیٚیِمِس نمبرَس پٮ۪ٹھ حٲصِل، یُس 2006 پتہٕ گۄڈٕنیُک جرمن پوڈیم ختم گوٚو۔ لڈل-ٹریکٕکۍ جوناتھن میلانَن کٔر پوائنٹَن ہٕنٛز درجہٕ بندی پٮ۪ٹھ غلبہٕ، لیپووٹزَن زیٛوٗن بہترین نوجوان سوار خٲطرٕ سفید جرسی، پوگاکارَن تہِ کوٚر پہاڑَن ہٕنٛز درجہٕ بندی ہُنٛد دعویٰ، تہٕ وِسما-لیز اے بائیکَن کٔر ٹیمٕچ درجہٕ بندی حٲصِل۔ ای ایف ایجوکیشن-ایزی پوسٹٕکۍ بین ہیلی یَس آو ساروٕے کھۄتہٕ زیادٕ جنگی رائڈر ایوارڈ دِنہٕ۔ d52ubj9b6w3atzq0i4hea5hvpdfx059 146316 146315 2026-07-29T19:38:33Z آیات محراج 11062 +[[زٲژ:کھیل]]; +[[زٲژ:2025 واقعات]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146316 wikitext text/x-wiki {{Cycling race/infobox}} '''2025 ٹوٗر دی فرٛانٛس'''، ریسہِ ہُنٛد 112 ہِم ایڈیشن، گوٚو 5 جولائی للی منٛز شروع تہٕ 27 جولائی گوٚو پیرس کِس چیمپس ایلیسیسَس منٛز ختم۔<ref name="2025route">{{Cite web|last=Farrand|first=Stephen|date=12 June 2025|title=Tour de France 2025 route|url=https://www.cyclingnews.com/races/tour-de-france-2025/map/|access-date=12 June 2025|website=cyclingnews.com|language=en}}</ref> متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر شیٚن ؤرۍیَن منٛز پنُن ژوٗرِم خطاب حٲصِل، تہٕ واریاہ مرحلہٕ زیننہٕ پتہٕ کوٚرُن پنٕنۍ برتری مضبوٗط، یَتھ منٛز ہوٹاکامُک اکھ اہم پہاڑی مرحلہٕ تہِ شٲمِل چھُ۔ وِسما-لیز اے بائیکُک جوناس وِنگگارڈ روٗد دٔیِمِس نمبرَس پٮ۪ٹھ ییٚلہِ زَن ریڈ بُل-بورا-ہینسگروہٕکۍ فلورین لیپووٹزَن ترٛیٚیِمِس نمبرَس پٮ۪ٹھ حٲصِل، یُس 2006 پتہٕ گۄڈٕنیُک جرمن پوڈیم ختم گوٚو۔ لڈل-ٹریکٕکۍ جوناتھن میلانَن کٔر پوائنٹَن ہٕنٛز درجہٕ بندی پٮ۪ٹھ غلبہٕ، لیپووٹزَن زیٛوٗن بہترین نوجوان سوار خٲطرٕ سفید جرسی، پوگاکارَن تہِ کوٚر پہاڑَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، تہٕ وِسما-لیز اے بائیکَن کٔر ٹیمٕچ درجہٕ بندی حٲصِل۔ ای ایف ایجوکیشن-ایزی پوسٹٕکۍ بین ہیلی یَس آو ساروٕے کھۄتہٕ زیادٕ جنگی رائڈر ایوارڈ دِنہٕ۔ ==حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2025 واقعات]] ny6xuzrfo2dynefr0cg255zfnp7wsr3 146317 146316 2026-07-29T19:39:33Z آیات محراج 11062 /* */ 146317 wikitext text/x-wiki {{Cycling race/infobox|Q123096769}} '''2025 ٹوٗر دی فرٛانٛس'''، ریسہِ ہُنٛد 112 ہِم ایڈیشن، گوٚو 5 جولائی للی منٛز شروع تہٕ 27 جولائی گوٚو پیرس کِس چیمپس ایلیسیسَس منٛز ختم۔<ref name="2025route">{{Cite web|last=Farrand|first=Stephen|date=12 June 2025|title=Tour de France 2025 route|url=https://www.cyclingnews.com/races/tour-de-france-2025/map/|access-date=12 June 2025|website=cyclingnews.com|language=en}}</ref> متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر شیٚن ؤرۍیَن منٛز پنُن ژوٗرِم خطاب حٲصِل، تہٕ واریاہ مرحلہٕ زیننہٕ پتہٕ کوٚرُن پنٕنۍ برتری مضبوٗط، یَتھ منٛز ہوٹاکامُک اکھ اہم پہاڑی مرحلہٕ تہِ شٲمِل چھُ۔ وِسما-لیز اے بائیکُک جوناس وِنگگارڈ روٗد دٔیِمِس نمبرَس پٮ۪ٹھ ییٚلہِ زَن ریڈ بُل-بورا-ہینسگروہٕکۍ فلورین لیپووٹزَن ترٛیٚیِمِس نمبرَس پٮ۪ٹھ حٲصِل، یُس 2006 پتہٕ گۄڈٕنیُک جرمن پوڈیم ختم گوٚو۔ لڈل-ٹریکٕکۍ جوناتھن میلانَن کٔر پوائنٹَن ہٕنٛز درجہٕ بندی پٮ۪ٹھ غلبہٕ، لیپووٹزَن زیٛوٗن بہترین نوجوان سوار خٲطرٕ سفید جرسی، پوگاکارَن تہِ کوٚر پہاڑَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، تہٕ وِسما-لیز اے بائیکَن کٔر ٹیمٕچ درجہٕ بندی حٲصِل۔ ای ایف ایجوکیشن-ایزی پوسٹٕکۍ بین ہیلی یَس آو ساروٕے کھۄتہٕ زیادٕ جنگی رائڈر ایوارڈ دِنہٕ۔ ==حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2025 واقعات]] 9o0cabi1s0ks9xvvg68mjawmsjy7oug 146349 146317 2026-07-30T09:41:53Z آیات محراج 11062 مِلاوُن [[زٲژ:سایکلِنٛگ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146349 wikitext text/x-wiki {{Cycling race/infobox|Q123096769}} '''2025 ٹوٗر دی فرٛانٛس'''، ریسہِ ہُنٛد 112 ہِم ایڈیشن، گوٚو 5 جولائی للی منٛز شروع تہٕ 27 جولائی گوٚو پیرس کِس چیمپس ایلیسیسَس منٛز ختم۔<ref name="2025route">{{Cite web|last=Farrand|first=Stephen|date=12 June 2025|title=Tour de France 2025 route|url=https://www.cyclingnews.com/races/tour-de-france-2025/map/|access-date=12 June 2025|website=cyclingnews.com|language=en}}</ref> متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر شیٚن ؤرۍیَن منٛز پنُن ژوٗرِم خطاب حٲصِل، تہٕ واریاہ مرحلہٕ زیننہٕ پتہٕ کوٚرُن پنٕنۍ برتری مضبوٗط، یَتھ منٛز ہوٹاکامُک اکھ اہم پہاڑی مرحلہٕ تہِ شٲمِل چھُ۔ وِسما-لیز اے بائیکُک جوناس وِنگگارڈ روٗد دٔیِمِس نمبرَس پٮ۪ٹھ ییٚلہِ زَن ریڈ بُل-بورا-ہینسگروہٕکۍ فلورین لیپووٹزَن ترٛیٚیِمِس نمبرَس پٮ۪ٹھ حٲصِل، یُس 2006 پتہٕ گۄڈٕنیُک جرمن پوڈیم ختم گوٚو۔ لڈل-ٹریکٕکۍ جوناتھن میلانَن کٔر پوائنٹَن ہٕنٛز درجہٕ بندی پٮ۪ٹھ غلبہٕ، لیپووٹزَن زیٛوٗن بہترین نوجوان سوار خٲطرٕ سفید جرسی، پوگاکارَن تہِ کوٚر پہاڑَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، تہٕ وِسما-لیز اے بائیکَن کٔر ٹیمٕچ درجہٕ بندی حٲصِل۔ ای ایف ایجوکیشن-ایزی پوسٹٕکۍ بین ہیلی یَس آو ساروٕے کھۄتہٕ زیادٕ جنگی رائڈر ایوارڈ دِنہٕ۔ ==سامان== {{Cycling race/listofteams|Q123096769}} == سٹیجز == {{Cycling race/listofstages|Q123096769}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q123096769}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q123096769}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q123096769}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q123096769}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q123096769}} == درجہ بندی ہُنٛد وکاس== {{Cycling race/listofstagesclassification|Q123096769}} == شرکت کرن وٲلؠ== {{Cycling race/startlist|Q123096769}} ==حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2025 واقعات]] [[زٲژ:سایکلِنٛگ]] 6ty6vxdghalhh8e88tv56kl05dcyw19 146353 146349 2026-07-30T09:47:37Z آیات محراج 11062 146353 wikitext text/x-wiki {{Cycling race/infobox|Q123096769}} '''2025 ٹوٗر دی فرٛانٛس'''، ریسہِ ہُنٛد 112 ہِم ایڈیشن، گوٚو 5 جولائی للی منٛز شروع تہٕ 27 جولائی گوٚو پیرس کِس چیمپس ایلیسیسَس منٛز ختم۔<ref name="2025route">{{Cite web|last=Farrand|first=Stephen|date=12 June 2025|title=Tour de France 2025 route|url=https://www.cyclingnews.com/races/tour-de-france-2025/map/|access-date=12 June 2025|website=cyclingnews.com|language=en}}</ref> متحدہ عرب اماراتٕچ ٹیم ایمریٹس ایکس آر جی یُک [[تادے پۄگاچار|تادے پۄگاچارَن]] کوٚر شیٚن ؤرۍیَن منٛز پنُن ژوٗرِم خطاب حٲصِل، تہٕ واریاہ مرحلہٕ زیننہٕ پتہٕ کوٚرُن پنٕنۍ برتری مضبوٗط، یَتھ منٛز ہوٹاکامُک اکھ اہم پہاڑی مرحلہٕ تہِ شٲمِل چھُ۔ وِسما-لیز اے بائیکُک جوناس وِنگگارڈ روٗد دٔیِمِس نمبرَس پٮ۪ٹھ ییٚلہِ زَن ریڈ بُل-بورا-ہینسگروہٕکۍ فلورین لیپووٹزَن ترٛیٚیِمِس نمبرَس پٮ۪ٹھ حٲصِل، یُس 2006 پتہٕ گۄڈٕنیُک جرمن پوڈیم ختم گوٚو۔ لڈل-ٹریکٕکۍ جوناتھن میلانَن کٔر پوائنٹَن ہٕنٛز درجہٕ بندی پٮ۪ٹھ غلبہٕ، لیپووٹزَن زیٛوٗن بہترین نوجوان سوار خٲطرٕ سفید جرسی، پوگاکارَن تہِ کوٚر پہاڑَن ہٕنٛز درجہٕ بندی ہُنٛد دعوا، تہٕ وِسما-لیز اے بائیکَن کٔر ٹیمٕچ درجہٕ بندی حٲصِل۔ ای ایف ایجوکیشن-ایزی پوسٹٕکۍ بین ہیلی یَس آو ساروٕے کھۄتہٕ زیادٕ جنگی رائڈر ایوارڈ دِنہٕ۔ ==سامان== {{Cycling race/listofteams|Q123096769}} == سٹیجز == {{Cycling race/listofstages|Q123096769}} == فَینَل درجہٕ بندی == === فَینَل سۆمبرنی درجہٕ بندی === {{Cycling race/generalclassification|Q123096769}} === فَینَل ایپینڈیکس درجہٕ بندی === ==== پۄیِنٹس لحاظ سٕتؠ درجہٕ بندی ==== {{Cycling race/pointsclassification|Q123096769}} ==== پہٲڑی درجہٕ بندی ==== {{Cycling race/mountainsclassification|Q123096769}} ==== بہترین نوجوان کھِلٲڑؠ سٕنٛز درجہٕ بندی ==== {{Cycling race/bestyoungclassification|Q123096769}} ==== ٹیٖم ہِنٛز درجہٕ بندی ==== {{Cycling race/teamsclassificationbytime|Q123096769}} == درجہ بندی ہُنٛد {{مانے|وۄتلُن کرٛم|Evolution}}== {{Cycling race/listofstagesclassification|Q123096769}} == شرکت کرن وٲلؠ== {{Cycling race/startlist|Q123096769}} ==حَوالہٕ== [[زٲژ:کھیل]] [[زٲژ:2025 واقعات]] [[زٲژ:سایکلِنٛگ]] 4bmae1k5c6uonpvaase75ya1jiatxyr نِکہٕ مۄہنیٛو 0 31914 146319 2026-07-29T19:42:11Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1365373871|Homo floresiensis]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146319 wikitext text/x-wiki '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی کنکال آیہٕ برآمد کرنہٕ-اتھ منز چھ اکھ مکمل کھوپڑی شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref><ref name="Morwood05">{{Cite journal|last=Morwood, M. J.|display-authors=etal<!--- |coauthors= Brown, P.; Jatmiko; Sutikna, T.; Wahyu Saptomo, E.; Westaway, K. E.; Rokus Awe Due; Roberts, R. G.; Maeda, T.; Wasisto, S.; Djubiantono, T.--->|date=13 October 2005|title=Further evidence for small-bodied hominins from the Late Pleistocene of Flores, Indonesia|journal=[[Nature (journal)|Nature]]|volume=437|issue=7061|pages=1012–1017|bibcode=2005Natur.437.1012M|doi=10.1038/nature04022|pmid=16229067}}</ref> 2i3ofk0ji5qu20jcwbdyu0jqcdvq0pb 146320 146319 2026-07-29T19:42:55Z Humzah Rouf Phu 12982 /* */ 146320 wikitext text/x-wiki {{مولوٗماتھ}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی کنکال آیہٕ برآمد کرنہٕ-اتھ منز چھ اکھ مکمل کھوپڑی شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref><ref name="Morwood05">{{Cite journal|last=Morwood, M. J.|display-authors=etal<!--- |coauthors= Brown, P.; Jatmiko; Sutikna, T.; Wahyu Saptomo, E.; Westaway, K. E.; Rokus Awe Due; Roberts, R. G.; Maeda, T.; Wasisto, S.; Djubiantono, T.--->|date=13 October 2005|title=Further evidence for small-bodied hominins from the Late Pleistocene of Flores, Indonesia|journal=[[Nature (journal)|Nature]]|volume=437|issue=7061|pages=1012–1017|bibcode=2005Natur.437.1012M|doi=10.1038/nature04022|pmid=16229067}}</ref 1vtkutxaxaatonabpmenv8xjumwnce7 146321 146320 2026-07-29T19:44:29Z Humzah Rouf Phu 12982 [[مِلہٕ مۄہنیٛو]] صَفہٕ آو پَکناونہٕ [[نِکہٕ مۄہنیٛو]] جاے، پَکناوَن وول صٲرف Humzah Rouf Phu 146320 wikitext text/x-wiki {{مولوٗماتھ}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی کنکال آیہٕ برآمد کرنہٕ-اتھ منز چھ اکھ مکمل کھوپڑی شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref><ref name="Morwood05">{{Cite journal|last=Morwood, M. J.|display-authors=etal<!--- |coauthors= Brown, P.; Jatmiko; Sutikna, T.; Wahyu Saptomo, E.; Westaway, K. E.; Rokus Awe Due; Roberts, R. G.; Maeda, T.; Wasisto, S.; Djubiantono, T.--->|date=13 October 2005|title=Further evidence for small-bodied hominins from the Late Pleistocene of Flores, Indonesia|journal=[[Nature (journal)|Nature]]|volume=437|issue=7061|pages=1012–1017|bibcode=2005Natur.437.1012M|doi=10.1038/nature04022|pmid=16229067}}</ref 1vtkutxaxaatonabpmenv8xjumwnce7 146323 146321 2026-07-29T19:46:07Z Humzah Rouf Phu 12982 /* */ 146323 wikitext text/x-wiki {{مولوٗماتھ}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' یا "ہوبٹ" (تمہ خیالی نسل پتہ ناؤ تھوؤمُت) چھِ اکھ لۄکٹَن آدن اِنسانَن ہِنٛز مۄکلیٲمٕژ نسل، یِم اِنڈونیشیا کِس فلورِس جزیرَس پؠٹھ الہٕ پلہٕ ۵۰,۰۰۰ ؤری برٛونٛہہ پؠٹھ، اصل اِنسانَن ہِنٛدِ آمَد تامی، روزان آسہِ۔ اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی کنکال آیہٕ برآمد کرنہٕ-اتھ منز چھ اکھ مکمل کھوپڑی شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref><ref name="Morwood05">{{Cite journal|last=Morwood, M. J.|display-authors=etal<!--- |coauthors= Brown, P.; Jatmiko; Sutikna, T.; Wahyu Saptomo, E.; Westaway, K. E.; Rokus Awe Due; Roberts, R. G.; Maeda, T.; Wasisto, S.; Djubiantono, T.--->|date=13 October 2005|title=Further evidence for small-bodied hominins from the Late Pleistocene of Flores, Indonesia|journal=[[Nature (journal)|Nature]]|volume=437|issue=7061|pages=1012–1017|bibcode=2005Natur.437.1012M|doi=10.1038/nature04022|pmid=16229067}}</ref t4brezk7w0qipvhsoqcfoglcsfqmgjv 146324 146323 2026-07-29T19:46:38Z Humzah Rouf Phu 12982 /* */ 146324 wikitext text/x-wiki {{مولوٗماتھ}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' یا "ہوبٹ" (تمہ خیالی نسل پتہ ناؤ تھوؤمُت) چھِ اکھ لۄکٹَن آدن اِنسانَن ہِنٛز مۄکلیٲمٕژ نسل، یِم اِنڈونیشیا کِس فلورِس جزیرَس پؠٹھ الہٕ پلہٕ ۵۰,۰۰۰ ؤری برٛونٛہہ پؠٹھ، اصل اِنسانَن ہِنٛدِ آمَد تامی، روزان آسہِ۔ اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی کنکال آیہٕ برآمد کرنہٕ-اتھ منز چھ اکھ مکمل کھوپڑی شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref><ref name="Morwood05">{{Cite journal|last=Morwood, M. J.|display-authors=etal<!--- |coauthors= Brown, P.; Jatmiko; Sutikna, T.; Wahyu Saptomo, E.; Westaway, K. E.; Rokus Awe Due; Roberts, R. G.; Maeda, T.; Wasisto, S.; Djubiantono, T.--->|date=13 October 2005|title=Further evidence for small-bodied hominins from the Late Pleistocene of Flores, Indonesia|journal=[[Nature (journal)|Nature]]|volume=437|issue=7061|pages=1012–1017|bibcode=2005Natur.437.1012M|doi=10.1038/nature04022|pmid=16229067}}</ref ==حوالہٕ== albop0n5pw1qh17c0d84fxov2hlxqnw 146354 146324 2026-07-30T10:52:20Z آیات محراج 11062 /* */ changed temp for better presentation 146354 wikitext text/x-wiki {{Infobox species/Wikidata}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' یا "ہوبٹ" (تمہ خیالی نسل پتہ ناؤ تھوؤمُت) چھِ اکھ لۄکٹَن آدن اِنسانَن ہِنٛز مۄکلیٲمٕژ نسل، یِم اِنڈونیشیا کِس فلورِس جزیرَس پؠٹھ الہٕ پلہٕ ۵۰,۰۰۰ ؤری برٛونٛہہ پؠٹھ، اصل اِنسانَن ہِنٛدِ آمَد تامی، روزان آسہِ۔ اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی أڈجہِ کرَٛنٛز آیہٕ برآمد کرنہٕ-اتھ منز چھِ اکھ مکمل کھاپھٕر شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref> == حَوالہٕ == ==حوالہٕ== 2isy3lxdukvmdolcd825iw8qg572xta 146355 146354 2026-07-30T10:52:42Z آیات محراج 11062 /* حَوالہٕ */ 146355 wikitext text/x-wiki {{Infobox species/Wikidata}} '''نِکہٕ مۄہنیٛو''' یا '''''ہومو فلوریسینسس''''' یا "ہوبٹ" (تمہ خیالی نسل پتہ ناؤ تھوؤمُت) چھِ اکھ لۄکٹَن آدن اِنسانَن ہِنٛز مۄکلیٲمٕژ نسل، یِم اِنڈونیشیا کِس فلورِس جزیرَس پؠٹھ الہٕ پلہٕ ۵۰,۰۰۰ ؤری برٛونٛہہ پؠٹھ، اصل اِنسانَن ہِنٛدِ آمَد تامی، روزان آسہِ۔ اکس نفرٕ سند باقیات یم تقریبا {{Convert|1.1|m}} میٹر ( 7 انچ) تھود ٲس کھڑا، آیہ 2003 ہس منٛز لیانگ بوا غارس منٛز دریافت کرنہٕ۔ 2015 ہس تام، 15 افرادن ہند جزوی أڈجہِ کرَٛنٛز آیہٕ برآمد کرنہٕ-اتھ منز چھِ اکھ مکمل کھاپھٕر شٲمل، یتھ "1" LB1 "2" ونان چھ۔<ref name="Brown_et_al_2004">{{Cite journal|last=Brown, P.|display-authors=etal<!--- |coauthors= Sutikna, T.; Morwood, M. J.; Soejono, R. P.; Jatmiko; Wayhu Saptomo, E.; Rokus Awe Due--->|date=27 October 2004|title=A new small-bodied hominin from the Late Pleistocene of Flores, Indonesia|url=http://doc.rero.ch/record/15287/files/PAL_E2586.pdf|journal=[[Nature (journal)|Nature]]|volume=431|issue=7012|pages=1055–1061|bibcode=2004Natur.431.1055B|doi=10.1038/nature02999|pmid=15514638}}</ref> ==حوالہٕ== eusmchiz0tqyyctdwpj8q6dnwcbmkz2 مِلہٕ مۄہنیٛو 0 31915 146322 2026-07-29T19:44:29Z Humzah Rouf Phu 12982 [[مِلہٕ مۄہنیٛو]] صَفہٕ آو پَکناونہٕ [[نِکہٕ مۄہنیٛو]] جاے، پَکناوَن وول صٲرف Humzah Rouf Phu 146322 wikitext text/x-wiki #REDIRECT [[نِکہٕ مۄہنیٛو]] g11ag9823wm51hq7mzb4neaut1331ac تارک مۄہنیٛو 0 31916 146326 2026-07-29T19:54:31Z Humzah Rouf Phu 12982 "[[:en:Special:Redirect/revision/1366436134|Homo naledi]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146326 wikitext text/x-wiki '''تارک مۄہنیٛو''' یا '''''ہومو نیلیڈی''''' چھُ اکھ پرٛون [[زٲژ|انسٲنؠ]] مۄکلیٛٲمٕژ۔ نسل یۄس 2013 ہس منز رائزنگ سٹار گۄپھہٕ نظام، گوتنگ صوبہ، [[جۆنوٗبی اَفریٖقہ|جنوبی افریقا]] منٛز نۆن آو کڈنہٕ، یُس انسان کہ گہوارہ کہ حصہٕ چھ، یوس 2000 وری برونٛہہ مڈل پلیسٹوسین پیٹھہٕ اوس۔ 9d8kg1cspjo0g2rk9uj7grracch7g3o 146327 146326 2026-07-29T19:55:05Z Humzah Rouf Phu 12982 /* */ 146327 wikitext text/x-wiki {{مولوٗماتھ}} '''تارک مۄہنیٛو''' یا '''''ہومو نیلیڈی''''' چھُ اکھ پرٛون [[زٲژ|انسٲنؠ]] مۄکلیٛٲمٕژ۔ نسل یۄس 2013 ہس منز رائزنگ سٹار گۄپھہٕ نظام، گوتنگ صوبہ، [[جۆنوٗبی اَفریٖقہ|جنوبی افریقا]] منٛز نۆن آو کڈنہٕ، یُس انسان کہ گہوارہ کہ حصہٕ چھ، یوس 2000 وری برونٛہہ مڈل پلیسٹوسین پیٹھہٕ اوس۔ ==حوالہٕ== furkdw9iokh8mcdxdba1ukly3riszr6 146356 146327 2026-07-30T10:54:00Z آیات محراج 11062 /* */ changed temp for better presentation 146356 wikitext text/x-wiki {{Infobox species/Wikidata}} '''تارک مۄہنیٛو''' یا '''''ہومو نیلیڈی''''' چھُ اکھ پرٛون [[زٲژ|انسٲنؠ]] مۄکلیٛٲمٕژ۔ نسل یۄس 2013 ہس منز رائزنگ سٹار گۄپھہٕ نظام، گوتنگ صوبہ، [[جۆنوٗبی اَفریٖقہ|جنوبی افریقا]] منٛز نۆن آو کڈنہٕ، یُس انسان کہ گہوارہ کہ حصہٕ چھ، یوس 2000 وری برونٛہہ مڈل پلیسٹوسین پیٹھہٕ اوس۔ ==حوالہٕ== e7ne5pdp2hbnajhihmv0maxns7l7p3b 146357 146356 2026-07-30T10:54:42Z آیات محراج 11062 /* */ 146357 wikitext text/x-wiki {{Infobox species/Wikidata}} '''تارک مۄہنیٛو''' یا '''''ہومو نیلیڈی''''' چھُ اکھ پرٛون [[زٲژ|انسٲنؠ]] مۄکلیٛٲمٕژ۔ نسل یۄس 2013 ہس منز رائزنگ سٹار گۄپھہٕ نظام، گوتنگ صوبہ، [[جۆنوٗبی اَفریٖقہ|جنوبی افریقا]] منٛز نۆن آو کڈنہٕ، یُس انسان کہ گہوارہ کہ حصہٕ چھ، یوس 2000 وری برونٛہہ مڈل پلیسٹوسین پیٹھہٕ اوس۔<ref>{{Cite journal|last1=Ungar|first1=Peter S.|last2=Berger|first2=Lee R.|year=2018|title=Brief communication: Dental microwear and diet of Homo naledi|journal=American Journal of Physical Anthropology|volume=166|issue=1|pages=228–235|bibcode=2018AJPA..166..228U|doi=10.1002/ajpa.23418|issn=1096-8644|pmid=29399788}}</ref> ==حوالہٕ== 1g3dyloey6rrom9oqd3upy4djt8xl4o فرما:Cycling race/listofstages 10 31917 146336 2026-07-30T09:06:06Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|listofstages|{{{1}}}}}</includeonly><noinclude>" 146336 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|listofstages|{{{1}}}}}</includeonly><noinclude> fws4j26ontjrto5f6jbgref758r3ng9 فرما:Cycling race/listofteams 10 31918 146338 2026-07-30T09:11:23Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|listofteams|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}</noinclude>" 146338 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|listofteams|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}</noinclude> kb34rxkvtyildd6bd5wdl554a6y1ocp فرما:Cycling race/generalclassification 10 31919 146340 2026-07-30T09:22:40Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|generalclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}</noinclude>" 146340 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|generalclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}</noinclude> ndpb7a6b619qgj9emlqguspy8qe0d58 فرما:Cycling race/pointsclassification 10 31920 146341 2026-07-30T09:24:12Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|pointsclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude>" 146341 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|pointsclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude> poalvn0qha87nuulslqc6jnidh3wst2 فرما:Cycling race/mountainsclassification 10 31921 146342 2026-07-30T09:25:52Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|mountainsclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude>" 146342 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|mountainsclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude> nebc115whzh2tgw7r2imukpjfuas3pz فرما:Cycling race/bestyoungclassification 10 31922 146343 2026-07-30T09:26:58Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|bestyoungclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude>" 146343 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|bestyoungclassification|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude> oktxvkq4t0u4wi59f5kimf04cddnx3o فرما:Cycling race/teamsclassificationbytime 10 31923 146344 2026-07-30T09:27:54Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|teamsclassificationbytime|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude>" 146344 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|teamsclassificationbytime|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude> 6dr4kftrxw982pjeufe2vnder8n51wi زٲژ:سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ 14 31924 146345 2026-07-30T09:28:06Z آیات محراج 11062 Created blank page 146345 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 فرما:Cycling race/listofstagesclassification 10 31925 146347 2026-07-30T09:36:28Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|listofstagesclassification|{{{1}}}}}</includeonly><noinclude>{{Documentation}}</noinclude>" 146347 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|listofstagesclassification|{{{1}}}}}</includeonly><noinclude>{{Documentation}}</noinclude> dik0cb8q8nw18g39q02y1vcjvx6q67w فرما:Cycling race/startlist 10 31926 146348 2026-07-30T09:37:46Z آیات محراج 11062 Created page with "<includeonly>{{#invoke:Cycling race|startlist|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude>" 146348 wikitext text/x-wiki <includeonly>{{#invoke:Cycling race|startlist|{{{1}}}}}</includeonly><noinclude>{{دستاویز}}[[زٲژ: سایکلِنٛگ مُتعلِق مولوٗماتھ ڈَبہٕ]]</noinclude> bejmfi2sc00eel74qtb9gi47ntjnt1d زٲژ:سایکلِنٛگ 14 31927 146350 2026-07-30T09:42:55Z آیات محراج 11062 Created page with "[[زٲژ: کھیل]]" 146350 wikitext text/x-wiki [[زٲژ: کھیل]] th5rb2cau1psqapzn9vho7ewdqztlsx سُٹوڈنٹس فیڈریشن آف اِنٛڈیا 0 31928 146365 2026-07-30T11:08:39Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366624620|Students' Federation of India]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146365 wikitext text/x-wiki '''سُٹوڈنٹس فیڈریشن آف اِنٛڈیا''' ('''ایس ایف آیی''') چھ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہِنٛز تنظیٖم۔<ref>{{ویب حَوالہٕ|date=2025-05-21|title=All you need to know about key student wings in Indian politics: NSUI, ABVP, SFI and newly relaunched ASAP {{!}} Today News|url=https://www.livemint.com/news/india/all-you-need-to-know-about-key-student-wings-in-indian-politics-nsui-abvp-and-newly-relaunched-asap-11747817599338.html|access-date=2026-07-22|website=mint|language=en}}</ref> یہ چھ [[کمیوٗنِسٹ پارٹی آف اِنٛڈیا (مارکسِسٹ)]] سۭتۍ منسلک۔<ref>{{Cite news|date=2017-05-07|title=Kerala student politics: Violence rises in colleges as SFI refuses to lay low even with CPM at the helm|url=https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archiveurl=http://web.archive.org/web/20250608050741/https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archivedate=2025-06-08|accessdate=2026-07-22|journal=Firstpost|language=fp-IN}}</ref> q2rlfy7m4g6sgxzdwquaa6y5yidznmd 146366 146365 2026-07-30T11:11:35Z آیات محراج 11062 /* */ 146366 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = . | titleborder = 3px solid #FF9933 | headerborder = 3px solid #FF9933 | تَصویٖر = SFI-flag.svg }} '''سُٹوڈنٹس فیڈریشن آف اِنٛڈیا''' ('''ایس ایف آیی''') چھ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہِنٛز تنظیٖم۔<ref>{{ویب حَوالہٕ|date=2025-05-21|title=All you need to know about key student wings in Indian politics: NSUI, ABVP, SFI and newly relaunched ASAP {{!}} Today News|url=https://www.livemint.com/news/india/all-you-need-to-know-about-key-student-wings-in-indian-politics-nsui-abvp-and-newly-relaunched-asap-11747817599338.html|access-date=2026-07-22|website=mint|language=en}}</ref> یہ چھ [[کمیوٗنِسٹ پارٹی آف اِنٛڈیا (مارکسِسٹ)]] سۭتۍ منسلک۔<ref>{{Cite news|date=2017-05-07|title=Kerala student politics: Violence rises in colleges as SFI refuses to lay low even with CPM at the helm|url=https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archiveurl=http://web.archive.org/web/20250608050741/https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archivedate=2025-06-08|accessdate=2026-07-22|journal=Firstpost|language=fp-IN}}</ref> ljoymhw2y8cmrxm90gl0muryzlr3ul4 146367 146366 2026-07-30T11:13:16Z آیات محراج 11062 /* */ 146367 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = . | titleborder = 3px solid #FF0E16 | headerborder = 3px solid #FF0E16 | تَصویٖر = SFI-flag.svg }} '''سُٹوڈنٹس فیڈریشن آف اِنٛڈیا''' ('''ایس ایف آیی''') چھ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہِنٛز تنظیٖم۔<ref>{{ویب حَوالہٕ|date=2025-05-21|title=All you need to know about key student wings in Indian politics: NSUI, ABVP, SFI and newly relaunched ASAP {{!}} Today News|url=https://www.livemint.com/news/india/all-you-need-to-know-about-key-student-wings-in-indian-politics-nsui-abvp-and-newly-relaunched-asap-11747817599338.html|access-date=2026-07-22|website=mint|language=en}}</ref> یہ چھ [[کمیوٗنِسٹ پارٹی آف اِنٛڈیا (مارکسِسٹ)]] سۭتۍ منسلک۔<ref>{{Cite news|date=2017-05-07|title=Kerala student politics: Violence rises in colleges as SFI refuses to lay low even with CPM at the helm|url=https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archiveurl=http://web.archive.org/web/20250608050741/https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archivedate=2025-06-08|accessdate=2026-07-22|journal=Firstpost|language=fp-IN}}</ref> ml46px1o0a1u2pp7c20eh8sh12jdfgk 146368 146367 2026-07-30T11:14:02Z آیات محراج 11062 مِلاوُن [[زٲژ:سِیٲسَي تنظیٖم]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146368 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = . | titleborder = 3px solid #FF0E16 | headerborder = 3px solid #FF0E16 | تَصویٖر = SFI-flag.svg }} '''سُٹوڈنٹس فیڈریشن آف اِنٛڈیا''' ('''ایس ایف آیی''') چھ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہِنٛز تنظیٖم۔<ref>{{ویب حَوالہٕ|date=2025-05-21|title=All you need to know about key student wings in Indian politics: NSUI, ABVP, SFI and newly relaunched ASAP {{!}} Today News|url=https://www.livemint.com/news/india/all-you-need-to-know-about-key-student-wings-in-indian-politics-nsui-abvp-and-newly-relaunched-asap-11747817599338.html|access-date=2026-07-22|website=mint|language=en}}</ref> یہ چھ [[کمیوٗنِسٹ پارٹی آف اِنٛڈیا (مارکسِسٹ)]] سۭتۍ منسلک۔<ref>{{Cite news|date=2017-05-07|title=Kerala student politics: Violence rises in colleges as SFI refuses to lay low even with CPM at the helm|url=https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archiveurl=http://web.archive.org/web/20250608050741/https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archivedate=2025-06-08|accessdate=2026-07-22|journal=Firstpost|language=fp-IN}}</ref> ==حَوالہٕ== [[زٲژ:سِیٲسَي تنظیٖم]] 8zmkdhaol516c02tm252wari181pbi3 146369 146368 2026-07-30T11:14:25Z آیات محراج 11062 /* */ 146369 wikitext text/x-wiki {{مولوٗماتھ | bgcolor = . | titleborder = 3px solid #FF0E16 | headerborder = 3px solid #FF0E16 | تَصویٖر = SFI-flag.svg }} '''سُٹوڈنٹس فیڈریشن آف اِنٛڈیا''' ('''ایس ایف آیی''') چھِ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہِنٛز تنظیٖم۔<ref>{{ویب حَوالہٕ|date=2025-05-21|title=All you need to know about key student wings in Indian politics: NSUI, ABVP, SFI and newly relaunched ASAP {{!}} Today News|url=https://www.livemint.com/news/india/all-you-need-to-know-about-key-student-wings-in-indian-politics-nsui-abvp-and-newly-relaunched-asap-11747817599338.html|access-date=2026-07-22|website=mint|language=en}}</ref> یہِ چھُ [[کمیوٗنِسٹ پارٹی آف اِنٛڈیا (مارکسِسٹ)]] سۭتۍ منسلک۔<ref>{{Cite news|date=2017-05-07|title=Kerala student politics: Violence rises in colleges as SFI refuses to lay low even with CPM at the helm|url=https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archiveurl=http://web.archive.org/web/20250608050741/https://www.firstpost.com/india/kerala-student-politics-violence-rises-in-colleges-as-sfi-refuses-to-lay-low-even-with-cpm-at-the-helm-3428674.html|archivedate=2025-06-08|accessdate=2026-07-22|journal=Firstpost|language=fp-IN}}</ref> ==حَوالہٕ== [[زٲژ:سِیٲسَي تنظیٖم]] 3so2iez0bg6brfhmsucwwwktzpmex7l آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن 0 31929 146370 2026-07-30T11:18:08Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366346610|All India Students' Association]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146370 wikitext text/x-wiki '''آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن''' (اے آیی ایس اے) چھِ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہنٛز تنظیم۔ یہِ چھُ پانس "بُنیاد پرست شاگردن ہنٛز تحریکچ آواز" قرار دِوان تہٕ چھِ کمیونسٹ پارٹی آف انڈیا (مارکسسٹ-لیننسٹ لبریشن) سۭتۍ وابستہٕ۔<ref>{{ویب حَوالہٕ|title=AISA : Manifesto|url=http://www.aisa.in/about/manifesto/|access-date=29 May 2015|website=AISA}}</ref> یہ ایسوسی ایشن ٲس گۄڈٕ آیی پی ایف سۭتۍ منسلک۔<ref name="ipf">{{ویب حَوالہٕ|last=Gupta|first=J. S.|date=15 April 1993|title=Students say 'no' to politics of communalism|url=https://www.indiatoday.in/magazine/indiascope/story/19930415-students-say-no-to-politics-of-communalism-810941-1993-04-15|access-date=2020-04-05|website=India Today|language=en}}</ref> یہ آیہ 9 اگست 1990 پریاگ راج منٛز پوٗرٕ ہندوستانس منٛز واریاہن کھوٚورِ طرفٕک طٲلبہ علمن ہنٛدین تنظیمن ہنٛد ملنہٕ سۭتہ قٲیم کرنہٕ۔ اے آیی ایس اے ہٕچ واریاہن ریاستن تہٕ مرکزی زیر انتظام علاقن منٛز تنظیمی موجودگی، یمن منٛز دلہ، [[چَنٛڈی گَڑھ|چندی گڑھ]] [[وۄتٕراکھَنٛڈ|اتراکھنڈ]] [[وۄتُر پرَٛدیش|اتر پردیش]] [[آسام]] [[بِہار|بہار]] [[جھارکھَنٛڈ|جھارکھنڈ]] [[مَغرَبی بَنٛگال|مغربی بنگال]] تہٕ [[ترِٛپورا|تریپورہ]] بیٚتر شٲمِل چھِ۔<ref>{{Cite news|url=https://economictimes.indiatimes.com/news/politics-and-nation/four-year-undergraduate-programme-issue-protesting-students-detained/articleshow/37244571.cms|title=Four-year undergraduate programme issue: Protesting students detained|date=2014-06-26|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{Cite news|last=Mishra|first=Subhash|url=https://economictimes.indiatimes.com/news/politics-and-nation/left-is-right-in-uttar-pradesh-congress/articleshow/74606351.cms|title=Left is right in Uttar Pradesh Congress?|date=2020-03-13|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{ویب حَوالہٕ|last=Das|first=Gaurav|date=12 March 2020|title=Assam Rocked by Statewide Protests Demanding Akhil Gogoi's Release|url=https://thewire.in/rights/assam-protests-akhil-gogoi-health|access-date=2020-04-04|website=The Wire}}</ref><ref>{{ویب حَوالہٕ|date=2013-12-24|title=Dist wing of All-India Students Association to start agitation|url=https://www.thestatesman.com/bengal/dist-wing-of-all-india-students-association-to-start-agitation-31352.html|access-date=2020-04-04|website=The Statesman}}</ref><ref>{{ویب حَوالہٕ|last=Chowdhury|first=Subhankar|date=14 March 2020|title=Students of Calcutta seek help for Delhi riot victims|url=https://www.telegraphindia.com/west-bengal/students-of-calcutta-seek-help-for-delhi-riot-victims/cid/1753546|access-date=2020-04-04|website=The Telegraph (Kolkata)|language=en}}</ref> miy0ulvl41hw0rzf4gzq6t2jnn6ixsf 146371 146370 2026-07-30T11:18:53Z آیات محراج 11062 /* */ 146371 wikitext text/x-wiki {{Infobox organisation/Wikidata}} '''آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن''' (اے آیی ایس اے) چھِ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہنٛز تنظیم۔ یہِ چھُ پانس "بُنیاد پرست شاگردن ہنٛز تحریکچ آواز" قرار دِوان تہٕ چھِ کمیونسٹ پارٹی آف انڈیا (مارکسسٹ-لیننسٹ لبریشن) سۭتۍ وابستہٕ۔<ref>{{ویب حَوالہٕ|title=AISA : Manifesto|url=http://www.aisa.in/about/manifesto/|access-date=29 May 2015|website=AISA}}</ref> یہ ایسوسی ایشن ٲس گۄڈٕ آیی پی ایف سۭتۍ منسلک۔<ref name="ipf">{{ویب حَوالہٕ|last=Gupta|first=J. S.|date=15 April 1993|title=Students say 'no' to politics of communalism|url=https://www.indiatoday.in/magazine/indiascope/story/19930415-students-say-no-to-politics-of-communalism-810941-1993-04-15|access-date=2020-04-05|website=India Today|language=en}}</ref> یہ آیہ 9 اگست 1990 پریاگ راج منٛز پوٗرٕ ہندوستانس منٛز واریاہن کھوٚورِ طرفٕک طٲلبہ علمن ہنٛدین تنظیٖمن ہنٛد ملنہٕ سۭتہ قٲیم کرنہٕ۔ اے آیی ایس اے ہٕچ واریاہن ریاستن تہٕ مرکزی زیر انتظام علاقن منٛز تنظیمی موجودگی، یمن منٛز دلہ، [[چَنٛڈی گَڑھ|چندی گڑھ]] [[وۄتٕراکھَنٛڈ|اتراکھنڈ]] [[وۄتُر پرَٛدیش|اتر پردیش]] [[آسام]] [[بِہار|بہار]] [[جھارکھَنٛڈ|جھارکھنڈ]] [[مَغرَبی بَنٛگال|مغربی بنگال]] تہٕ [[ترِٛپورا|تریپورہ]] بیٚتر شٲمِل چھِ۔<ref>{{Cite news|url=https://economictimes.indiatimes.com/news/politics-and-nation/four-year-undergraduate-programme-issue-protesting-students-detained/articleshow/37244571.cms|title=Four-year undergraduate programme issue: Protesting students detained|date=2014-06-26|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{Cite news|last=Mishra|first=Subhash|url=https://economictimes.indiatimes.com/news/politics-and-nation/left-is-right-in-uttar-pradesh-congress/articleshow/74606351.cms|title=Left is right in Uttar Pradesh Congress?|date=2020-03-13|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{ویب حَوالہٕ|last=Das|first=Gaurav|date=12 March 2020|title=Assam Rocked by Statewide Protests Demanding Akhil Gogoi's Release|url=https://thewire.in/rights/assam-protests-akhil-gogoi-health|access-date=2020-04-04|website=The Wire}}</ref><ref>{{ویب حَوالہٕ|date=2013-12-24|title=Dist wing of All-India Students Association to start agitation|url=https://www.thestatesman.com/bengal/dist-wing-of-all-india-students-association-to-start-agitation-31352.html|access-date=2020-04-04|website=The Statesman}}</ref><ref>{{ویب حَوالہٕ|last=Chowdhury|first=Subhankar|date=14 March 2020|title=Students of Calcutta seek help for Delhi riot victims|url=https://www.telegraphindia.com/west-bengal/students-of-calcutta-seek-help-for-delhi-riot-victims/cid/1753546|access-date=2020-04-04|website=The Telegraph (Kolkata)|language=en}}</ref> q0fx65zk86yll7ahafqn1j48czvyksz 146372 146371 2026-07-30T11:20:15Z آیات محراج 11062 مِلاوُن [[زٲژ:سِیٲسَي تنظیٖم]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146372 wikitext text/x-wiki {{Infobox organisation/Wikidata}} '''آل اِنٛڈیا سُٹوڈنٹس ایسوسی ایشن''' (اے آیی ایس اے) چھِ ہندوستانس منٛز اکھ کھوٚورِ طرفٕک طٲلبہ علمن ہنٛز تنظیم۔ یہِ چھُ پانس "بُنیاد پرست شاگردن ہنٛز تحریکچ آواز" قرار دِوان تہٕ چھِ کمیونسٹ پارٹی آف انڈیا (مارکسسٹ-لیننسٹ لبریشن) سۭتۍ وابستہٕ۔<ref>{{ویب حَوالہٕ|title=AISA : Manifesto|url=http://www.aisa.in/about/manifesto/|access-date=29 May 2015|website=AISA}}</ref> یہِ ایسوسی ایشن ٲس گۄڈٕ آیی پی ایف سۭتۍ منسلک۔<ref name="ipf">{{ویب حَوالہٕ|last=Gupta|first=J. S.|date=15 April 1993|title=Students say 'no' to politics of communalism|url=https://www.indiatoday.in/magazine/indiascope/story/19930415-students-say-no-to-politics-of-communalism-810941-1993-04-15|access-date=2020-04-05|website=India Today|language=en}}</ref> یہ آیہ 9 اگست 1990 پریاگ راج منٛز پوٗرٕ ہندوستانس منٛز واریاہن کھوٚورِ طرفٕک طٲلبہ علمن ہنٛدین تنظیٖمن ہنٛد ملنہٕ سٕتؠ قٲیم کرنہٕ۔ اے آیی ایس اے ہٕچ واریاہن ریاستن تہٕ مرکزی زیر انتظام علاقن منٛز تنظیمی موجودگی، یمن منٛز دلہ، [[چَنٛڈی گَڑھ|چندی گڑھ]] [[وۄتٕراکھَنٛڈ|اتراکھنڈ]] [[وۄتُر پرَٛدیش|اتر پردیش]] [[آسام]] [[بِہار|بہار]] [[جھارکھَنٛڈ|جھارکھنڈ]] [[مَغرَبی بَنٛگال|مغربی بنگال]] تہٕ [[ترِٛپورا|تریپورہ]] بیٚتر شٲمِل چھِ۔<ref>{{Cite news|url=https://economictimes.indiatimes.com/news/politics-and-nation/four-year-undergraduate-programme-issue-protesting-students-detained/articleshow/37244571.cms|title=Four-year undergraduate programme issue: Protesting students detained|date=2014-06-26|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{Cite news|last=Mishra|first=Subhash|url=https://economictimes.indiatimes.com/news/politics-and-nation/left-is-right-in-uttar-pradesh-congress/articleshow/74606351.cms|title=Left is right in Uttar Pradesh Congress?|date=2020-03-13|journal=The Economic Times|accessdate=2020-04-04}}</ref><ref>{{ویب حَوالہٕ|last=Das|first=Gaurav|date=12 March 2020|title=Assam Rocked by Statewide Protests Demanding Akhil Gogoi's Release|url=https://thewire.in/rights/assam-protests-akhil-gogoi-health|access-date=2020-04-04|website=The Wire}}</ref><ref>{{ویب حَوالہٕ|date=2013-12-24|title=Dist wing of All-India Students Association to start agitation|url=https://www.thestatesman.com/bengal/dist-wing-of-all-india-students-association-to-start-agitation-31352.html|access-date=2020-04-04|website=The Statesman}}</ref><ref>{{ویب حَوالہٕ|last=Chowdhury|first=Subhankar|date=14 March 2020|title=Students of Calcutta seek help for Delhi riot victims|url=https://www.telegraphindia.com/west-bengal/students-of-calcutta-seek-help-for-delhi-riot-victims/cid/1753546|access-date=2020-04-04|website=The Telegraph (Kolkata)|language=en}}</ref> ==حَوالہٕ== [[زٲژ:سِیٲسَي تنظیٖم]] ozqis42z0jtnziepdqo75yah4k8blbi آل اِنٛڈیا سُٹوڈنٹس فیڈریشن 0 31930 146373 2026-07-30T11:26:36Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366373559|All India Students' Federation]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146373 wikitext text/x-wiki . 6t9fg2gmch401ldtk8m7pyzz632ixbb 146374 146373 2026-07-30T11:30:51Z آیات محراج 11062 /* */ 146374 wikitext text/x-wiki آل انڈیا سُٹوڈنٹس فیڈریشن (اے آے ایس ایف)، یۄس 12 اگست 1936 ہَس منٛز لکھنَوَس منٛز قٲیِم گٔیہِ، چھِ ہندوستانٕچ سارِوٕے کھۄتہٕ پرٛون طٲلبہِ عٔلمہِ تنظیٖم۔ اَمہِ کِس بُنیاد کانفرنسَس منٛز آیہِ 936 وفود شٲمِل تہٕ امِچ افتتاح کٔر جواہر لال نہرون تہٕ صدارت کٔر محمد علی جناحَن تہٕ پریم نارائن بھارگوا آو امیُک گۄڈنیُک جنرل سیکرٹری منتخب کرنہٕ۔ تَمہِ ؤرۍیہِ کِس ٲخٕرَس منٛز لاہورَس منٛز آیہِ دوٚیِم کانفرنسہِ منٛز تنظیمُک ٲییٖن منظور تہٕ کوٚرُکھ یہِ ورلڈ سٹوڈنٹس ایسوسی ایشنَس سۭتۍ وابستہٕ۔ آزٲدی برٛونٛہہ کٮ۪ن ؤرۍ یَن منٛز ٲسۍ اے آیی ایس ایفٕک رُکُن بَڑٮ۪ن قوم پرستن مقصدَن منٛز سرگرم: ہیمو کلانی تہٕ کنکلاتا بروا ہِوۍ رہنُما گٔیہِ آزٲدی ہٕنٛدِس جدوجہدَس منٛز مارٕ، أمۍ جمٲژ کٔر 1943 ہَس منٛز بنگالس منٛز قحطس منٛز اِمداد، تہٕ أمۍ کٔر 1946 ہٕچ رائل انڈین نیوی بغاوتس دوران بحری درجہٕ بندی خٲطرٕ حمایت جمع کرنس منٛز مدد۔ آزٲدی پتہٕ کوٚر اے آیی ایس ایفَن پنُن توجہ تٲلیٖم، سامراجس خٕلاف تہٕ جٲگیردارَس خٕلاف پنُن توجہ تٔعلیٖم، تہٕ حیدرآبادٕک نظامَس خٕلاف تلنگانہ بغاوتس تہٕ گوا چہِ آزٲدی ہٕنٛزِ تحریٖکَس منٛز قٲبلِ ذِکر کِردار ادا کوٚر، ییٚتہِ 1955 ہَس منٛز ستیہ گرہٮ۪ن پٮ۪ٹھ گولہِ چلاونہٕ وِزِ اے آیی ایس ایف رہنُما موجود ٲسۍ۔ فیڈریشنَن کٔر کوتھاری کمیشن کٮ۪ن تٲلیٖمی اصلاحاتن منٛز تہِ پنُن حصہٕ، تہٕ 1980 کِس دہلِس منٛز ستیہ پال ڈانگ سٕنٛزِ قیادتَس منٛز کٔر کینٛژو رُکنو خالصتانی دہشت گردَن خلاف مزاحمت کرنہٕ خٲطرٕ مسلح تربِیت، یَتھ منٛز واریاہ کارکُن مارٕ یا زخمی گٔیہِ۔ از چھُ اے آیی ایس ایف کیرالہ، بہار، مغربی بنگال، تہٕ تمل ناڈو ہِوین ریاستن منٛز مضبوٗط موجودگی برقرار تھاوان، یُس قومی پٮ۪ٹھٕ ادارٕ جاتی سطحس تام أکِس کثیر سطحی ڈھانچہٕ کہِ ذٔریعہٕ منظم چھُ کرنہٕ آمُت، یُس امکہِ نصب العین "مطالعہٕ تہٕ جدوجہد" (1958 منٛز اختیار کرنہٕ آمُت، اصلی "آزٲدی، امن تہٕ ترقی" ہٕنٛز جاے رٹنہٕ آمُت)۔ حالَے ؤرۍیَن منٛز کوٚر أمۍ قومی تعلیٖمی پالیسی، یوٗنیورسٹی فیسَس منٛز ہُریر، تہٕ شہریت ترمیمی ایکٹَس خلاف احتجاج، کووِڈ-19 ریلیف مدد فراہم کٔرمٕژ، تہٕ امتحانَن ہٕنٛز بےٚ قٲعدگی تہٕ سکوٗلَن ہٕنٛز نجکاری ہِوین مسلَن پیٹھ مہم چلٲومٕژ۔ أمۍ چھُ ہندو علامتی تناعضَن پٮ۪ٹھ تہِ عوٲمی موقفٕ اختیار کوٚرمُت، خاص طور پٲٹھۍ 2025 ہَس منٛز کیرالہَس منٛز {{Nowrap|بھارت}} ماتا ہٕنٛز تصویر ہاونَس پٮ۪ٹھ حُکامن سۭتۍ ٹکراو، تہٕ چھُ ایل جی بی ٹی حقوقن پیٹھ سرگرم، یَتھ منٛز رُکُن نادیرا مہرین کیرالہ یونیورسٹی تہٕ ایس ایس یوٗ یَس منٛز طٲلبہِ عٔلمہِ یونین ہٕنٛدِس انتخابَس منٛز گۄڈٕنِچ ٹرانس جینڈر وۄمیدوار بنییہِ۔ قیادتَس منٛز حالَے تبدیلیہِ تام بنیوو ویٖراج دیوانگ جوٗن 2024 ہَس منٛز قومی صدٕر، ییٚلہِ زَن دنیش سری رانٛگراج چھُ 2023 ہَس منٛز بیگوسرائے منٛز مُنعقد گژھن واجنہِ 30 ہِمہِ قومی کانفرنسہِ پتہٕ جنرل سیکرٹری سٕنٛدِ حثیتہٕ کٲم کران۔ q3zw1if8msall0quo541a3usq7igdz6 146375 146374 2026-07-30T11:32:05Z آیات محراج 11062 /* */ 146375 wikitext text/x-wiki {{Infobox organisation/Wikidata}} '''آل اِنٛڈیا سُٹوڈنٹس فیڈریشن''' (اے آے ایس ایف)، یۄس 12 اگست 1936 ہَس منٛز لکھنَوَس منٛز قٲیِم گٔیہِ، چھِ ہندوستانٕچ سارِوٕے کھۄتہٕ پرٛون طٲلبہِ عٔلمہِ تنظیٖم۔ اَمہِ کِس بُنیاد کانفرنسَس منٛز آیہِ 936 وفود شٲمِل تہٕ امِچ افتتاح کٔر جواہر لال نہرون تہٕ صدارت کٔر محمد علی جناحَن تہٕ پریم نارائن بھارگوا آو امیُک گۄڈنیُک جنرل سیکرٹری منتخب کرنہٕ۔<ref>{{cite web|title=History|url=http://aisf.in/history/|archive-url=https://web.archive.org/web/20180610115012/http://aisf.in/history/|archive-date=10 June 2018|access-date=9 March 2019|publisher=All India Students Federation}}</ref> تَمہِ ؤرۍیہِ کِس ٲخٕرَس منٛز لاہورَس منٛز آیہِ دوٚیِم کانفرنسہِ منٛز تنظیمُک ٲییٖن منظور تہٕ کوٚرُکھ یہِ ورلڈ سٹوڈنٹس ایسوسی ایشنَس سۭتۍ وابستہٕ۔ آزٲدی برٛونٛہہ کٮ۪ن ؤرۍ یَن منٛز ٲسۍ اے آیی ایس ایفٕک رُکُن بَڑٮ۪ن قوم پرستن مقصدَن منٛز سرگرم: ہیمو کلانی تہٕ کنکلاتا بروا ہِوۍ رہنُما گٔیہِ آزٲدی ہٕنٛدِس جدوجہدَس منٛز مارٕ، أمۍ جمٲژ کٔر 1943 ہَس منٛز بنگالس منٛز قحطس منٛز اِمداد، تہٕ أمۍ کٔر 1946 ہٕچ رائل انڈین نیوی بغاوتس دوران بحری درجہٕ بندی خٲطرٕ حمایت جمع کرنس منٛز مدد۔ آزٲدی پتہٕ کوٚر اے آیی ایس ایفَن پنُن توجہ تٲلیٖم، سامراجس خٕلاف تہٕ جٲگیردارَس خٕلاف پنُن توجہ تٔعلیٖم، تہٕ حیدرآبادٕک نظامَس خٕلاف تلنگانہ بغاوتس تہٕ گوا چہِ آزٲدی ہٕنٛزِ تحریٖکَس منٛز قٲبلِ ذِکر کِردار ادا کوٚر، ییٚتہِ 1955 ہَس منٛز ستیہ گرہٮ۪ن پٮ۪ٹھ گولہِ چلاونہٕ وِزِ اے آیی ایس ایف رہنُما موجود ٲسۍ۔ فیڈریشنَن کٔر کوتھاری کمیشن کٮ۪ن تٲلیٖمی اصلاحاتن منٛز تہِ پنُن حصہٕ، تہٕ 1980 کِس دہلِس منٛز ستیہ پال ڈانگ سٕنٛزِ قیادتَس منٛز کٔر کینٛژو رُکنو خالصتانی دہشت گردَن خلاف مزاحمت کرنہٕ خٲطرٕ مسلح تربِیت، یَتھ منٛز واریاہ کارکُن مارٕ یا زخمی گٔیہِ۔ از چھُ اے آیی ایس ایف کیرالہ، بہار، مغربی بنگال، تہٕ تمل ناڈو ہِوین ریاستن منٛز مضبوٗط موجودگی برقرار تھاوان، یُس قومی پٮ۪ٹھٕ ادارٕ جاتی سطحس تام أکِس کثیر سطحی ڈھانچہٕ کہِ ذٔریعہٕ منظم چھُ کرنہٕ آمُت، یُس امکہِ نصب العین "مطالعہٕ تہٕ جدوجہد" (1958 منٛز اختیار کرنہٕ آمُت، اصلی "آزٲدی، امن تہٕ ترقی" ہٕنٛز جاے رٹنہٕ آمُت)۔ حالَے ؤرۍیَن منٛز کوٚر أمۍ قومی تعلیٖمی پالیسی، یوٗنیورسٹی فیسَس منٛز ہُریر، تہٕ شہریت ترمیمی ایکٹَس خلاف احتجاج، کووِڈ-19 ریلیف مدد فراہم کٔرمٕژ، تہٕ امتحانَن ہٕنٛز بےٚ قٲعدگی تہٕ سکوٗلَن ہٕنٛز نجکاری ہِوین مسلَن پیٹھ مہم چلٲومٕژ۔ أمۍ چھُ ہندو علامتی تناعضَن پٮ۪ٹھ تہِ عوٲمی موقفٕ اختیار کوٚرمُت، خاص طور پٲٹھۍ 2025 ہَس منٛز کیرالہَس منٛز {{Nowrap|بھارت}} ماتا ہٕنٛز تصویر ہاونَس پٮ۪ٹھ حُکامن سۭتۍ ٹکراو، تہٕ چھُ ایل جی بی ٹی حقوقن پیٹھ سرگرم، یَتھ منٛز رُکُن نادیرا مہرین کیرالہ یونیورسٹی تہٕ ایس ایس یوٗ یَس منٛز طٲلبہِ عٔلمہِ یونین ہٕنٛدِس انتخابَس منٛز گۄڈٕنِچ ٹرانس جینڈر وۄمیدوار بنییہِ۔ قیادتَس منٛز حالَے تبدیلیہِ تام بنیوو ویٖراج دیوانگ جوٗن 2024 ہَس منٛز قومی صدٕر، ییٚلہِ زَن دنیش سری رانٛگراج چھُ 2023 ہَس منٛز بیگوسرائے منٛز مُنعقد گژھن واجنہِ 30 ہِمہِ قومی کانفرنسہِ پتہٕ جنرل سیکرٹری سٕنٛدِ حثیتہٕ کٲم کران۔ pvqv2ccfgzfu7wtc81q4awx5s2h27kp 146376 146375 2026-07-30T11:34:18Z آیات محراج 11062 مِلاوُن [[زٲژ:سِیٲسَي تنظیٖم]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146376 wikitext text/x-wiki {{Infobox organisation/Wikidata}} '''آل اِنٛڈیا سُٹوڈنٹس فیڈریشن''' (اے آے ایس ایف)، یۄس 12 اگست 1936 ہَس منٛز لکھنَوَس منٛز قٲیِم گٔیہِ، چھِ ہندوستانٕچ سارِوٕے کھۄتہٕ پرٛون طٲلبہِ عٔلمہِ تنظیٖم۔ اَمہِ کِس بُنیاد کانفرنسَس منٛز آیہِ 936 وفود شٲمِل تہٕ امِچ افتتاح کٔر جواہر لال نہرون تہٕ صدارت کٔر محمد علی جناحَن تہٕ پریم نارائن بھارگوا آو امیُک گۄڈنیُک جنرل سیکرٹری منتخب کرنہٕ۔<ref>{{cite web|title=History|url=http://aisf.in/history/|archive-url=https://web.archive.org/web/20180610115012/http://aisf.in/history/|archive-date=10 June 2018|access-date=9 March 2019|publisher=All India Students Federation}}</ref> تَمہِ ؤرۍیہِ کِس ٲخٕرَس منٛز لاہورَس منٛز آیہِ دوٚیِم کانفرنسہِ منٛز تنظیمُک ٲییٖن منظور تہٕ کوٚرُکھ یہِ ورلڈ سٹوڈنٹس ایسوسی ایشنَس سۭتۍ وابستہٕ۔ آزٲدی برٛونٛہہ کٮ۪ن ؤرۍ یَن منٛز ٲسۍ اے آیی ایس ایفٕک رُکُن بَڑٮ۪ن قوم پرستن مقصدَن منٛز سرگرم: ہیمو کلانی تہٕ کنکلاتا بروا ہِوۍ رہنُما گٔیہِ آزٲدی ہٕنٛدِس جدوجہدَس منٛز مارٕ، أمۍ جمٲژ کٔر 1943 ہَس منٛز بنگالس منٛز قحطس منٛز اِمداد، تہٕ أمۍ کٔر 1946 ہٕچ رائل انڈین نیوی بغاوتس دوران بحری درجہٕ بندی خٲطرٕ حمایت جمع کرنس منٛز مدد۔ آزٲدی پتہٕ کوٚر اے آیی ایس ایفَن پنُن توجہ تٲلیٖم، سامراجس خٕلاف تہٕ جٲگیردارَس خٕلاف پنُن توجہ تٔعلیٖم، تہٕ حیدرآبادٕک نظامَس خٕلاف تلنگانہ بغاوتس تہٕ گوا چہِ آزٲدی ہٕنٛزِ تحریٖکَس منٛز قٲبلِ ذِکر کِردار ادا کوٚر، ییٚتہِ 1955 ہَس منٛز ستیہ گرہٮ۪ن پٮ۪ٹھ گولہِ چلاونہٕ وِزِ اے آیی ایس ایف رہنُما موجود ٲسۍ۔ فیڈریشنَن کٔر کوتھاری کمیشن کٮ۪ن تٲلیٖمی اصلاحاتن منٛز تہِ پنُن حصہٕ، تہٕ 1980 کِس دہلِس منٛز ستیہ پال ڈانگ سٕنٛزِ قیادتَس منٛز کٔر کینٛژو رُکنو خالصتانی دہشت گردَن خلاف مزاحمت کرنہٕ خٲطرٕ مسلح تربِیت، یَتھ منٛز واریاہ کارکُن مارٕ یا زخمی گٔیہِ۔ از چھُ اے آیی ایس ایف کیرالہ، بہار، مغربی بنگال، تہٕ تمل ناڈو ہِوین ریاستن منٛز مضبوٗط موجودگی برقرار تھاوان، یُس قومی پٮ۪ٹھٕ ادارٕ جاتی سطحس تام أکِس کثیر سطحی ڈھانچہٕ کہِ ذٔریعہٕ منظم چھُ کرنہٕ آمُت، یُس امکہِ نصب العین "مطالعہٕ تہٕ جدوجہد" (1958 منٛز اختیار کرنہٕ آمُت، اصلی "آزٲدی، امن تہٕ ترقی" ہٕنٛز جاے رٹنہٕ آمُت)۔ حالَے ؤرۍیَن منٛز کوٚر أمۍ قومی تعلیٖمی پالیسی، یوٗنیورسٹی فیسَس منٛز ہُریر، تہٕ شہریت ترمیمی ایکٹَس خلاف احتجاج، کووِڈ-19 ریلیف مدد فراہم کٔرمٕژ، تہٕ امتحانَن ہٕنٛز بےٚ قٲعدگی تہٕ سکوٗلَن ہٕنٛز نجکاری ہِوین مسلَن پیٹھ مہم چلٲومٕژ۔ أمۍ چھُ ہندو علامتی تناعضَن پٮ۪ٹھ تہِ عوٲمی موقفٕ اختیار کوٚرمُت، خاص طور پٲٹھۍ 2025 ہَس منٛز کیرالہَس منٛز {{Nowrap|بھارت}} ماتا ہٕنٛز تصویر ہاونَس پٮ۪ٹھ حُکامن سۭتۍ ٹکراو، تہٕ چھُ ایل جی بی ٹی حقوقن پیٹھ سرگرم، یَتھ منٛز رُکُن نادیرا مہرین کیرالہ یونیورسٹی تہٕ ایس ایس یوٗ یَس منٛز طٲلبہِ عٔلمہِ یونین ہٕنٛدِس انتخابَس منٛز گۄڈٕنِچ ٹرانس جینڈر وۄمیدوار بنییہِ۔ قیادتَس منٛز حالَے تبدیلیہِ تام بنیوو ویٖراج دیوانگ جوٗن 2024 ہَس منٛز قومی صدٕر، ییٚلہِ زَن دنیش سری رانٛگراج چھُ 2023 ہَس منٛز بیگوسرائے منٛز مُنعقد گژھن واجنہِ 30 ہِمہِ قومی کانفرنسہِ پتہٕ جنرل سیکرٹری سٕنٛدِ حثیتہٕ کٲم کران۔ ==حَوالہٕ== [[زٲژ:سِیٲسَي تنظیٖم]] cpwnj7q5rvro9oo8p9wmazagvi0s0ku 146377 146376 2026-07-30T11:35:00Z آیات محراج 11062 /* */ 146377 wikitext text/x-wiki {{Infobox organisation/Wikidata}} '''آل اِنٛڈیا سُٹوڈنٹس فیڈریشن''' (اے آے ایس ایف)، یۄس 12 اگست 1936 ہَس منٛز لکھنَوَس منٛز قٲیِم گٔیہِ، چھِ ہندوستانٕچ سارِوٕے کھۄتہٕ پرٛون طٲلبہِ عٔلمہِ تنظیٖم۔ اَمہِ کِس بُنیاد کانفرنسَس منٛز آیہِ 936 وفود شٲمِل تہٕ امِچ افتتاح کٔر [[جَواہَر لال نِہروٗ|جواہر لال نہرون]] تہٕ صدارت کٔر [[محمد علی جناح|محمد علی جناحَن]] تہٕ پریم نارائن بھارگوا آو امیُک گۄڈنیُک جنرل سیکرٹری منتخب کرنہٕ۔<ref>{{cite web|title=History|url=http://aisf.in/history/|archive-url=https://web.archive.org/web/20180610115012/http://aisf.in/history/|archive-date=10 June 2018|access-date=9 March 2019|publisher=All India Students Federation}}</ref> تَمہِ ؤرۍیہِ کِس ٲخٕرَس منٛز لاہورَس منٛز آیہِ دوٚیِم کانفرنسہِ منٛز تنظیمُک ٲییٖن منظور تہٕ کوٚرُکھ یہِ ورلڈ سٹوڈنٹس ایسوسی ایشنَس سۭتۍ وابستہٕ۔ آزٲدی برٛونٛہہ کٮ۪ن ؤرۍ یَن منٛز ٲسۍ اے آیی ایس ایفٕک رُکُن بَڑٮ۪ن قوم پرستن مقصدَن منٛز سرگرم: ہیمو کلانی تہٕ کنکلاتا بروا ہِوۍ رہنُما گٔیہِ آزٲدی ہٕنٛدِس جدوجہدَس منٛز مارٕ، أمۍ جمٲژ کٔر 1943 ہَس منٛز بنگالس منٛز قحطس منٛز اِمداد، تہٕ أمۍ کٔر 1946 ہٕچ رائل انڈین نیوی بغاوتس دوران بحری درجہٕ بندی خٲطرٕ حمایت جمع کرنس منٛز مدد۔ آزٲدی پتہٕ کوٚر اے آیی ایس ایفَن پنُن توجہ تٲلیٖم، سامراجس خٕلاف تہٕ جٲگیردارَس خٕلاف پنُن توجہ تٔعلیٖم، تہٕ حیدرآبادٕک نظامَس خٕلاف تلنگانہ بغاوتس تہٕ گوا چہِ آزٲدی ہٕنٛزِ تحریٖکَس منٛز قٲبلِ ذِکر کِردار ادا کوٚر، ییٚتہِ 1955 ہَس منٛز ستیہ گرہٮ۪ن پٮ۪ٹھ گولہِ چلاونہٕ وِزِ اے آیی ایس ایف رہنُما موجود ٲسۍ۔ فیڈریشنَن کٔر کوتھاری کمیشن کٮ۪ن تٲلیٖمی اصلاحاتن منٛز تہِ پنُن حصہٕ، تہٕ 1980 کِس دہلِس منٛز ستیہ پال ڈانگ سٕنٛزِ قیادتَس منٛز کٔر کینٛژو رُکنو خالصتانی دہشت گردَن خلاف مزاحمت کرنہٕ خٲطرٕ مسلح تربِیت، یَتھ منٛز واریاہ کارکُن مارٕ یا زخمی گٔیہِ۔ از چھُ اے آیی ایس ایف کیرالہ، بہار، مغربی بنگال، تہٕ تمل ناڈو ہِوین ریاستن منٛز مضبوٗط موجودگی برقرار تھاوان، یُس قومی پٮ۪ٹھٕ ادارٕ جاتی سطحس تام أکِس کثیر سطحی ڈھانچہٕ کہِ ذٔریعہٕ منظم چھُ کرنہٕ آمُت، یُس امکہِ نصب العین "مطالعہٕ تہٕ جدوجہد" (1958 منٛز اختیار کرنہٕ آمُت، اصلی "آزٲدی، امن تہٕ ترقی" ہٕنٛز جاے رٹنہٕ آمُت)۔ حالَے ؤرۍیَن منٛز کوٚر أمۍ قومی تعلیٖمی پالیسی، یوٗنیورسٹی فیسَس منٛز ہُریر، تہٕ شہریت ترمیمی ایکٹَس خلاف احتجاج، کووِڈ-19 ریلیف مدد فراہم کٔرمٕژ، تہٕ امتحانَن ہٕنٛز بےٚ قٲعدگی تہٕ سکوٗلَن ہٕنٛز نجکاری ہِوین مسلَن پیٹھ مہم چلٲومٕژ۔ أمۍ چھُ ہندو علامتی تناعضَن پٮ۪ٹھ تہِ عوٲمی موقفٕ اختیار کوٚرمُت، خاص طور پٲٹھۍ 2025 ہَس منٛز کیرالہَس منٛز {{Nowrap|بھارت}} ماتا ہٕنٛز تصویر ہاونَس پٮ۪ٹھ حُکامن سۭتۍ ٹکراو، تہٕ چھُ ایل جی بی ٹی حقوقن پیٹھ سرگرم، یَتھ منٛز رُکُن نادیرا مہرین کیرالہ یونیورسٹی تہٕ ایس ایس یوٗ یَس منٛز طٲلبہِ عٔلمہِ یونین ہٕنٛدِس انتخابَس منٛز گۄڈٕنِچ ٹرانس جینڈر وۄمیدوار بنییہِ۔ قیادتَس منٛز حالَے تبدیلیہِ تام بنیوو ویٖراج دیوانگ جوٗن 2024 ہَس منٛز قومی صدٕر، ییٚلہِ زَن دنیش سری رانٛگراج چھُ 2023 ہَس منٛز بیگوسرائے منٛز مُنعقد گژھن واجنہِ 30 ہِمہِ قومی کانفرنسہِ پتہٕ جنرل سیکرٹری سٕنٛدِ حثیتہٕ کٲم کران۔ ==حَوالہٕ== [[زٲژ:سِیٲسَي تنظیٖم]] fu7wc3ih1jr2wraezomqf5kfje3yddk جیریٚڈ لیٹو 0 31931 146379 2026-07-30T11:45:54Z آیات محراج 11062 "[[:en:Special:Redirect/revision/1366806831|Jared Leto]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت 146379 wikitext text/x-wiki '''جیریٚڈ جوزف لیٹو''' (/{{IPAc-en|ˈ|l|ɛ|t|oʊ}}/{{respell|LET|oh}}) چھُ اکھ امریکی اداکار تہٕ موسیقار۔ مختلف کردار منٛز اداکٲری ہنٛد طریقہٕ خٲطرٕ چھُ زاننہٕ یوان، تیمس چھ ترٛیٚن دہاین پیٹھ پھٔہلِتھ پیشورانہٕ زندگی منٛز مختلف تعٲریٖفہٕ ملیمٕتۍ، بشمول اکیڈمی ایوارڈ تہٕ گولڈن گلوب<ref name="CFI">{{ویب حَوالہٕ|last=Whitham|first=Alexis|title=Fantastic Transformations|url=http://www.mvff.com/jared-leto-editorial/|url-status=dead|archive-url=https://web.archive.org/web/20140202164421/http://www.mvff.com/jared-leto-editorial/|archive-date=February 2, 2014|access-date=January 24, 2014|website=[[Mill Valley Film Festival]]|publisher=[[California Film Institute]]}}</ref> 8xi0a0yfvvxvb7f33j0cs930w70vxos 146380 146379 2026-07-30T11:47:06Z آیات محراج 11062 +[[زٲژ:اَمریٖکی اداکار]]; +[[زٲژ:اَمریٖکی لوٗکھ]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ 146380 wikitext text/x-wiki {{Infobox person ca/catalan}} '''جیریٚڈ جوزف لیٹو''' (/{{IPAc-en|ˈ|l|ɛ|t|oʊ}}/{{respell|LET|oh}}) چھُ اکھ امریکی اداکار تہٕ موسیقار۔ مختلف کردار منٛز اداکٲری ہنٛد طریقہٕ خٲطرٕ چھُ زاننہٕ یوان، تیمس چھ ترٛیٚن دہاین پیٹھ پھٔہلِتھ پیشورانہٕ زندگی منٛز مختلف تعٲریٖفہٕ ملیمٕتۍ، بشمول اکیڈمی ایوارڈ تہٕ گولڈن گلوب<ref name="CFI">{{ویب حَوالہٕ|last=Whitham|first=Alexis|title=Fantastic Transformations|url=http://www.mvff.com/jared-leto-editorial/|url-status=dead|archive-url=https://web.archive.org/web/20140202164421/http://www.mvff.com/jared-leto-editorial/|archive-date=February 2, 2014|access-date=January 24, 2014|website=[[Mill Valley Film Festival]]|publisher=[[California Film Institute]]}}</ref> ==حَوالہٕ== [[زٲژ:اَمریٖکی اداکار]] [[زٲژ:اَمریٖکی لوٗکھ]] tkfntg8n89seoc7g32b78qj41rk8hdv 146381 146380 2026-07-30T11:48:03Z آیات محراج 11062 /* */ 146381 wikitext text/x-wiki {{Infobox person ca/catalan|زؠنہٕ ناو=جیریٚڈ جوزف لیٹو}} '''جیریٚڈ جوزف لیٹو''' (/{{IPAc-en|ˈ|l|ɛ|t|oʊ}}/{{respell|LET|oh}}) چھُ اکھ امریکی اداکار تہٕ موسیقار۔ مختلف کردار منٛز اداکٲری ہنٛد طریقہٕ خٲطرٕ چھُ زاننہٕ یوان، تیمس چھ ترٛیٚن دہاین پیٹھ پھٔہلِتھ پیشورانہٕ زندگی منٛز مختلف تعٲریٖفہٕ ملیمٕتۍ، بشمول اکیڈمی ایوارڈ تہٕ گولڈن گلوب<ref name="CFI">{{ویب حَوالہٕ|last=Whitham|first=Alexis|title=Fantastic Transformations|url=http://www.mvff.com/jared-leto-editorial/|url-status=dead|archive-url=https://web.archive.org/web/20140202164421/http://www.mvff.com/jared-leto-editorial/|archive-date=February 2, 2014|access-date=January 24, 2014|website=[[Mill Valley Film Festival]]|publisher=[[California Film Institute]]}}</ref> ==حَوالہٕ== [[زٲژ:اَمریٖکی اداکار]] [[زٲژ:اَمریٖکی لوٗکھ]] lns8t1bwytn7h7sir299jmqxprcdwvw